Агенты и субагенты
Info
Агент — это набор из системной инструкции и прав на инструменты. Разные задачи требуют разных наборов: исследование не должно менять файлы, а реализация должна.
Зачем разделять агентов
У любого агента есть системная инструкция и права на инструменты. От прав зависит не то, что агент захочет сделать, а то, что он физически может: агенту без права записи бесполезно приказывать «внеси правку» — он ее не внесет.
Это дает главный прием: разделять работу по ролям. Исследование ведет агент, который не может ничего сломать. Реализацию — агент с полными правами. Ревью — агент, которому запрещено изменять файлы, поэтому он не «чинит» найденное вместо того, чтобы о нем сообщить.
Основной агент и субагенты
Основной агент ведет диалог: получает вашу задачу и отвечает вам.
Субагент — отдельный запуск агента внутри задачи, со своим чистым контекстом. Основной агент ставит ему подзадачу и получает обратно только результат, а не переписку и содержимое прочитанных файлов.
Это основной прием экономии контекста. Поиск по большому репозиторию может открыть десятки файлов; если это делает основной агент, все прочитанное остается в диалоге и вытесняет из него саму задачу. Субагент прочитает то же самое у себя и вернет короткий ответ.
Субагента не выбирают вручную — его вызывает основной агент, когда сочтет нужным. Попросить об этом можно прямо в формулировке задачи: «найди все места, где формируется этот заголовок, отдельным поиском».
Что доступно на GitVerse
В сессиях основной агент выбирается перед отправкой сообщения. Доступны два встроенных:
Build — агент по умолчанию. Читает и изменяет файлы, выполняет команды, создает коммиты.
Plan — агент исследования и планирования. Читает код, ищет по репозиторию, задает уточняющие вопросы и формирует план, но не изменяет исходные файлы.
Типичный порядок работы:
- Выберите Plan и опишите задачу.
- Ответьте на уточняющие вопросы.
- Проверьте план: указано ли, что остается за рамками работы, и как проверяется результат.
- Подтвердите план и продолжите в режиме 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 | строка | когда применять агента. Для субагента это ключевое поле: по нему основной агент решает, вызывать его или нет |
mode | primary, subagent или all | primary — агент выбирается вами перед отправкой сообщения; 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-сценарии основной агент задается явно параметром шага. Подробнее — на странице сценариев.
Навык или агент
| Что нужно | Решение |
|---|---|
| Описать процедуру, права те же | навык |
| Ограничить права на время работы | агент |
| Изолировать объемное исследование от основного диалога | субагент |
| Дать отдельную роль с собственной системной инструкцией | агент |
Что дальше
- Разберитесь, как контекст расходуется и сжимается, — Контекст.
- Посмотрите, какие инструменты доступны агенту, — Инструменты и MCP.