Announcing Plexus — Simplex-driven autonomous development

Simplex

Simplex is a specification for describing work that autonomous agents will perform. It captures what needs to be done and how to know when it's done, without prescribing how to do it.

Simplex is optimized for high-fidelity interpretation by large language models.

“The words or the language, as they are written or spoken, do not seem to play any role in my mechanism of thought.”

Albert Einstein

The Specification Gap

A growing number of AI startups are creating new programming languages optimized for LLM code generation. The premise is reasonable: LLMs make syntax errors and struggle with operator precedence, so cleaner languages with unambiguous syntax should help.

LLMs already handle syntax well, having seen billions of lines of code in every language, so the premise addresses a problem that largely does not exist. What LLMs struggle with is understanding intent, constraints, and edge cases, and a new language with cleaner syntax addresses the easy part while leaving the hard part, specification, entirely in natural language prompts.

The bottleneck is specification, not code generation: expressing what we want clearly enough for autonomous systems to act on without interactive clarification.


Five Pillars

Pillar 1
Enforced Simplicity

Simplex refuses to support constructs that would allow specifications to become unwieldy. If something cannot be expressed simply, it must be decomposed into smaller pieces first. The constraint is deliberate: complexity that resists decomposition is complexity that is not yet understood.

Pillar 2
Syntactic Tolerance, Semantic Precision

Simplex allows for formatting inconsistencies, typos, and notational variations; agents interpret what you meant rather than what you typed. The meaning itself, however, must be unambiguous; if an agent would have to guess your intent, the specification is invalid regardless of how cleanly it is formatted.

Pillar 3
Testability

Every function requires examples that serve as contracts, not illustrations: they define what correct output looks like for given inputs, and an agent's work is not complete until its output is consistent with them.

Pillar 4
Completeness

A valid specification must contain everything an agent needs to generate working code without further clarification. No back-and-forth, no "what did you mean by X?" This is what distinguishes Simplex from a prompting approach.

Pillar 5
Implementation Autonomy

Simplex describes behavior and constraints without prescribing implementation. Algorithms, data structures, and technology choices belong to agents. If a spec needs persistent storage, it says so, but whether that becomes a graph database, file system, or something else is entirely the agent's concern.

What Simplex Is

Simplex is a specification language for autonomous agents that describes work rather than workers: the structure of a task, its constraints, and the criteria for completion.

The language has no formal grammar. It uses landmarks (structural markers like FUNCTION, RULES, DONE_WHEN, and EXAMPLES) that LLMs recognize and interpret directly. Syntax is forgiving; meaning must be precise.

simplex
FUNCTION: filter_policies(policies, ids, tags) → filtered list

RULES:
  - if neither ids nor tags provided, return all policies
  - if only ids provided, return policies matching those IDs
  - if only tags provided, return policies with at least one matching tag
  - if both provided, return union of matches, deduplicated

DONE_WHEN:
  - returned list contains exactly the policies matching criteria
  - no duplicates in returned list

EXAMPLES:
  ([p1, p2, p3], none, none) → [p1, p2, p3]
  ([p1, p2, p3], [p1.id], none) → [p1]
  ([p1, p2, p3], none, [python]) → matches with tag
  ([p1, p2, p3], [p1.id], [python]) → union

ERRORS:
  - policy ID not found → fail with "unknown policy ID: {id}"
  - any unhandled condition → fail with descriptive message

Why This Matters

Autonomous agent workflows are maturing. Agents now work for extended periods, sometimes hours or days, developing applications, iterating on solutions, evaluating versions among themselves, and producing release candidates. These kinds of workflows need instructions that are complete enough to act on yet flexible enough to allow emergent problem-solving.

Simplex is designed for this context: a human writes a specification that agents interpret, decompose, and execute autonomously. The specification serves as the contract between human intent and machine action.

The implication is that how humans express what they want built may prove more consequential than how LLMs generate code. A specification designed for human authors, one that captures intent precisely enough for autonomous agents to act on, addresses the side of the problem that new programming languages leave untouched.


Further Reading