Перейти к содержанию

Субагенты

Субагент — это временный помощник, которого основной агент может запустить в фоне для самостоятельного решения подзадачи. Каждый субагент работает в собственном изолированном контексте, параллельно с основным диалогом, а готовый результат автоматически возвращается агенту.

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

Зачем нужны субагенты

Когда задача объёмная, агенту приходится много читать: файлы, структуру проекта, документацию. Если делать это последовательно, основная работа приостанавливается, а контекст диалога заполняется промежуточными результатами.

Субагенты решают обе проблемы:

  • исследования идут параллельно с основной работой агента;
  • в основной диалог попадает только итоговый результат, а не вся промежуточная переписка.

Типичные сценарии:

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

Как это работает

Агент сам решает, когда завести субагента, — обычно тогда, когда для ответа или следующего шага нужна информация, которую можно собрать независимо. Вы можете повлиять на поведение агента формулировками: например, попросить изучить несколько вариантов параллельно или вернуть только выводы, — а готовую роль запустить напрямую (см. Роли субагентов).

Субагент получает:

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

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

Ключевые свойства субагентов:

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

Роли субагентов

Помимо универсального субагента-исследователя, можно описывать собственные роли — именованные наборы инструкций и ограничений в Markdown-файлах. Роль подсказывает агенту, как выполнять задачу: например, «проверяющий кода» смотрит изменения на баги и регрессии, а «искатель по документации» ищет ответы только в справочных материалах.

Роль может также сузить набор доступных инструментов и закрепить за собой отдельную модель. Роли хранятся рядом с проектом или глобально, а агент выбирает подходящую сам — либо вы можете запустить роль напрямую.

Безопасность

Субагенты по умолчанию работают только на чтение и не могут менять файлы или выполнять команды. Набор инструментов, модель и другие ограничения настраиваются, поэтому вы сами определяете, что разрешено субагентам в вашем проекте.

Помните:

  • разрешённые действия выполняются субагентом без отдельных подтверждений;
  • изменения вносятся прямо в текущий проект — без песочницы и отката;
  • для чувствительных задач оставляйте субагентам только «читающие» инструменты.

Где доступно

Субагентность поддерживается в продуктах Koda, но настраивается по-разному: где-то есть отдельная вкладка настроек, где-то — ключи конфигурации.

Набор базовых принципов — изолированный контекст, фоновая работа, лимиты и защита от зависаний — общий для всех продуктов, поэтому навык работы с субагентами переносится между ними.