What Is Harness Engineering: A Design Approach for Using AI Consistently in Projects
The Problem with Using AI Continuously in a Project
Using AI to answer one-off questions is quite different from integrating it into an ongoing project. The challenges that surface are different too.
When I started using AI continuously in a project, the same situations kept repeating. When I asked AI in a new conversation to do something it had handled the previous week, it implemented the same task in a different way. When I told it to follow certain rules once, it did not follow them in the next conversation. This is not a matter of AI capability. AI simply does not retain memory across conversations.
To address this, I developed and formalized a design approach I call Harness Engineering while building this site.
Where the Name Comes From
A harness is the equipment used to guide and control a horse, directing its energy toward the intended purpose. I use the same word here because the idea is similar: rather than treating AI as a simple question-and-answer tool, I design a system of settings, rules, and procedures that keeps AI moving in the right direction for the project.
The goal is not to change AI itself. It is to arrange what AI refers to so that its behavior stays consistent with the project’s intent across all sessions.
Three Layers
Harness Engineering is organized into three main layers.
1. Project Configuration (CLAUDE.md)
This is the file AI reads first when starting work on the project. It contains the fundamental policies: what AI must not do, what the directory structure looks like, and which commands are permitted. Think of it as the orientation document handed to a new team member.
2. Rules and Skills (shared/ directory)
This is a collection of files covering procedures and constraints for specific types of work. Examples include how to write content, how to deploy, and how to conduct a review. Think of it as the operations manual. AI refers to the relevant file for each task.
3. Lessons Log (lessons.md)
This file records problems that occurred during AI sessions and how they were resolved. Because AI does not retain memory across conversations, the same problem can recur. By having AI read the lessons log at the start of a session, I provide context about past problems so they are less likely to repeat.
No Programming Knowledge Required
Every component of a harness is a plain Markdown text file. Programming knowledge is not required to design one. If you can describe the rules you want AI to follow, the things it must not do, and the steps you want it to take, you can design a harness.
Without this design in place, each new conversation requires re-explaining the same rules, and AI’s decisions vary from one session to the next.
Summary
Harness Engineering is a design approach for using AI not just as a one-off assistant, but as a consistent participant in an ongoing project. By establishing three layers—a configuration file, a set of rules and skills, and a lessons log—I keep AI’s behavior aligned with the project’s intent across sessions. Later articles on this site cover how to design each layer in detail.