AI agent harness: как спроектировать надежный runtime
Практический гайд по AI agent harness: execution loop, tools, sandbox, durable state, context assembly, permissions, checkpoints, evals, observability и recovery.
Содержание статьи
- 01Короткий ответ: harness — это управляемый runtime вокруг модели
- 02Минимальная архитектура: session, loop, tools, sandbox и state
- 03Долгим задачам нужны checkpoints, а не иллюзия безграничной памяти
- 04Authority и side effects проверяются вне модели
- 05Evaluation: тестируйте harness как систему, а не только финальный ответ
- 06Как выбрать, упростить и развернуть harness
Короткий ответ: harness — это управляемый runtime вокруг модели
AI agent harness — это программный контур, который многократно вызывает модель, собирает контекст, маршрутизирует tool calls, сохраняет состояние и решает, когда run нужно продолжить, остановить, восстановить или передать человеку. Модель предлагает следующий шаг, но harness владеет execution loop и средой. Именно здесь находятся deadlines, лимиты шагов, permissions, sandbox, retries, checkpoints, tracing и проверка terminal outcome.
Не стоит использовать этот термин как модное название для одного system prompt или SDK wrapper. Prompt engineering настраивает инструкции; context engineering отбирает информацию для конкретного model call; planner предлагает путь; framework дает abstractions; harness связывает эти части с реальным runtime contract. Один продукт может поставлять готовый harness, другой — primitives для собственного, но бренд модели не определяет надежность всей системы.
- Model → предлагает ответ или tool call в пределах видимого контекста.
- Harness → управляет loop, state, tools, budgets, isolation и recovery.
- Application policy → определяет authority, approvals и допустимый outcome.
- Environment → выполняет команды и хранит authoritative artifacts.
Минимальная архитектура: session, loop, tools, sandbox и state
Production baseline требует пяти отдельных контрактов. Session — append-only журнал событий с correlation ID. Loop собирает input, вызывает модель, валидирует response и применяет stop policy. Tool gateway публикует узкий allowlist и повторно проверяет аргументы и права. Sandbox изолирует filesystem, процессы и network destinations. State store хранит task status, artifact references, approvals и postconditions независимо от chat transcript.
Такое разделение позволяет заменять компоненты. Модель или prompt можно обновить без миграции authoritative task state; sandbox можно усилить без переписывания planner; tool implementation можно откатить, сохранив trace. Anthropic описывает session, harness и sandbox как отдельные части managed-agent systems, а OpenAI — model-native harness вместе с sandbox execution. Это first-party описания архитектуры, а не доказательство универсального превосходства конкретного продукта.
- Session log: model calls, tool requests, results, approvals и terminal reason.
- Task state: planned, running, blocked, awaiting-approval, completed или failed.
- Artifact store: versioned outputs, checksums, provenance и owner.
- Sandbox policy: mounts, secrets, network egress, resource limits и cleanup.
- Control plane: budgets, kill switch, concurrency, resume и reconciliation.
Долгим задачам нужны checkpoints, а не иллюзия безграничной памяти
Long-running agent проходит через context windows, restarts и approval waits. Compaction помогает уместить историю, но не заменяет durable state. Checkpoint должен содержать task version, выполненные acceptance criteria, проверенные artifacts, открытые риски, pending approvals, последние authoritative postconditions и один конкретный next step. Новый session начинает с проверки environment и state, а не с доверия к оптимистичному summary предыдущей модели.
Anthropic в исследовании long-running harness использовала feature list, progress artifact, version control и базовую end-to-end проверку перед следующим изменением. Переносимый принцип — не имя файла, а handoff protocol: работа разбивается на завершаемые slices, статус подтверждается тестом, а следующий worker получает короткий проверяемый пакет. Для support или research таким пакетом могут быть case state, evidence ledger и незавершенное действие, а не git commit.
Evaluation: тестируйте harness как систему, а не только финальный ответ
Golden tasks должны проверять outcome и trajectory. Детерминированные graders подтверждают schema, filesystem diff, API postcondition, budget и запрещенные events. Model grader может оценить качество открытого artifact, но не заменяет проверку permissions или фактического side effect. Human review нужен для неоднозначной полезности и material risk. Критическое policy violation нельзя усреднять с хорошим стилем ответа.
Failure suite должна включать context exhaustion, corrupted checkpoint, duplicate delivery, lost tool response, partial commit, revoked credential, stale branch, unavailable dependency, prompt injection в retrieved content и агента, который объявляет completion до прохождения acceptance test. Сравнивайте не только task success, но verified progress per run, unnecessary tool calls, recovery success, reviewer minutes, wall-clock time и cost per accepted outcome на одном corpus. Vendor-reported experiments не являются вашим baseline.
Как выбрать, упростить и развернуть harness
Начните с bounded read-only задачи, для которой уже есть baseline детерминированного workflow. Добавьте один model loop, два-три distinct tools, explicit terminal states, task state вне transcript и полный trace. Затем введите restart fixture, corrupted-state fixture и canary на малом сегменте. Multi-agent planner-generator-evaluator, длинные автономные loops или write authority добавляйте только тогда, когда более простой harness измеримо не проходит зафиксированные task slices.
Harness кодирует предположения о слабых местах текущей модели, поэтому каждый workaround должен иметь owner, eval и review date. После model или tool upgrade проведите ablation: нужны ли еще отдельный planner, принудительный context reset, избыточные critique loops или большой prompt? Rollback возвращает совместимый комплект loop policy, tool versions и checkpoint schema; active writes сначала проходят reconciliation. Лучший harness — не самый большой, а минимальный контур, который доказуемо завершает ваши задачи в заданных границах.
- Define → outcome, authority, environment и terminal states.
- Instrument → session events, state transitions, budgets и artifacts.
- Evaluate → success, policy, recovery, efficiency и human acceptance.
- Canary → read-only, bounded concurrency, kill switch и on-call owner.
- Simplify → регулярно удаляйте scaffolding, который больше не дает измеримого gain.
Практические примеры
Harness для миграции небольшого сервиса
Initializer фиксирует acceptance criteria, команды запуска и feature checklist. Каждый run берет один slice, работает в изолированной branch и sandbox, запускает tests, записывает artifact hash и обновляет checkpoint только после PASS. Merge, secrets и production deploy остаются за отдельным approval workflow; после restart агент сначала сверяет repository state с checkpoint.
Harness для evidence brief без write authority
Research agent получает allowlisted search и document-read tools, хранит claim ledger вне transcript и завершается только после coverage gate. Если источник недоступен или противоречив, state переходит в blocked. Harness может возобновить поиск из checkpoint, но не имеет credentials для отправки отчета клиенту или изменения внешней системы.
FAQ
Чем AI agent harness отличается от agent framework?
Framework дает abstractions и библиотеки; harness — конкретный runtime-контур с loop, tools, environment, state, permissions, budgets, evals и recovery для вашей системы. Framework может быть его частью.
Нужен ли multi-agent harness для долгой задачи?
Не обязательно. Сначала проверьте single-agent loop с durable state, checkpoints и внешними tests. Добавляйте специализированные роли только для измеренной проблемы в planning, generation или evaluation.
Достаточно ли compaction для работы через много context windows?
Нет. Compaction сжимает model context, но не является authoritative state. Нужны versioned checkpoints, artifact references, acceptance status и recovery-проверка после нового session.
Что является минимальным production gate?
Репрезентативный eval set, ноль критических authority violations, проверенные restart и reconciliation, bounded resources, observable terminal states, kill switch, owner и совместимый rollback path.
Связанные материалы
Практический guide по оценке траекторий AI-агента: trace contract, tool calls, permissions, retries, side effects, graders, taxonomy и release gate.
Human-in-the-loop для AIПрактическая production-архитектура человеческого контроля: человек подключается в конкретной точке риска и получает достаточно контекста для реального, а не формального контроля. Материал охватывает контракты, границы полномочий, failure modes, оценивание и контролируемый rollout.
Источники
- Anthropic — Effective harnesses for long-running agentsофициальный
- Anthropic — Scaling Managed Agents: Decoupling the brain from the handsофициальный
- Anthropic — Harness design for long-running application developmentофициальный
- OpenAI — The next evolution of the Agents SDKофициальный
- OpenAI — Practices for Governing Agentic AI Systemsпервичный