Bill Cox Builds an AI Coding Agent That Writes Its Own Textbook

I Use Development-Driven Specs, Not Spec-Driven Development

Ensemble is a coding agent built from The Art of Building AI Coding Agents, Bill Cox's executable teaching book—and Edition 3 was built by Edition 2 running that same book. Cox argues for "development-driven specs" over spec-driven development: pair-program with the AI, record why each decision was made, then write the chapter from those notes. A fresh agent must reconstruct the implementation from the chapter and graders alone, proving the teaching actually transfers.

The code is an output; the reusable asset is the knowledge needed to build it again.
  1. dromologist

    My everyday work is with a very legacy framework, and I've noticed that for the best results, I end up smacking on so many skills, additional tools, and so on to the agent, that at this point it's a harness specifically designed for this project.

    While this was the result of necessity, I think it helps a ton to have the harness fit your specific dev experience, like an IDE full of the specific plugins you'd want - just not an ide, because ides are OVER.

  2. WaywardGeek

    This results in an executable specification: give it to an AI coding agent like Ensemble, and it will execute the specification autonomously, creating a new version of the code. This works perfectly when I create new versions of Ensemble by executing "The Art of Building AI Coding Agents". I've never seen a more successful specification.

    You have to build the spec as you build the code. The processes cannot be separated. I do the usual up-front design conversation with the AI, and then ask it to write just the TL;DR and exercises sections of the next chapter. After that, I pair-program with the AI to implement it, following the TL;DR, writing notes as we go to clarify what was unclear, steering the AI in real time towards my design.

    Once the new code passes all the exercise graders, only then do I ask the AI to read the notes, voice.md file, and write the body of the chapter. Then, I have it launch a student to see if it can write the code purely from the chapter and graders.

    At the end of this process, I'm the expert, and I don't even need to review the code.

    Code is simply the result of executing the right specification. Just another artifact of the compiler.

    Stop vibe-coding. Become the expert by pair-programming with the AI as you build to code, and then build the specs from what you did to build the code. Don’t document the code to build. Document the process, lessons learned, and why you built it this way. You can’t do that up-front.

    If you don’t know how to pair-pr […]

  3. ozlikethewizard

    "The book that builds an AI coding agent. The agent that builds the next edition."

    Really?

More from this day

2026-11-08