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

Что такое GAP по сути
Идея проста. Агент применяет метод GAP (Graph-Based Agent Planning): разбивает вопрос на атомарные подзадачи (например, найти нужный отель в интернете или проверить факт) и создает ориентированный ациклический граф с зависимостями между ними.
Граф планирования разбивается на уровни с помощью топологической сортировки. Все подзадачи на одном уровне независимы, поэтому для их параллельного исполнения запускаются отдельные поисковые запросы, вызовы инструментов и субагенты. После чего все результаты на каждом уровне собираются воедино. А в финале агент формирует финальный краткий ответ для пользователя.
В итоге: меньше шагов, меньше токенов, ниже требования к контексту. Агент не только решает задачу, но и явно обосновывает свое виденье плана задачи для пользователя, используя специальную разметку описывающую граф решения.
Как обучают таких агентов
Обучающая воронка состоит из двух этапов. Первый этап - SFT на синтетических сценариях с графовым планированием. Для этого авторы собрали около 7000 сценариев (отбирали посложнее случаи, следили за балансом случаев с параллелизмом/без и ограничивали длину сценариев), использовали модель Qwen2.5-3B-Instruct.
Второй этап - дообучение с подкреплением на реальных задачах. Почему это важно? SFT хорошо учит копировать сценарии, но не оптимизирует агентов действовать эффективно. В режиме RL агент сам генерирует планы на свои вопросы и получает награду за корректный финальный ответ. На таких задачах агент учится шире использовать параллелизм, где это полезно, и сокращать длину сценариев и удерживаемый контекст там, где это неопасно. Это похоже на оптимизацию сценариев с вниманием к зависимостям - не вызывать лишний инструмент, если это не влияет на награду.
Что показали тесты
Агента тестировали на 7 наборах: от NQ и TriviaQA до сложных HotpotQA, 2Wiki, Musique. Важно не только сможет ли он отвечать, но и за какое число шагов, с какой задержкой и с каким количеством используемых токенов.
На сложных бенчмарках GAP заметно опережает сильные бэйзлайны, основанные на ReAct. Средний прирост точности около 1%, при лучшей стоимости. Например, на HotpotQA агент делает 1.78 шагов в среднем против 2.27 для лучшего бэйзлайна (снижение среднего времени отвеа от 248 до 168 секунд). На 2Wiki среднее число шагов падает от 3.05 до 2.03 (время ответа от 262 до 206 секунд). Ответы перестают слишком раздуваться: минус 25% длины на HotpotQA, минус 20% на 2Wiki (меньше токенов - ниже стоимость).

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

Почему это важно
Ключевое достижение в явных зависимостях между шагами задачи. Это простая на вид, но важная абстракция, которая основывается на понимании моделью контекста задачи - какие части запроса независимы, а какие связаны. Такой сценарий хорошо масштабируется под параллельные вызовы инструментов и агентов - и всё еще оставляет единый оркестратор в виде LLM, принимающий решение, без явной мультиагентной системы.
Минусы: эти зависимости нужно уметь правильно извлекать. Ошибка приведет к пустым или избыточным вызовам, или наоборот к преждевременному параллелизму, где это опасно. Авторы учат этому в явном виде на рабочих сценариях и через RL, но чувствительность к содержащемуся в сценариях знанию и списку инструментов сохраняется. Кроме того, выигрыши заметнее на задачах с явной древовидной структурой, на простых вопросах — чуть скромнее.
Выводы
Внедрение механизмов обработки подцелей улучшает способность агентов справляться со сложными задачами. Однако существующие подходы к поиску для агентов, основанных на LLM, реализуют обработку подцелей с использованием вызова инструментов, что обеспечивает только последовательное выполнение нескольких подцелей.
В этой работе исследователи показали, что явное моделирование зависимостей между подцелями в форме графа позволяет эффективно распараллеливать их обработку, сокращая число шагов и снижая накладные расходы, что улучшает производительность агентов.
В экспериментах GAP значительно превосходит существующих агентов, благодаря более эффективному планированию и использованию параллелизма. Таким образом, GAP демонстрирует шаг к следующему поколению автономных агентов — не просто реагирующих на среду, а выстраивающих и оптимизирующих собственную стратегию мышления в виде вычислимого графа рассуждений.
***
Если вам интересна тема ИИ, подписывайтесь на мой Telegram-канал — там я регулярно делюсь инсайтами по внедрению ИИ в бизнес, запуску ИИ-стартапов и объясняю, как работают все эти ИИ-чудеса.
denis-aka-wolf
Разбить задачу на подзадачи и выполнять независимые шаги параллельно - звучит очень здраво. Особенно понравилось, что остаётся один режиссер вместо зоопарка агентов. Было бы классно увидеть живой пример до и после по времени а так-же стоимости на простой задаче. Жду продолжение!