Skip to main content

Субагенты и параллельная работа

Субагент — специализированный агент, которому основной агент передаёт отдельную часть большой задачи. Один субагент может исследовать проект, другой — изменить код, третий — написать тесты или независимо проверить результат.

Субагенты в меню Veai

Когда используются субагенты

Субагентов могут подключать режимы General и Orchestrator.

РежимКак работаетКогда выбирать
GeneralВыполняет простые задачи сам и может подключить субагентов, если задача разрастаетсяКогда заранее непонятно, сколько ролей потребуется
OrchestratorСам не редактирует файлы и не запускает инструменты напрямую, а распределяет работу между субагентамиКогда большая задача изначально требует исследования, плана, реализации, тестов и ревью

Для подзадач используются специализированные режимы:

СубагентОсновное назначение
AskИсследование проекта и ответы без изменения файлов
CodeИзменение кода и файлов
TestСоздание и доработка тестов
ReviewНезависимая проверка без основных инструментов редактирования файлов; строгая read-only гарантия отсутствует
PlanПлан с подзадачами и критериями приёмки
DebugПроверка гипотез через отладчик IDE

Полный набор инструментов и ограничения режимов приведены в матрице функциональности.

Последовательная и параллельная работа

Основной агент может передавать подзадачи последовательно, если результат одного шага нужен следующему. Например: сначала изучить код, затем составить план, после этого изменить реализацию и только потом провести ревью.

Независимые подзадачи можно выполнять параллельно. В документации профилей моделей приведены два сценария:

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

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

Контекст субагента

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

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

Инструменты и безопасность

Доступ субагента к инструментам определяется его режимом. Например, Ask и Review работают только на чтение, а Code может менять файлы. Orchestrator сам не выполняет такие действия, но может поручить их субагенту с подходящими возможностями.

Пользовательские режимы позволяют явно задать набор инструментов и Skills для конкретной роли. Общие ограничения проекта продолжают иметь значение: для файлов используйте Edit Scope, .readignore и .writeignore, а доступ к действиям проверяйте в меню Tools.

Не считайте работу безопасной только потому, что её выполняет субагент. Перед задачей с правками задайте границы, а после завершения просмотрите общий diff в Agent Changes.

Как выбирается модель

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

Настройки профилей субагентов

Встроенные профили:

ПрофильДля каких задач предназначен
fastБыстрое чтение файлов, простой поиск и краткое изучение проекта
balancedОбычный анализ и рутинная генерация тестов
strongСложная архитектура, нетривиальные изменения, глубокое ревью и трудная отладка

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

Как поставить большую задачу

  1. Опишите общий результат и ограничения.
  2. Укажите, какие части можно выполнять независимо, а какие зависят друг от друга.
  3. Запретите параллельное изменение одних и тех же файлов.
  4. Назовите проверки и критерии готовности для каждой подзадачи.
  5. Для особо важных решений попросите независимый анализ или Review.
  6. После завершения проверьте итоговые изменения и результаты запусков.

Пример запроса:

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

Связанные страницы