Harness engineering is a methodology for designing structural constraints—such as prompts, tool definitions, and CI/CD pipelines—to prevent AI agents from malfunctioning.
Harness Engineering refers to a methodology for designing structural constraints—such as prompts, tool definitions, and CI/CD pipelines—to prevent AI agents from malfunctioning. The term "harness" derives from horse tack (equipment used to control a horse), conveying the concept of safely controlling powerful energy. As AI agents have become capable of autonomously executing tasks in recent years, how to design the "structures that control" their capabilities has emerged as a central challenge determining the reliability of the overall system. ## Why Harness Engineering Is Needed Now [AI agents](slug: ai-agent) perform actions with real-world consequences—such as operating external APIs, reading and writing files, and executing code—through [tool calls (Function Calling)](slug: function-calling) and [multi-agent systems](slug: multi-agent-system). If traditional [prompt engineering](slug: prompt-engineering) is a technique that optimizes *how* to communicate with a model, then Harness Engineering is a technique that designs the structure itself of *what to permit and what to prohibit*. The more autonomously an agent operates, the greater the risks of [hallucination](slug: hallucination) and [prompt injection](slug: prompt-injection). These are not problems that can be addressed with a single prompt revision; constraints must be embedded at the level of system architecture. ## Components of Harness Engineering Harness Engineering consists of design spanning multiple layers: - **Constraint design for prompt structure**: Explicitly describing behavioral norms, prohibitions, and escalation conditions in the system prompt to define the "frame" within which the agent makes decisions - **Scope restriction for tool definitions**: Minimizing the permissions of tools passed to the agent and physically eliminating unnecessary operation pathways - **Integration into CI/CD pipelines**: Building mechanisms that route code and outputs generated by the agent through automated validation gates such as [unit tests](slug: unit-test), [E2E tests](slug: e2e-test), and [acceptance tests](slug: acceptance-test) - **Design of human oversight loops**: Incorporating concepts such as [HITL (Human-in-the-Loop)](slug: hitl) and [On the Loop](slug: on-the-loop) to establish flows that require human approval for high-risk decisions - **Implementation of [AI Guardrails](slug: ai-guardrails)**: Deploying output filtering and input validation in multiple layers ## Implementation Philosophy Whereas [context engineering](slug: context-engineering) optimizes the quality and quantity of information passed to an LLM, Harness Engineering is the work of drawing the boundary between what an agent *can* and *cannot* do. It has strong affinity with the [Shift Left](slug: shift-left) philosophy—rather than fixing problems after they occur, risks are eliminated proactively by embedding constraints at the design stage. When operating a coding agent such as [Claude Code](slug: claude-code) in a production environment, explicitly defining policies—such as which directories to permit access to and which commands to prohibit from executing—represents a typical practice of Harness Engineering. This design philosophy is also indispensable for maintaining alignment with [AI governance](slug: ai-governance) and [OWASP](slug: owasp) security standards. ## Caveats and Limitations Harness Engineering is not a silver bullet. Overly strict constraints undermine the agent's usefulness, while overly loose ones invite unexpected behavior akin to [Shadow AI](slug: shadow-ai). Finding the right balance requires iterative validation through [PoC (Proof of Concept)](slug: poc) and intentional adversarial testing via [AI Red Teaming](slug: ai-red-teaming). The more sophisticated an agent's capabilities become, the more its harness design must continuously evolve to keep pace. This is not a document to be completed once and set aside, but rather an engineering asset that should be treated as something continuously improved alongside the operation of the agent.



"On the Loop" is a collaboration mode that focuses on improving the harness (operating environment, constraints, and tools) rather than individual outputs of AI agents, and represents the recommended human position in the practice of harness engineering.

Context Engineering is a technical discipline focused on systematically designing and optimizing the context provided to AI models — including codebase structure, commit history, design intent, and domain knowledge.

HITL (Human-in-the-Loop) is an approach that incorporates into the design a process by which humans review, correct, and approve the outputs of AI systems. Rather than full automation, it establishes human intervention points based on the criticality of decisions, thereby ensuring accuracy and reliability.

Prompt engineering is the practice of designing the structure, phrasing, and context of input text (prompts) in order to elicit desired outputs from LLMs (Large Language Models).

An evaluation method that systematically tests AI system vulnerabilities from an attacker's perspective to proactively identify safety risks.