Субагенты¶
Субагент — это временный помощник, которого основной агент может запустить в фоне для самостоятельного решения подзадачи. Каждый субагент работает в собственном изолированном контексте, параллельно с основным диалогом, а готовый результат автоматически возвращается агенту.
Проще всего представить это так: основной агент — руководитель, который не отвлекается от основной работы, а субагенты — помощники, каждый из которых занят изучением своего вопроса.
Зачем нужны субагенты¶
Когда задача объёмная, агенту приходится много читать: файлы, структуру проекта, документацию. Если делать это последовательно, основная работа приостанавливается, а контекст диалога заполняется промежуточными результатами.
Субагенты решают обе проблемы:
- исследования идут параллельно с основной работой агента;
- в основной диалог попадает только итоговый результат, а не вся промежуточная переписка.
Типичные сценарии:
- изучить несколько независимых модулей проекта одновременно;
- собрать информацию по вопросу, пока агент продолжает редактирование;
- сравнить несколько подходов, не засоряя основной диалог;
- проверить гипотезу по коду, не прерывая реализацию.
Как это работает¶
Агент сам решает, когда завести субагента, — обычно тогда, когда для ответа или следующего шага нужна информация, которую можно собрать независимо. Вы можете повлиять на поведение агента формулировками: например, попросить изучить несколько вариантов параллельно или вернуть только выводы, — а готовую роль запустить напрямую (см. Роли субагентов).
Субагент получает:
- описание задачи — короткую метку для интерфейса и истории;
- полный текст задачи — самостоятельный промпт со всеми деталями, потому что субагент не видит переписку основной сессии.
После запуска задача уходит в фон: по умолчанию агент дожидается завершения всех запущенных субагентов и получает их результаты разом, а готовый отчёт приходит в основной диалог автоматически. В продуктах есть настройка, которая разрешает агенту продолжать работу, не дожидаясь субагентов: тогда результаты приходят по мере готовности.
Ключевые свойства субагентов:
- Изолированный контекст. Субагент — отдельная сессия со своей историей. Он не видит переписку родительской сессии и получает только текст задачи.
- Фоновая работа. Пока субагент занят исследованием, вы можете продолжать общение; по умолчанию сам агент дожидается завершения всех запущенных субагентов, но это поведение настраивается.
- Ограниченный набор инструментов. По умолчанию субагенту доступны только «читающие» инструменты: чтение файлов, поиск по коду и структуре проекта, загрузка страниц.
- Защита от зависаний. Работа задачи ограничена по числу шагов и по времени; зависшую задачу можно продлить или отменить.
Роли субагентов¶
Помимо универсального субагента-исследователя, можно описывать собственные роли — именованные наборы инструкций и ограничений в Markdown-файлах. Роль подсказывает агенту, как выполнять задачу: например, «проверяющий кода» смотрит изменения на баги и регрессии, а «искатель по документации» ищет ответы только в справочных материалах.
Роль может также сузить набор доступных инструментов и закрепить за собой отдельную модель. Роли хранятся рядом с проектом или глобально, а агент выбирает подходящую сам — либо вы можете запустить роль напрямую.
Безопасность¶
Субагенты по умолчанию работают только на чтение и не могут менять файлы или выполнять команды. Набор инструментов, модель и другие ограничения настраиваются, поэтому вы сами определяете, что разрешено субагентам в вашем проекте.
Помните:
- разрешённые действия выполняются субагентом без отдельных подтверждений;
- изменения вносятся прямо в текущий проект — без песочницы и отката;
- для чувствительных задач оставляйте субагентам только «читающие» инструменты.
Где доступно¶
Субагентность поддерживается в продуктах Koda, но настраивается по-разному: где-то есть отдельная вкладка настроек, где-то — ключи конфигурации.
Набор базовых принципов — изолированный контекст, фоновая работа, лимиты и защита от зависаний — общий для всех продуктов, поэтому навык работы с субагентами переносится между ними.