Что такое agent harness: обвязка, которая делает AI полезным
Agent harness — всё, что окружает AI-модель и превращает её в рабочего агента. Разбираем компоненты, примеры и отличие от framework.
TL;DR: Agent harness — это вся инфраструктура вокруг AI-модели, которая превращает её в рабочего агента. Промпты, инструменты, память, песочница, оркестрация. Если убрать harness, останется модель, которая умеет только принимать текст и выдавать текст.
Термин harness мелькает в документации Claude Code, в блогах OpenAI про Codex, в описании MiniMax M2.7. При этом нормального русскоязычного определения я так и не нашёл. Попробую закрыть этот пробел.
Формула простая: Agent = Model + Harness. Эту формулировку используют в LangChain: если ты не модель, ты harness. Всё, что не является весами нейросети (код, конфигурация, логика выполнения), это и есть harness. На русском ближайший перевод «обвязка» или «оснастка», но в индустрии используют английский термин.
Из чего состоит agent harness
Компоненты варьируются от продукта к продукту, но набор примерно такой:
| Компонент | Что делает | Пример |
|---|---|---|
| Системный промпт | Задаёт роль, правила, ограничения | CLAUDE.md, AGENTS.md |
| Инструменты | Позволяют взаимодействовать с миром | Bash, Read, Edit, MCP-серверы |
| Файловая система | Даёт рабочее пространство и хранение | Чтение кода, запись результатов, git |
| Песочница | Безопасное выполнение кода | Docker-контейнер, sandboxed shell |
| Память | Сохраняет знания между сессиями | Memory-файлы, persistent context |
| Оркестрация | Управляет субагентами и потоками | Agent Teams, параллельные воркеры |
| Хуки | Детерминированные проверки на каждом шаге | Lint после коммита, тесты после правки |
Модель сама по себе умеет принимать токены и генерировать токены. Она не может выполнить код, прочитать файл, запомнить что-то между разговорами или открыть браузер. Всё это делает harness.
Пример: Claude Code как harness
Claude Code — типичный harness вокруг модели Claude. Модель через него получает доступ к файловой системе проекта, может выполнять bash-команды, запускать тесты, ставить зависимости. При старте в контекст загружаются CLAUDE.md и memory-файлы (это память). Есть набор инструментов (Read, Edit, Grep, MCP-серверы), хуки для автоматических проверок и субагенты для параллельных задач.
Без всего этого Claude — чат-бот. С harness он может сам разобраться в проекте, написать код, прогнать тесты и создать пулл-реквест. Разница огромная, хотя модель та же самая.
Agent harness vs framework vs scaffold
Эти три термина часто путают. Harrison Chase из LangChain предложил автомобильную аналогию: framework как шасси, runtime как двигатель, harness как навигация и электроника.
| Framework | Harness | |
|---|---|---|
| Что это | Библиотека, набор абстракций | Готовая система вокруг конкретной модели |
| Аналогия | Набор инструментов в гараже | Собранный автомобиль |
| Примеры | LangChain, CrewAI, AutoGen | Claude Code, Codex CLI, OpenClaw |
| Кто собирает | Разработчик | Поставщик (или разработчик из framework) |
Scaffold — по сути синоним harness. Некоторые компании (Anthropic, OpenAI) используют scaffold, другие (LangChain, MiniMax) говорят harness. Смысл один: инфраструктура вокруг модели.
Где применяется
- Кодинг-агенты (Claude Code, Codex, Cursor): harness определяет, какие файлы агент видит, как редактирует код, как запускает тесты
- Офисные агенты (OpenClaw, Cowork): harness подключает календарь, почту, документы и задаёт правила взаимодействия
- Исследовательские агенты, как в MiniMax M2.7: harness включает data-пайплайны, тренировочные окружения и мониторинг экспериментов
- Self-evolving агенты: harness, который модель может сама модифицировать и улучшать
FAQ
Можно ли сделать harness без фреймворка? Да. Harness можно собрать из обычного кода: while-loop, вызовы API модели, инструменты, файловая система. Framework ускоряет сборку, но не обязателен.
Влияет ли harness на качество работы агента? Сильно. На Terminal Bench 2.0 одна и та же модель Opus 4.6 показывает разные результаты в разных harness. Оптимизация harness может быть важнее выбора модели.
Что такое harness engineering? Новая дисциплина, которая занимается проектированием harness: какие инструменты дать модели, как управлять контекстом, как настроить петли обратной связи. OpenAI выпустили отдельный гайд по теме.
Чем harness отличается от промпт-инжиниринга? Промпт-инжиниринг фокусируется на тексте, который получает модель. Harness engineering охватывает всё остальное: инструменты, окружение, память, оркестрацию, верификацию. Промпт — часть harness, но далеко не весь harness.
Что ещё почитать
- 3 паттерна воркфлоу AI-агентов — архитектурные паттерны, которые реализуются внутри harness
- Субагенты в Codex: настраиваем AI-команду — пример оркестрации как компонента harness
- Память AI-агентов: контекст, RAG, графы и mem0 — глубокое погружение в один из компонентов harness
- MiniMax M2.7: модель, которая сама себя обучала — пример self-evolving harness на практике