Module 10 · Modules 10–17

Specifications and co-evolution spiral

The deliverable of human work.

10

The module carries two joined ideas. The first is that in agentic engineering, code is the agent’s output but the specification is the human’s: a precise document that gives the agent enough information to make autonomous decisions correctly, so that the human does not need to intervene at every step. A feature list is something different. The second is that the specification is never final. Requirements emerge from attempted solutions, so the specification written before a build is the first turn of a spiral, revised under contact with reality, rather than a contract fixed in advance. Writing a specification and running the rhythm that revises it are the same discipline seen at two time-scales.

The formal benchmark behind a complete specification is the five-criteria definition of an algorithm Donald Knuth set out in The Art of Computer Programming: finiteness, definiteness, input, output, effectiveness. A natural-language briefing cannot reach the precision of a formal algorithm. The trade-off in agentic engineering is to give up some formal precision in exchange for the ability to describe higher-level intent. The practical components below are aimed at the same five properties, and a briefing that ignores them is a wish, not a specification.

A complete specification contains the goal and its business rationale (so the agent can make better micro-decisions when the path is ambiguous), success criteria that are verifiable and not aspirational, architectural guidance that gives the agent strategic direction without dictating implementation steps, a validation approach that defines how correctness will be checked, and known pitfalls that an experienced developer would warn a colleague about.

Categories of specification gap map to categories of agent failure. Missing success criteria produce agents that terminate when the code runs rather than when it works. Missing business rationale produces agents that solve the literal problem in ways that violate the intent. Missing architectural guidance produces agents that choose structurally correct but contextually wrong approaches. The reverse-interview methodology is the practical technique: prompting the agent to ask questions until it has enough information to write the specification itself.

The specification produced for any task is a starting point, not a final commitment. This is the empiricist position seeded in Module 6. Rationalism holds that careful thought can yield a flawless design before any code is written; empiricism holds that humans are fallible and that iteration is structurally necessary. Brooks lands empiricist, and ASE pushes further still, because the agent itself behaves empirically and must be tested rather than reasoned about. The Lufthansa Flight 2904 case carries the empirical weight. The code followed the spec exactly. The spec was a correct description of normal landing and a wrong description of reality. People died. No proof, no spec, no formal method can validate the original objectives against reality; only contact with reality can.

The co-evolution model from Maher and from Cross and Dorst follows. Problem space and solution space evolve together rather than in sequence, with each step of the spiral revealing something about what was actually wanted. Brooks’s house example grounds the claim: a proposed design must be rejected before the underlying requirements become visible. In ASE every prompt-build cycle is one step of co-evolution, and the chat transcript is the literal mechanism by which problem and solution find each other. The spiral shape comes from Boehm, with Brooks’s contracting points as the practical refinement. Inside each turn the work runs fast and loose; between turns, intent is pinned down at named moments. The architectural contracting analogy carries the same idea: the client writes a program rather than a specification, the architect provides services rather than a product, conceptual designs serve as prototypes, and only at the end of the design process is a fixed-price construction contract signed.

A related tension is the one Donald Knuth named in the title of his life’s work. The apparent dichotomy is between programming as creative art and programming as mathematical science. Knuth refused to choose, treating the formal and the aesthetic as complementary rather than opposed. The curriculum’s structure-versus-flow tension is the same tension in a new vocabulary: structure is what makes flow sustainable as engineering, and flow is what keeps structure from becoming bureaucracy.

The mechanics of one turn are the practical core. A turn consists of intent revision (drawing on Module 6 and the specification components above), context update (Module 11), safety positioning (Module 12), the build itself, verification (Module 13), and review (Module 16). Multi-agent decomposition (Modules 14 and 15) and security posture (Module 17) enter as the additional dimensions that shape how the turn is structured. A project consists of many turns, and the discipline is to do each turn well.

Two judgment skills complete the module. The commit point is the decision at the end of each turn about what to lock, what goes back into the spec, and what remains open: lock too much too early and the empiricist position is sacrificed to false certainty; lock too little too late and the project never converges. Drift detection is the skill of recognising when the spiral is failing: turns that repeat without progress, scope that expands without milestone, intent that drifts from the original goal. Each signal has a matching intervention, and the full project arc closes the material, from inception to stable maintenance and on to ongoing operations.

Mikael Alemu Gorsky

Mikael Alemu Gorsky is an educator and researcher, and the author of two programs: Agentic Software Engineering, on building software with AI agents, and Building Cognified Systems, on building software that thinks.

He teaches at the Holon Institute of Technology, near Tel Aviv, where Agentic Software Engineering runs as a graded course. He is an educator and researcher.

Nine published works, 100+ citations. A 350-page textbook under contract with a major academic publisher.

Teaching and programs

Agentic Software Engineering — program, preprint and textbook

The discipline of structured, auditable human-agent workflows for building software. The human frames, specifies and judges. The agent executes. Nineteen modules in four parts, built on a running project called Tribunal, a web application in which agents argue opposing sides of a case and a judge agent decides. Taught for credit at the Holon Institute of Technology.

Agentic Software Engineering curriculum

Building Cognified Systems — program, paper and book in writing

How to build systems that hold a language model as a working component, and treat that component as what it is: stochastic, slow and metered. Fourteen modules in four parts, about seventy hours. The running project is the Observatory, a news agency that watches sources, selects what matters and publishes on a cadence.

Research and analytics

Publications — journals and proceedings

Nine works, 100+ citations. Research on artificial intelligence in education, with Ilya Levin and Alexei Semenov.

The AI Pravda — LinkedIn newsletter

Critical analysis of artificial intelligence and its effect on work and society. 5,500+ subscribers. The complete archive of 103 issues (2023–2026) is published in full at mgorsky.net/theaipravda.

Subscribe to The AI Pravda on LinkedIn

Pro bono

AI for seniors — free workshop

Helping older adults use everyday AI tools. Delivered to Russian-speaking communities in Israel.

For older adults, artificial intelligence is about preserving quality of life, maintaining autonomy, and sustaining the feeling of independence that defines dignified aging. For seniors who have emigrated, AI becomes a bridge: it can translate documents, explain official letters, help compose emails in the local language, and guide users through government websites. The workshop has been delivered to Russian-speaking communities in Israel, where participants — many of them in their 70s and 80s — discovered that AI could help them read Hebrew documents and communicate with Israeli institutions.

Startup competitions — unpaid time

Judging and mentoring early-stage ventures. Helping teams clarify their value proposition, assess technical feasibility, and prepare for the realities of scaling an AI product.

AC/VC LinkedIn group — community

A group for developers and students working with coding agents. The community shares practical insights, code examples, tool comparisons, and honest assessments of what works in production.

Join the AC/VC LinkedIn group

Recent

Important Links