Субагенты

Что такое субагенты

Субагенты — это специализированные ИИ-агенты, которых основной агент может вызывать для выполнения отдельных подзадач. Вместо решения всей задачи в одном контексте работа делегируется агенту, оптимизированному под конкретную роль.

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

Основные особенности

Изолированный контекст

Каждый субагент работает в собственном контекстном окне.

Он не имеет доступа к:

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

Это снижает размер контекста, уменьшает стоимость инференса и помогает избежать случайного использования нерелевантной информации.

Явная передача данных

Основной агент самостоятельно определяет, какие данные необходимо передать субагенту.

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

Такой подход соответствует принципу минимально необходимого контекста (Minimum Required Context).

Специализация

Каждый субагент может иметь собственные:

  • системный промпт;
  • инструкции;
  • роль;
  • описание;
  • знания;
  • примеры работы;
  • параметры модели.

Например:

  • architect;
  • reviewer;
  • code generator;
  • test writer;
  • documentation writer;
  • security reviewer.

Отдельный набор инструментов

Для каждого субагента можно определить собственные:

  • tools;
  • серверы MCP;
  • skills;
  • разрешения;
  • доступ к файловой системе;
  • доступ к сети;
  • доступ к терминалу.

Субагент использует только те инструменты, которые ему разрешены.

Независимое выполнение

Субагент выполняет задачу автономно.

Он не изменяет состояние основного агента напрямую, а возвращает:

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

Основной агент самостоятельно принимает решение, как использовать полученный результат.

Параллельная работа

Несколько субагентов могут работать одновременно.

Например:

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

Это позволяет значительно ускорять выполнение сложных задач.

Использование разных моделей

Для различных субагентов можно использовать разные LLM.

Например:

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

Это позволяет оптимизировать стоимость и скорость выполнения задач.

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

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

Это уменьшает риски при работе с репозиториями, инфраструктурой и корпоративными данными.

Повторное использование

Субагенты являются переиспользуемыми компонентами.

Один и тот же субагент может использоваться:

  • различными агентами;
  • в разных проектах;
  • в разных сценариях выполнения.

Преимущества использования

Использование субагентов позволяет:

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