Большинству полезных агентов не хватает одного: устойчивого и точного function calling. Это не про красивый ответ, а про правильные вызовы инструментов с корректными аргументами и в нужном порядке. Проблема в том, что данных с такими сценариями почти нет, а ручная генерация сценариев хрупкая и плохо масштабируется. Авторы AgentScaler предлагают смотреть шире: если мир агента расширить, появится и разнообразие задач, и богатый опыт. В их подходе любой вызов функции — это операция чтения или записи по общей базе состояния, а инструменты разных доменов объединяются общей схемой данных. Дальше — дело техники: построить много разных миров, научить агента жить и действовать в каждом, и затем собрать общие навыки.

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

Как устроен конвейер сред

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

Далее среда материализуется программно: по описаниям параметров генерируется схема базы данных и код инструментов как операции над этой базой. Так одна и та же идея — инструменты как чтение/запись — превращается в тысячи воспроизводимых, разнородных и проверяемых миров.

Как рождаются задачи и проверяется правильность

Чтобы агент не учился на искусственных диалогах, авторы симулируют полный цикл пользователь–агент–среда. Инициализируется состояние базы, из графа домена отбираются логически согласованные последовательности инструментов, генерируются аргументы, все вызывается и фиксируется эволюция состояния. Верификация строгая: целостность базы, совпадение финального состояния и точный матч последовательности вызовов там, где нет записей. Любопытная деталь: если инструмент дал ошибку, но цель достигнута, сценарий не выбрасывают — это повышает устойчивость модели к шуму реального мира.

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

Чему и как учат модель

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

Что показали эксперименты

Проверяли на τ-bench и τ²-Bench (розница, авиаперевозки, телеком) и на ACEBench-en. Закрытые системы по-прежнему сильны, но AgentScaler при меньших размерах моделей уверенно догоняет и обгоняет открытые аналоги до триллиона параметров. 4B-модель выходит на уровень 30B, а 30B-вариант местами приближается к закрытым решениям и ставит SOTA на упомянутых бенчмарках. Вклад двухэтапного обучения заметен на всех поднаборах ACEBench: стабильный прирост в Normal, Agent и общей метрике.

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

Выносливость и длина цепочек

На τ²-Bench кривая pass^k показывает знакомую картину: чем больше попыток допускается, тем ниже точность, и всё же AgentScaler-30B устойчиво опережает базовый Qwen той же семьи при любом k. Это хороший признак стабильности планирования.

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

Отдельно авторы смотрят на длину цепочек вызова инструментов: точность падает с ростом числа вызовов. Это общее свойство современных LLM и здесь его тоже видно. Длинные планы остаются проблемой.

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

Итог

Существующие подходы либо дорого развертывают реальные API, либо симулируют всё силами LLM, рискуя галлюцинациями. AgentScaler занимает середину: симулированные инструменты работают как код над состоянием, а правильность проверяется изменениями базы. Это даёт и масштаб, и строгость, и снимает значительную долю ручной работы.

Пока без обучения с подкреплением, хотя среда к нему готова. Эксперименты ограничены семейством до 30B параметров; большие модели не проверялись. Главные проблемы — длинные цепочки вызова инструментов и стабильность при повторных попытках. Авторы смотрят в сторону RL, мультимодальности и более тесной связи с продакшеном.

Главная идея проста: расширь мир — поумнеет и агент. Унификация инструментов как операций над общим состоянием, автоматическое построение доменов и двухфазное обучение превращают скудные агентные данные в богатый опыт. Результаты на τ-bench, τ²-Bench и ACEBench подтверждают, что путь масштабирования среды работает и для компактных моделей — а это критично для низкой задержки и развёртывания моделей на устройствах.

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

💾 Код

***

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