Что такое 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.

Что ещё почитать