Последний год все обсуждают, как научить агентов уверенно работать с инструментами: бронировать билеты, уточнять статус доставки, проверять баланс, собирать ответы из нескольких API. Затык один и тот же: не хватает реалистичных, разнообразных траекторий, где агент последовательно вызывает функции, видит отклики и меняет состояние мира. Новое исследование предлагает неожиданный ход — нарастить не только данные, но и сами среды, в которых агент учится действовать. И делает это полностью в симуляции, с четкой проверкой каждого шага.

Почему вызов инструментов буксует

Function calling кажется простой задачей, пока не начинаешь масштабировать. Реальные API нестабильны и дороги, а LLM-симуляции склонны к галлюцинациям. В результате модели слабеют на длинных сценариях, ошибаются в выборе инструмента и параметров, а главное — редко видят достаточное разнообразие ситуаций. Исследователи ставят акцент на расширении окружений и собирают опыт не из готовых логов, а из полностью воспроизводимых диалогов агента с миром.

Как они строят мир для агента

Идея простая: любой вызов инструмента — это чтение или запись в базу данных, заданную для домена. Значит, можно представить инструменты как код, который корректно меняет состояние такой БД.

Дальше — дело техники:

  • Сначала собирают большой пул из десятков тысяч инструментов (более 30 тысяч), чистят спецификации, нормализуют входы и выходы.

  • Строят граф совместимости: какие инструменты могут идти друг за другом по типам параметров. Кластеризация этого графа даёт сотни доменов — от ритейла до авиаперевозок и телекомов.

  • Для каждого домена материализуют схему БД и обертывают инструменты в исполняемый код чтения/записи.

  • Задачи генерируются как поход по графу зависимостей с реальным исполнением и отслеживанием эволюции базы. Завершают строгой верификацией: финальное состояние БД и точность последовательности вызовов.

Обзор автоматического построения среды и конструирования агентных задач.
Обзор автоматического построения среды и конструирования агентных задач.

Как это выглядит в работе

Агент взаимодействует с симулированным пользователем и вызывает инструменты.

Если где-то он оступился, но смог исправиться и прийти к правильному состоянию базы, такой опыт не выбрасывается — это делает модель устойчивее.

Перед обучением проходит воронка фильтров: корректность диалога, совпадение финального состояния БД и точное соответствие последовательности функций там, где это критично.

Агент взаимодействует с симулированным пользователем и изменяет состояние среды с помощью сгенерированных функций.
Агент взаимодействует с симулированным пользователем и изменяет состояние среды с помощью сгенерированных функций.

Как учат агента

Обучение состоит из двух фаз. Сначала модель осваивает базовые вещи: как задавать параметры, как чередовать шаги с пользователем и инструментами, как читать отклики. Затем — доменная доводка на вертикалях: аккуратный выбор инструментов в нужном порядке, корректная параметризация, связные ответы пользователю.

Важно, что оптимизируют только токены вызовов инструментов и финальных ответов ассистента; пользовательские реплики и ответы инструментов остаются в контексте, но не участвуют в лоссе. Это фокусирует модель ровно на том, что делает её агентом, а не болтуном.

Что получилось на бенчмарках

Семейство AgentScaler на основе Qwen3 — три модели: 4B, 8B и 30B-A3B. На τ-bench, τ2-bench и ACEBench они демонстрируют впечатляющий рост по сравнению с открытыми аналогами того же размера. Для ориентира: AgentScaler‑30B‑A3B показывает 70/54 на τ-bench, 70.2/60/55.3 на τ2-bench и 76.7/82.7/60/75.7 на ACEBench‑en (Normal/Special/Agent/Overall). Даже 4B‑модель уверенно конкурирует с 30B‑базовыми системами — хороший знак в пользу компактных LLM.

Сравнение производительности на поднаборах Normal, Agent и Overall набора ACEBench-en для моделей двухэтапного обучения.
Сравнение производительности на поднаборах Normal, Agent и Overall набора ACEBench-en для моделей двухэтапного обучения.

Отдельно интересно поведение pass^k на τ2‑bench: AgentScaler‑30B‑A3B стабильно выше исходного Qwen3‑30B‑A3B при любом k, хотя общее падение с ростом k подчёркивает старую проблему стабильности выбора.

Результаты метрики Pass^k по всем доменам в бенчмарке τ^2.
Результаты метрики Pass^k по всем доменам в бенчмарке τ^2.

Что не так и что ещё предстоит сделать

Самая заметная слабость — длинные цепочки инструментов: с ростом числа шагов точность ощутимо падает. Это не сюрприз: долгосрочные зависимости, неустойчивые обратные связи и необходимость планирования пока тяжело даются многим LLM. Авторы честно фиксируют проблему long‑horizon и видят путь вперёд через RL в той же симулируемой среде.

Точность в зависимости от числа вызовов инструментов на бенчмарке τ-bench.
Точность в зависимости от числа вызовов инструментов на бенчмарке τ-bench.

Большинство подходов полагаются на синтетические диалоги, ручные сценарии или нестрогое исполнение. Здесь новизна в трёх вещах: масштабируемое конструирование доменов из графа инструментов, приведение инструментов к коду с проверяемыми изменениями состояния и фильтрация данных по фактическому изменению мира. В сумме это даёт более чистый и разнообразный опыт для обучения, что и отражается на метриках, включая OOD‑тесты на ACEBench‑zh.

В плане у исследователей включить RL поверх уже готовой симуляции, расширить модальности и проверить перенос на ещё более крупные модели. Но уже сейчас важно другое: аккуратно построенная среда и фокус на верных действиях дают шанс компактным моделям уверенно действовать в качестве агентов. Это полезно и для продакшена, и для периферийных приложений, где счёт идёт на миллисекунды и ватты.

? Полная статья

? Код

***

Если вам интересна тема ИИ, подписывайтесь на мой Telegram‑канал — там я регулярно делюсь инсайтами по внедрению ИИ в бизнес, запуску ИИ-стартапов и объясняю, как работают все эти ИИ-чудеса.

Комментарии (0)