Thoughtworks Distinguished Engineer Birgitta Böckeler explores how developers can build trust in AI coding agents by designing an effective “outer harness.” In this context, an agent is defined as the Model + Harness, with the harness encompassing all the surrounding tooling and logic that guides the model’s output.

To reduce manual review toil and increase system quality, a well-built harness utilizes a “steering loop” of feedforward and feedback controls:

  1. Guides (Feedforward): These anticipate behavior to steer the agent before it acts (e.g., system prompts, coding conventions, AGENTS.md), increasing the chance of correct first-attempt results.
  2. Sensors (Feedback): These observe the output after the agent acts, enabling self-correction (e.g., custom linters or tests that provide error messages optimized for LLM consumption).

Böckeler categorizes these controls by their execution type:

  • Computational: Deterministic, fast CPU-run tools like linters, type checkers, and structural tests.
  • Inferential: Probabilistic, slower GPU-run semantic analyses, like an “LLM as judge” for code reviews.

The article breaks down harness regulation into three domains. First, the maintainability harness governs internal code quality (duplicate code, complexity) using existing computational tools. Second, the architecture fitness harness ensures non-functional requirements (like performance or observability) are met. Finally, the behaviour harness checks functional correctness. This last category remains the most challenging, as it currently relies heavily on AI-generated tests, which are not yet fully trustworthy without human oversight.

Böckeler also introduces the idea of “harness templates” for common application topologies, similar to existing service templates. Ultimately, she emphasizes that a harness cannot fully replace human intuition, aesthetic judgment, or organizational memory. Instead, harness engineering aims to externalize developer experience, directing human input only to where it is most critically needed.