Back to News
RSS feedgithub.com

Ensemble: An Open-Source Book and Agent for Building AI Coding Agents

Summary

Ensemble is an Apache-2.0-licensed book and accompanying Go project that teaches readers to build an AI coding agent through cumulative exercises. The resulting agent provides tools and supervised jobs, streaming command-line and browser interfaces, persistent conversations, skills, memory, a fleet of agents, and an authenticated gateway. The second edition was developed under Bill Cox’s direction with Codex, using a student implementation, comparative review, and revisions to both the teaching material and graders. It reaches the first edition’s final exercise, with Gateway now designated Chapter 26; three earlier chapters were folded into related chapters while retaining their capabilities. The project says Ensemble has handled real coding tasks with GPT-6 Astra at high reasoning, but work to make it an everyday tool for the next edition remains ongoing. Chapter 25 is intentionally a placeholder and the publication does not claim that Ensemble has already produced a third edition. Chapter 24 documents an optional, ungraded workaround for a Codex endpoint and describes its evidence and limitations. The repository separates the current manuscript, application, browser GUI, accepted chapter snapshots, grading tools, evidence, review records, and the historical first edition. Readers can build the CLI or GUI with the Go versions declared by each module and configure a supported model through vendor, model, and API-key variables, while the optional Codex route uses existing sign-in credentials. Revised graders cover Chapters 1–18, 20–23, and 26, run the application against local fake services without paid inference, and keep historical grader failures distinct from revised results. The book includes commands for building the publication and preserves accepted snapshots and historical records. The repository asks contributors to develop in the current agent tree, keep accepted snapshots intact, and treat a fresh implementation as a test of how effectively the instructions teach.