Мой блог
Как устроена обвязка (harness) AI-агентов: опыт Yandex по созданию исследовательского движка «Исследовать»
Создание специализированных режимов глубокого поиска (Deep Research) стало новым главным направлением развития автономных ИИ-систем. Когда задача требует не просто односложного ответа, а построения комплексного плана, составления десятков поисковых запросов, парсинга веб-страниц со сложным скриптовым содержимым и анализа загруженных файлов, классических языковых моделей уже недостаточно. Для решения таких задач создаются агентные архитектуры.
В этом материале мы детально разберем опыт команды Yandex, создавшей режим «Исследовать» для Алисы AI. Вы узнаете, почему разработчикам пришлось полностью отказаться от первого рабочего прототипа, как грамотная обвязка (harness) вокруг языковой модели способна поднять качество работы на десятки процентных пунктов, а также каким образом оптимизация архитектуры позволила снизить расходы на GPU в 6,6 раза без потери точности.











От поиска в рассуждениях — к полноценному агенту
Эволюция алгоритма проходила поэтапно. Все началось весной 2025 года, когда релиз модели DeepSeek-R1 спровоцировал резкий всплеск интереса к логическим рассуждениям (reasoning). В этот период инженеры заложили основу поискового механизма, добавив в систему рассуждений возможность работы с актуальной информацией из глобальной сети.
Рассуждения + поиск
Первоначальное решение представляло собой базовый RAG-пайплайн (Retrieval-Augmentation Generation) с генерацией множественных поисковых запросов. Сама LLM формулировала ключевые фразы, отправляла их в поисковую систему и на основе полученных данных выстраивала итоговый ответ. Несмотря на простоту конструкции, пользователи высоко оценили способность модели давать точные ответы на сложнейшие пользовательские запросы.
Агенты! Агенты!
Следующим шагом стало создание полноценного агентного движка. Концепция многошагового выполнения (multi-turn execution) требовала создания специализированной инфраструктуры. В Алисе AI для этих целей была развернута система ATS (Agent Transport System) и сопутствующий Agent SDK, поддерживающий языки Python, Go и C++.
Создание выделенного инфраструктурного слоя было продиктовано строго необходимыми требованиями:
- Гарантированное исполнение длинных сессий с выполнением до сотни вызовов внешних инструментов (tool-calls);
- Сквозная трассировка процессов и детальное логирование;
- Автоматическое масштабирование и система оповещения о сбоях;
- Отказ от необходимости полного переобучения крупных LLM на ранних этапах в пользу инженерии контекста (context engineering) и вспомогательных микромоделей.
Первый большой фейл: выбрасываем прототип целиком
Первый рабочий прототип исследовательского агента строился на концепции CodeAgent. В этой схеме нейросеть решала задачи путем генерации и исполнения Python-кода. Прототип показал отличные результаты на синтетических бенчмарках (FRAMES — 75, SimpleQA — 81, GAIA — 26), однако столкнулся с фундаментальной проблемой безопасности при переносе в продакшен.

Для выполнения сгенерированного кода требовалась изолированная «песочница». Но поскольку агенту был необходим доступ к открытым внешним API через интернет, песочница выносилась за пределы защищенного внутреннего контура компании. При этом сами рабочие инструменты агента находились внутри сети. Создание проброса вызовов инструментов из внешней среды во внутреннюю создавало недопустимые риски безопасности.

Решение появилось в конце июля 2025 года с выходом открытых моделей с развитой функцией вызова инструментов (function calling). Архитектуру CodeAgent полностью списали, переписав движок на классический цикл вызова функций (function calling loop). Это упростило инфраструктуру, повысило уровень безопасности и превзошло предыдущие показатели точности.
Харнесс и scaffolding
В мире разработки автономных ИИ-агентов ключевую роль играет понятие обвязки (harness). Разработчики выделяют два важных термина:

- Scaffolding («строительные леса») — жестко заданная структура на этапе проектирования (дизайн-тайм): шаблоны системных промптов, фиксированные схемы инструментов и предварительно прописанные шаги.
- Harness (обвязка) — динамический исполняющий движок рантайма: оркестрация, цикл использования инструментов, управление памятью и контекстом, повторные попытки (retries), верификация, изолированная среда и системы наблюдения.
Практика показывает, что средняя модель с качественным harness способна обходить более мощную модель, работающую без эффективной обвязки. Грамотно спроектированный рантайм позволяет повысить метрики точности на 10–30 процентных пунктов на одном и том же базовом алгоритме.

