Харнес для LLM

domain: harness · report · 2026-05-30 · confidence: medium

Что внутри. Что такое «харнес», из чего он состоит, почему обвязка часто решает больше, чем выбор модели, и чем это значение термина отличается от второго — «оценочного харнеса». Цифры по бенчмаркам — из practitioner-источников (отмечено), концептуальная рамка — из праймари-постов Anthropic.

Содержание

  1. 1. Два значения слова «harness»
  2. 2. Что такое agentic harness: модель vs обвязка
  3. 3. Из чего состоит (анатомия)
  4. 4. Ядро дизайна — context engineering
  5. 5. Harness effect: тот же вес — разный результат
  6. 6. Тренд 2026: «тонкий harness»
  7. 7. Single vs multi-agent
  8. 8. Второе значение: evaluation harness
  9. 9. Выводы

1. Два значения слова «harness»

Термин многозначен — их легко спутать, но они про разное. Доминирующее в 2025–2026 — первое.

Agentic harness

Софт-обвязка, превращающая «голую» модель в агента: цикл, инструменты, контекст, права.

Claude Code · Codex · Cursor · Devin

Суть: runtime.

Evaluation harness

Фреймворк прогона модели по бенчмаркам и скоринга выводов — ради воспроизводимости.

lm-eval · HELM · SWE-bench

Суть: измерение.

Связаны они через агентные бенчмарки: SWE-bench (eval harness) запускает агента (agentic harness) в Docker — и потому меряет и обвязку, и модель сразу. Это и обнажает «harness effect» (§5).

2. Что такое agentic harness: модель vs обвязка

Harness — вся инфраструктура вокруг LLM, кроме самого рассуждения модели. Голая модель — это stateless-предсказатель следующего токена: у неё нет ни состояния между ходами, ни доступа к внешнему миру. Harness даёт ей «руки, глаза и рабочее место» и закручивает в цикл. Каноничная формула практиков:

Agent = Model + Harness

где Harness = «всё, кроме весов»: системные промпты, retrieval-стратегии, permission model, tool surfaces, memory-файлы (CLAUDE.md / AGENTS.md), hooks, sub-agent topology, feedback loops.

Базовое определение агента (Anthropic, Building Effective Agents): «LLMs using tools based on environmental feedback in a loop». Load-bearing часть — именно «in a loop». Сама Anthropic описывает свой инструмент так: «Claude Code serves as the agentic harness around Claude».

HARNESS — ВСЁ, КРОМЕ ВЕСОВ MODEL reasoning / веса Agent loop Tools / исполнение Sub-agents Permissions / sandbox Verify / error-handling Context / память
Модель — сменный компонент в центре; обвязка остаётся постоянной между апгрейдами модели.

3. Из чего состоит (анатомия)

Каноничный цикл Anthropic: gather context → take action → verify work → repeat.

1 · Gather context retrieval / память 2 · Take action tools / bash / code 3 · Verify work тесты / judge repeat — пока задача не решена
Интеллектуальный корень — ReAct: чередование «Thought → Action → Observation».
КомпонентЧто делает
Agent loopperceive→reason→act; корень — ReAct (рассуждение корректирует план, действия дают feedback из среды)
Tool-callingбез инструментов модель умеет только текст. Harness перехватывает вызов, валидирует, исполняет в изоляции, возвращает очищенный результат — «the model never touches external systems directly»
Context / памятькомпакция, structured note-taking (файлы), sub-agent isolation, just-in-time retrieval — см. §4
System prompt«на правильной высоте»: сильные гибкие эвристики, не хардкод и не лозунги
Оркестрациясуб-агенты с изолированными окнами; 5 паттернов: chaining, routing, parallelization, orchestrator-workers, evaluator-optimizer
Verificationrules-based / visual / LLM-as-judge; ошибки инструментов — как actionable feedback модели
Permissionsрежимы доступа, чекпойнты (откат правок), sandbox исполнения (Docker / VM)

4. Ядро дизайна — context engineering

Anthropic называет это преемником prompt engineering: не «как писать инструкции», а «какая конфигурация контекста вероятнее всего даст нужное поведение». Ключевая идея — контекст это конечный, истощающийся ресурс: attention растёт как n² по токенам, и есть «context rot» — точность падает с ростом числа токенов.

