AI agents fail differently than humans — they don't break builds, they disable failing tests, reuse nearest patterns, and make locally valid but globally wrong decisions. The root cause is underconstrained execution: too much freedom at the point of action. Spec-driven development (SDD) is proposed as a solution: writing durable intent before implementation to constrain what agents can decide on their own. Drawing on protocol engineering (RFCs, TLS, HTML specs) and formal methods (TLA+, Dijkstra), the post argues for a layered model where specs constrain intent, plans constrain approach, tasks constrain sequencing, and tests/lint constrain behavior. Tools like GitHub Spec Kit, Kiro, OpenSpec, and Augment Intent are surveyed. The ideal spec is declarative, layered, and cheap to revise — with mechanical rules pushed into lint and tests rather than prose. The goal: smaller specs, harder checks, less agent guessing.

4m read timeFrom mattrickard.com
Post cover image
2 Comments

Sort: