Работа с coding-агентом обычно строится по простой схеме: разработчик формулирует задачу, передаёт репозиторий, агент читает код, правит файлы, запускает тесты и возвращает результат. В продуктовом репозитории этого мало: агенту нужно определить границы изменения, найти владельца поведения, потребителей контракта и убедиться, что результат соответствует намерению. Автор статьи предлагает проектировать вокруг агента инженерную среду — harness.
Термин harness использует OpenAI в материале Harness engineering. Это репозиторно-локальная инженерная система, которая превращает человеческое намерение в ограниченное, воспроизводимое и проверенное изменение продукта. У такой системы три связанные части. Оркестрационный слой управляет процессом: фиксирует задачу и полномочия, проводит работу через исследование, проектирование, реализацию, проверку и интеграцию. Семантический слой предоставляет модель продукта: владельцев поведения, границы компонентов, пользовательские маршруты, состояние, инварианты и связи между потребителями. Validation-слой устанавливает, к какой версии кода относятся результаты проверок и сохранили ли собранные evidence актуальность; независимый reviewer оценивает смысл результата.
Clean Architecture Роберта Мартина описывает систему, в которой важнее сохранять изменяемость, а не выбирать фреймворки. Мартин разделяет поведение и архитектуру: поведение выглядит срочным, архитектура обычно приносится в жертву. Coding-агенты резко увеличивают скорость производства поведения, но не сохраняют архитектуру автоматически — они могут размножать связанность, копировать неудачные паттерны и добавлять локально правдоподобные решения. Поэтому принципы Clean Architecture нужно применять уровнем выше: проектировать и продукт, и систему, которая его изменяет.
OpenAI описывает понятие harness в материале Harness engineering для coding-агентов.
У harness появляются свои предметная область (управляемое изменение продукта), use cases (research, design, implementation, assurance, review, integration) и high-level policy (authority, contracts, permissions, evidence validity, verdicts). Форматы реализации — Markdown, JSON, код, база данных, CLI или CI — вторичны; важные знания и решения должны существовать за пределами промпта и истории чата.
Ключевая метрика — стоимость надёжного изменения, а не время запуска, стоимость токенов или размер diff. Эти показатели полезны для эксплуатации, но главная цель harness — сократить объём человеческого внимания, необходимый для получения надёжного изменения. Максимальная автономность агента сама по себе такой цели не гарантирует.

