Google открыла исходный код Harness2 — фреймворка для рекурсивного управления агентами
MarkTechPost·6 мин чтения
Google Cloud AI Research представила в открытом доступе Harness². Это рекурсивный фреймворк для управления агентами, который улучшает код и файлы вокруг зафиксированной модели. Для разработчиков идея проста: ваш агент может стать лучше без более совершенной модели.
Кратко
Размер: Фреймворк, а не модель. Обучено 0 параметров; 8 редактируемых компонентов обвязки. Версия 0.1.0.
Запуск: Linux с Python 3.12 или 3.13 и uv. Вызовы моделей выполняются через Vertex AI. Требования к GPU: не раскрываются.
Производительность: 1 шаг доработки улучшил все 4 конфигурации моделей и обвязки на всех 3 бенчмарках.
Лучший результат: GLM-5 в OpenCode выросла с 64,2 до 75,7 на WorkBuddy-Bench (+11,5 пункта).
Худший результат: GLM-5 в Codex получила лишь 1,2 пункта на JobBench (с 23,6 до 24,8).
Что такое Harness²?
Harness² — это подключаемый фреймворк от Google Research, который дорабатывает обвязку агента во время развертывания. Обвязка — это всё, что окружает модель: промпты, инструменты, память, навыки и оркестрация. Управление обвязкой — это процесс оптимизации этой системы. Веса модели никогда не изменяются.
Целевая среда — открытый мир. Задачи поступают без предварительного ознакомления, и ни один верификатор не сообщает, является ли ответ правильным. Исследовательская команда утверждает, что большинство методов самоулучшения предполагают наличие меток или тестовых случаев. Harness² создан для работы без них.
Они охватывают формирование контекста, интерфейс инструментов, делегирование и поведение внутри цикла работы с инструментами. Эта структура расширяет разделение на 7 файлов из более ранней работы Agentic Harness Engineering на 1 компонент.
Как работает рекурсивное управление агентом?
Фреймворк запускает два связанных уровня рекурсии:
Рекурсия на уровне задачи использует контрастивный этап «Предложить, проверить, объединить». Сначала агент один раз выполняет задачу с базовой обвязкой. Затем редактор предлагает 2 кандидата. Инвариантный кандидат нацелен на общие сбои агента, такие как планирование или использование инструментов. Предметный кандидат нацелен на знания и процедуры, относящиеся к текущей области. Оба кандидата выполняются на одной и той же задаче. Компоновщик сравнивает их траектории с эталонной и сохраняет только те изменения, которые подтверждаются наблюдаемым поведением.
Рекурсия на уровне управления обвязкой происходит после каждой задачи. Рефлектор сохраняет принятую обвязку и файл EXPERIENCE.md с выводами. Эта библиотека направляет будущие предложения. Каждая новая задача по-прежнему начинается с базовой обвязки.
Бюджет k масштабирует поиск. Параллельный режим проверяет k инвариантных и k предметных кандидатов, а затем выполняет k объединений. Последовательный режим объединяет k шагов доработки в цепочку.
Исследовательская команда протестировала 3 профессиональных бенчмарка: WorkBuddy-Bench, JobBench и LAB от Harvey. В качестве исполнителей использовались Gemini 3.5 Flash и GLM-5 в OpenCode и Codex. Редактором по умолчанию была Claude Opus 4.8. Результаты представляют собой средние значения по 3 запускам.
Более слабые исполнители получили больший прирост. После 1 шага GLM-5 превзошла базовую Gemini 3.5 Flash на WorkBuddy-Bench. Параллельная рекурсия при k=5 подняла результат Gemini в OpenCode до 80,8 на WorkBuddy. На WorkBuddy-Bench в 3 из 4 конфигураций также потребовалось меньше шагов на задачу. Для Gemini в OpenCode показатель снизился с 25,4 до 21,9.
Как это сравнивается с другими методами работы с обвязкой?
Для запусков с моделями нужны Node.js 20+, Google Cloud CLI и проект Vertex AI. Для LAB требуются Pandoc и Poppler. Для WorkBuddy-Bench нужен Docker. По умолчанию используются исполнители OpenCode или Codex с параметром --substrate cx.
Основные выводы
Harness² переписывает обвязку агента во время тестирования; веса остаются зафиксированными.
1 шаг повысил результат GLM-5 на 11,5 пункта на WorkBuddy-Bench.