Цель — «right information, not the most»: держать в окне нужное, не максимум.

Четыре техники, которыми harness управляет окном:

Параллель с этим vault'ом. Связка hot.md → index.md → wiki-pages — это ровно «structured note-taking + just-in-time retrieval» как harness-память: курируемый граф вместо сырых чанков (ср. синтез «Naive RAG vs LLM wiki»).

5. Harness effect: тот же вес — разный результат

Центральный эмпирический факт: одна и та же модель показывает резко разные результаты под разными harness'ами. Разброс от обвязки сопоставим или больше, чем от смены модели.

0 50% 100% Terminal-Bench 2.0 · один Opus Cursor 93 Claude Code 77 CORE-Bench · один Opus мин. scaffold 42 полный harness 78 SWE-bench Pro · один Opus 4.5 SEAL 45.9 Cursor 50.2 Augment 51.8 Claude Code 55.4
Синим — выигравшая обвязка в паре. Победитель меняется (Cursor / Claude Code) — значит дело в обвязке, не в одном «лучшем» инструменте.
Провенанс. Эти цифры — из practitioner-блогов (Vaughan / Bustamante / Particula / Morph), цитирующих лидерборды, а не из самих лабов. Брать как well-sourced practitioner claims; confidence: medium.

Почему расходятся — «the wire format is part of the model». Пост-трейнинг вшивает в инстинкты модели конвенции конкретного harness'а: модели OpenAI обучены на patch-формате правок, модели Anthropic — на string-replacement. Любая модель может использовать чужой формат, но это «costs extra reasoning tokens and produces more mistakes». Отсюда вертикальная интеграция: Anthropic co-design'ит Claude Code с пост-трейнингом; Cursor обучил свою модель Composer прямо внутри своего harness'а. Лозунг эпохи — «the model is commodity, the harness is moat».

6. Тренд 2026: «тонкий harness»

Способности мигрируют из обвязки в модель: Anthropic регулярно удаляет шаги планирования из Claude Code, когда новая модель их интернализует; OpenAI вшил компакцию прямо в модель (GPT-5.1-Codex-Max); Vercel выкинул 80% инструментов агента — success rate вырос с 80% до 100%, токены вдвое меньше, латентность 724с → 141с (та же модель).

Важная оговорка. «Тонкий» — это про логику поверх модели, а не про инженерные усилия. Harness-код большой, а команды постоянно переписывают системные промпты и описания инструментов под каждую новую модель. «Harness engineering» — растущая дисциплина, не исчезающая.

7. Single vs multi-agent

Топологический выбор внутри harness'а — жёсткий датированный спор двух лабов (12–13 июня 2025):

Cognition — против

«Actions carry implicit decisions, and conflicting decisions carry bad results». Параллельные суб-агенты делают несовместимые допущения → хрупкость. Рекомендация — single-threaded агент + компрессия контекста.

Anthropic — за

Orchestrator-worker (Opus 4 lead + Sonnet 4 subagents) обыгрывает single-agent Opus 4 на +90.2% на research-задачах. Но: ~15× токенов против чата.

Разрешение (не противоречие, а разные классы задач). Cognition против параллельных писателей, принимающих конфликтующие решения по единому артефакту (код). Anthropic выигрывает на параллельных читателях, собирающих независимую информацию для последующего синтеза. Single-thread → связная сборка; multi-agent → breadth-first ресёрч.

8. Второе значение: evaluation harness

Стандартизированная обвязка, прогоняющая промпты через модель на фиксированных задачах и скорящая выводы. Смысл — воспроизводимость и сравнимость: «evaluation with publicly available prompts ensures reproducibility and comparability between papers».

«Тот же бенчмарк — разные цифры». MMLU даёт разные баллы у Original / HELM / Eleuther из-за форматирования промпта и метода извлечения ответа (вероятности букв vs генерация буквы vs вероятности полных строк). «these are just numbers which are not at all comparable even if they're both labelled 'MMLU score'».

Мост к §5: SWE-bench — это dual evaluation agent harness'а и базовой модели. Именно поэтому одни и те же веса дают разные цифры у разных вендоров — обвязка обычно и есть объяснение.

9. Выводы