Harness Engineering: среда для автономного агента
Хаб по harness-инженерии: среда из пяти слоёв, четыре фазы маршрута задачи, барьеры против конвенций и lessons-ledger как ядро автономности. С интерактивным эксплорером и картой серии — как настроить любой проект так, чтобы кодинг-агент вёл задачу от постановки до пуша почти без надзора.
Harness — это среда, а не промпт
4 фазы: как задача едет от постановки до пуша
Agent Harness — универсальный шаблон
STACK- & AGENT-AGNOSTICДай агенту не только задачу, но и среду, которая его направляет: контракт (что читать), живой план (что не забыть), sensors (что нельзя зашипить), уроки (что не повторять), ритуал закрытия. Каждый шаг либо читает источник правды, либо пишет артефакт. Человек подключается в 4 точках: дать задачу · апрувнуть эскиз · сказать «неправильно» · сказать «коммить».
R-коды в карточках шагов — это правила, которые Claude Code накопил коррекциями по разным проектам; я собрал их в один личный playbook и подключил глобально, поэтому они грузятся в каждую сессию. Расшифровка показана рядом с кодом.
Задача пришла
Одна нить = одна задача; контекст не смешиваем.
Прогулка по флоу: как движется задача
Честно про этот флоу: это не строгая линия. Фаза C — петля; /wrong, эскалация и commit — событийные; условные шаги срабатывают по триггеру и часто пропускаются. Реально принудительны только 🟥-барьеры — остальное держится на дисциплине агента.
Барьеры против конвенций: что реально форсится
🟥 Барьер
- Форсится механически: pre-commit / CI
- Напр. JS/TS: dependency-cruiser, knip, madge, tsc
- Не покрыто? Свой скрипт-проверка
🟦 Конвенция
- Держится на дисциплине агента
- Описана в AGENTS.md, но не проверяется
- Стиль кода, «не переписывай попутно»
🟨 Условный
- Срабатывает только по триггеру
- ExecPlan, worktree, эскалация, /wrong
- Часто и правильно пропускается
Lessons-ledger: коррекции как код
/wrong "<mistake>"
→ normalize:
machine-catchable? → sensor # computational (barrier)
needs judgement? → lessons/<boundary>/ # inferential (nudge)
→ maintain: matured inferential → promote → sensor
health metric = lessons promoted to sensors, NOT notebook sizeКарта серии: 9 фаз rollout
| Фаза | Что | Рецепт |
|---|---|---|
| Вход | Выбор режима: A / B / B+ / C | dev-modes-with-ai — готово ✓ |
| 0 | Аудит существующего проекта: baseline + environment | project-audit — готово ✓ |
| 1 | Контекст-инжиниринг: AGENTS.md, ADR | agents-md-setup — готово ✓ |
| 2 | ExecPlan для многочасовых задач | execplan-long-tasks — готово ✓ |
| 3 | Архитектурные барьеры, строгие типы | architectural-constraints — готово ✓ |
| 5 | Сборка мусора: дрейф, долг | harness-garbage-collection — готово ✓ |
| 5.5 | Lessons-ledger: коррекции как код | lessons-ledger — готово ✓ |
| 6 | Skills: переиспользуемые SKILL.md | agent-skills-library — готово ✓ |
| 7 | Workflow: один тред, worktrees, субагенты | agent-workflow-worktrees — готово ✓ |
| 8 | Тиражирование: template-репо, golden path | harness-template-golden-path — готово ✓ |
| ★ | Инструмент: стек → инструменты, DoD, артефакты | harness-configurator — готово ✓ |
С чего начать: дёшево → спорно
Порядок внедрения (рекомендация)
Результат
Хаб harness-инженерии: понятно, что harness — это среда из пяти слоёв, как задача проходит четыре фазы, почему форсятся только барьеры (а не текст) и как lessons-ledger превращает коррекции в код. Дальше — серия рецептов по фазам rollout и вход через выбор режима разработки.