Что в итоге получилось: устройство агента
Итоговая архитектура агента «Исследовать» основана на автономном цикле function calling. Модель сама держит верхнеуровневую стратегию: формирует план исследования, корректирует его по мере получения данных и принимает решение о завершении работы.
Вокруг базовой нейросети работает комплекс вспомогательных систем:

- BERT-классификатор контекста: разбивает входные тексты на смысловые фрагменты по границам предложений и абзацев, а не механически по фиксированному числу токенов, предотвращая потерю смысла;
- Модуль фильтрации сниппетов: промежуточная модель оценивает релевантность поисковой выдачи перед её передачей в основной контекст;
- Мультимодальные обработчики: подключение VLM для анализа изображений, специализированных песочниц для табличных файлов (CSV, XLSX) и RAG-систем для объемных PDF-документов.
Наращиваем обвязку и учимся её срезать
В процессе тестирования инженеры столкнулись с закономерностью, описанной в концепции The Bitter Lesson: методы, масштабируемые вместе с вычислительной мощностью, со временем вытесняют ручные архитектурные надстройки. Всякая обвязка является временной заплаткой на месте текущих ограничений нейросети.

Пример из практики: добавление отдельного инструмента для продвинутых рассуждений (reasoner tool) изначально давало прирост в +5 п.п. на бенчмарках. Однако после обновления базовой модели этот инструмент стал замедлять работу и ухудшать итоговые результаты. В итоге инструмент был полностью удален.

Консенсус современных разработчиков заключается в том, что harness нужно не только наращивать, но и регулярно сокращать, проверяя целесообразность каждого элемента при выходе каждого нового релиза LLM.
Инфраструктура: агент, который думает десять минут
Время выполнения сложного исследования может достигать 10–15 минут. На протяжении этого времени возможны обрывы сетевых соединений, перезапуски серверов или закрытие вкладки браузера пользователем. Для обеспечения отказоустойчивости в ATS были внедрены чекпоинты.

Состояние агента полностью сохраняется после каждого вызванного инструмента. Если серверный узел (под) уходит на обслуживание на 12-й минуте работы, агент автоматически восстанавливает сессию на другом узле с последнего сохраненного шага без потери прогресса.

Главный экзамен: День Победы
Решающим испытанием для архитектуры стал запуск социального сервиса к 9 Мая, помогавшего пользователям искать сведений о родственниках-участниках Великой Отечественной войны в открытых государственных архивах («Память народа», «ОБД Мемориал»). Приток пользователей превысил 100 тысяч человек в первые часы работы, создав колоссальную нагрузку на инфраструктуру GPU. Благодарный отклик пользователей подтвердил высокую надежность и практическую ценность разработанной агентной системы.
Харнесс — это ещё и деньги
Каждый токен, попадающий в контекст, увеличивает потребление GPU-часов. Для оптимизации расходов были реализованы следующие инженерные шаги:

- Передача первичной фильтрации поисковой выдачи легковесному классификатору вместо вызова основной LLM;
- Введение жестких критериев необходимости обращения к внешним инструментам;
- Перевод этапа планирования на оптимизированную компактную модель.
В результате проведенных мероприятий стоимость обработки одного исследовательского запроса снизилась в 6,6 раза за три месяца при сохранении высокого качества ответов.
Цифры: бенчмарки
Эффективность агента «Исследовать» подтверждается регулярными замерами на международных независимых бенчмарках:
- Seal-HARD: многошаговый фактологический поиск, оценивающий точность фактов;
- DeepResearch Bench RACE: комплексная оценка отчета внешним LLM-судьей по критериям глубины, логики и соответствия инструкции;
- Редакторский Side-by-Side (Blind Test): прямое слепое сравнение ответов против системы OpenAI Deep Research, в котором отечественный агент продемонстрировал превосходство в большинстве тестовых сценариев.
Что дальше
Главный вывод разработки заключается в том, что обвязка (harness) критически важна для качества ИИ-продукта, однако она быстро устаревает по мере развития базовых моделей. Ручная перенастройка десятков компонентов под каждый новый релиз LLM требует слишком больших временных затрат.
Следующим этапом станет создание систем автоматической адаптации harness: конвейера, который при получении новой модели будет самостоятельно подбирать промпты, тестировать конфигурации обвязки на бенчмарках и раскатывать оптимальную сборку в продакшен.
Источник: habr.com
