ToolGrad от Google Research: генерация данных для tool-use с точностью 99.8%
Чтобы LLM научился надёжно вызывать инструменты, нужны датасеты с парами «запрос — цепочка вызовов». Традиционные пайплайны (например, ToolBench и ToolACE) действуют по схеме query-first: сначала придумывают запрос, а потом DFS-агент пытается найти подходящую цепочку вызовов API. Поиск часто заходит в тупик: вычисления тратятся впустую, а сэмпл выбрасывается. На ToolBench такой подход даёт лишь 63.8% успешных прохождений.
ToolGrad работает наоборот: сначала реально выполняет API и строит верифицированную цепочку вызовов, а затем генерирует под неё пользовательский запрос. Каждая итерация состоит из четырёх модулей: API Proposer отбирает кандидатов из набора API, API Executors запускает их параллельно и собирает отчёты, API Selector выбирает лучший вызов (его направленная обратная связь и есть «текстовый градиент»), а LLM Updater переписывает синтетический запрос и ответ под обновлённый набор. По умолчанию цикл повторяется 10 раз на 50 API — на выходе получается один готовый сэмпл.
В тестах на базе ToolBench (16 000+ реальных API) pass rate вырос с 63.8% до 99.8%. Цепочки стали длиннее: 3.4 реальных вызова на сэмпл против 2.1 ранее, при этом число шагов сократилось с 34.3 до 20.0, а число обращений к LLM почти не изменилось (63.9 против 64.5). Дообученные на 500 таких сэмплах модели Gemma-3 (1B, 4B и 12B) показали в Berkeley Function Calling Leaderboard результаты уровня фронтирных проприетарных моделей. Код опубликован под Apache-2.0, датасет ToolGrad-500 и модели выложены на Hugging Face, также доступен PyPI-пакет.