Агенты и субагенты

Info

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

Зачем разделять агентов

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

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

Основной агент и субагенты

Основной агент ведет диалог: получает вашу задачу и отвечает вам.

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

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

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

Что доступно на GitVerse

В сессиях основной агент выбирается перед отправкой сообщения. Доступны два встроенных:

Build — агент по умолчанию. Читает и изменяет файлы, выполняет команды, создает коммиты.

Plan — агент исследования и планирования. Читает код, ищет по репозиторию, задает уточняющие вопросы и формирует план, но не изменяет исходные файлы.

Типичный порядок работы:

  1. Выберите Plan и опишите задачу.
  2. Ответьте на уточняющие вопросы.
  3. Проверьте план: указано ли, что остается за рамками работы, и как проверяется результат.
  4. Подтвердите план и продолжите в режиме Build.

Смена агента применяется к следующему сообщению; уже идущая работа не прерывается.

Субагенты доступны те же в сессиях, у GigaCode-разработчика и в AI workflow-сценариях:

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

Собственные агенты

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

Агенты объявляются markdown-файлами в папке .opencode/agent вашего репозитория:

.opencode/
  agent/
    reviewer.md
    migrator.md
---
description: Ревью изменений по чек-листу команды. Используй перед отправкой запроса на слияние.
mode: primary
temperature: 0.2
steps: 30
permission:
  edit: deny
  bash:
    "*": deny
    "git diff*": allow
    "git log*": allow
---
 
Ты проверяешь изменения по чек-листу команды.
 
Порядок работы:
 
1. Получи список изменений.
2. Проверь соответствие правилам из AGENTS.md.
3. Сообщай только о дефектах, влияющих на корректность и на заявленные требования.

Текст под блоком метаданных — системная инструкция агента: она задает роль и порядок работы.

Поля блока метаданных:

ПолеЗначениеНазначение
descriptionстрокакогда применять агента. Для субагента это ключевое поле: по нему основной агент решает, вызывать его или нет
modeprimary, subagent или allprimary — агент выбирается вами перед отправкой сообщения; subagent — вызывается основным агентом; all — и то, и другое
permissionобъектправа на инструменты: allow, ask или deny, в том числе по шаблонам команд и путей
temperatureчисло, обычно от 0 до 1разброс формулировок модели. Ближе к 0 — ответы стабильнее и повторяемее, что подходит для ревью, проверок и отчетов; ближе к 1 — свободнее. Если поле не указано, применяется значение по умолчанию для модели
stepsцелое число больше нулясколько раз агент может вызвать инструменты, прежде чем будет обязан ответить текстом. Ограничивает бесконечные циклы «прочитал — попробовал — снова прочитал» на нечетко поставленной задаче. Без поля число шагов не ограничено

Ограничения permission перечисляются по инструментам: edit — изменение файлов, bash — команды оболочки, read — чтение, webfetch — загрузка страниц. Значение задается либо одним словом для всего инструмента, либо картой шаблонов, где более конкретное правило важнее общего:

permission:
  edit:
    "*": deny
    "docs/**": allow
  bash:
    "*": ask
    "npm test*": allow

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

Info

Навыки и агенты лежат в разных папках: навыки — в .agents/skills, агенты — в .opencode/agent.

Агенты с mode: primary появляются в выборе агента в сессии после запуска окружения. Агенты с mode: subagent в выборе не отображаются — их вызывает основной агент.

Собственные агенты в workflow-сценарии

В AI workflow-сценарии основной агент задается явно параметром шага. Подробнее — на странице сценариев.

Навык или агент

Что нужноРешение
Описать процедуру, права те женавык
Ограничить права на время работыагент
Изолировать объемное исследование от основного диалогасубагент
Дать отдельную роль с собственной системной инструкциейагент

Что дальше

  1. Разберитесь, как контекст расходуется и сжимается, — Контекст.
  2. Посмотрите, какие инструменты доступны агенту, — Инструменты и MCP.