Харнес агента: что это такое и из чего он состоит
Харнес агента — это всё, что окружает языковую модель в AI-агенте и превращает её в рабочий инструмент: инструкции, инструменты, среда выполнения, состояние между сессиями и петли обратной связи. Агент = Модель + Харнес: модель рассуждает, а харнес даёт ей правила, руки, память и проверку результата.
Определение
Харнес агента (agent harness) — программная обвязка вокруг языковой модели: всё, что не является самой моделью, но влияет на то, как агент работает. Формула: Агент = Модель + Харнес. Модель умеет рассуждать и писать код, а харнес решает, что она видит, чем может действовать, где выполняются команды, что сохраняется между сессиями и как агент узнаёт о своих ошибках.
Пять частей харнеса
- Инструкции — системный промпт и файлы проекта вроде
CLAUDE.mdиAGENTS.md, тематические документы и skills. - Инструменты — выполнение команд в shell, правка файлов, браузер, подключения через MCP.
- Среда — песочница или контейнер, где агент запускает код без риска для продакшена.
- Состояние — файлы плана и прогресса, git-история: память, которая переживает закрытие сессии.
- Обратная связь — тесты, линтеры, проверка типов, хуки, которые возвращают агенту сигнал об ошибке.
Харнес — не один файл с промптом. Длинный AGENTS.md не поможет, если у агента нет доступа к тестам или среда не поднимается. Надёжность определяет самая слабая из пяти частей.
Пример
Агент третью сессию подряд чинит один и тот же баг: после каждого перезапуска он не помнит, что уже пробовал. Кажется, что виновата модель. На деле сломана подсистема состояния. Решение — файл PROGRESS.md, куда агент в конце сессии записывает гипотезы, которые не сработали, и следующий шаг:
## Баг: двойное списание при повторе запроса
Проверено и отвергнуто:
- таймаут HTTP-клиента — не влияет
- гонка в обработчике вебхука — воспроизвести не удалось
Следующий шаг: проверить ключ идемпотентности в payments/service.py
Новая сессия читает файл и сразу продолжает с нужного места. Модель не менялась — изменился харнес.
Коротко
Харнес агента — это инструкции, инструменты, среда, состояние и обратная связь вокруг модели. Именно он определяет, будет ли один и тот же агент работать надёжно или ломаться. Как собирать каждую часть, разобрано на практике в курсе по харнес-инжинирингу.
Частые вопросы
Чем харнес отличается от фреймворка для агентов?
Фреймворк — это библиотека, на которой можно собрать агента. Харнес — конкретная настройка вокруг модели под ваш проект: правила, доступы, среда, тесты и файлы состояния. Готовый агент вроде Claude Code уже содержит базовый харнес, который вы дополняете.
Харнес и промпт — одно и то же?
Нет. Промпт — только часть подсистемы инструкций. Харнес включает ещё инструменты, среду, память между сессиями и проверку результата.
С какой части харнеса начинать?
С обратной связи: дайте агенту команды, которыми он сам проверяет свою работу. Это быстрее всего снижает число ошибок, которые доходят до человека.
Эта тема подробно разобрана с практикой в курсе «Harness Engineering: инженерия надёжности AI-агентов».
Перейти к курсу