Субагенты
Субагент — это специализированный агент, который основной агент может запустить для работы в собственном изолированном контексте, а затем свести результаты обратно в главный разговор. ZCode поставляется со встроенными субагентами general-purpose и Explore, а теперь вы можете определять и собственные пользовательские субагенты в Settings.
Когда основной агент решает, что задаче нужен изолированный контекст или параллельное исследование, он запускает субагента через инструмент Agent. Субагент работает в своём контексте и сообщает находки обратно, чтобы основной агент мог продолжать движение.

Встроенный: субагент общего назначения (general-purpose)
general-purpose — это встроенный субагент по умолчанию для широких задач. У него есть доступ ко всем инструментам, поэтому он подходит, когда основному агенту нужен изолированный контекст, способный читать, редактировать, запускать команды или вести самодостаточный кусок работы.
Хорошие задачи для general-purpose:
- Самостоятельная реализация небольшой фичи или исправление понятного бага.
- Упорядочивание файлов, запуск команд проверки и отчет о результатах из другого контекста.
- Выделение параллельной работы по документации, коду или конфигам в отдельную задачу.
Если задаче нужно только read-only исследование, сбор свидетельств или построение цепочек вызовов — лучше подойдёт описанный ниже Explore.
Встроенный: Explore
Explore — это read-only специалист по поиску файлов и исследованию кодовой базы: для широкого поиска по коду, исследования цепочек вызовов, обнаружения архитектуры и сбора свидетельств.
Explore работает только на чтение. Он не создаёт, не изменяет, не перемещает и не удаляет файлы. В основном он использует инструменты чтения и поиска: читает файлы, сопоставляет имена файлов, ищет содержимое файлов по регулярным выражениям и при необходимости читает известные URL или ищет внешнюю информацию.
Хорошие задачи для Explore:
- Поиск того, где реализована возможность.
- Построение карты точек входа модуля, цепочек вызовов и ключевых зависимостей.
- Исследование связанного кода и рисков перед внесением изменений.
- Параллельный поиск по нескольким директориям, шаблонам именования или путям реализации.
Попросить ZCode использовать Explore можно прямо в промпте, например:
Сначала с помощью Explore исследуй цепочку вызовов этого модуля, затем суммируй основные точки входа и риски.
В режиме только для чтения найди, где реализована эта возможность, и перечисли связанные файлы и свидетельства.
Кастомные субагенты (Beta)
Beta — Пользовательские субагенты выкатываются. Возможности и их охват могут ещё меняться.
Теперь создавать собственные субагенты можно из Settings -> Subagents. Кастомный субагент позволяет упаковать переиспользуемую роль — ревьюер, писатель тестов, исследователь документации — с собственной моделью, правами на инструменты и инструкциями, и применять её повторно в разных задачах.

В панели Subagents можно:
- Просматривать доступные субагенты, включая встроенные
general-purpose(роль по умолчанию, с доступом ко всем инструментам) иExplore(поиск только для чтения). - Создавать субагента, заполнив имя, цвет, модель, описание, доступные инструменты и системный промпт.
- Редактировать, удалять, включать или отключать созданных вами субагентов (встроенные роли показаны для справки и не редактируются и не удаляются).
Создание субагента
Кликните New в правом верхнем углу и настройте переиспользуемую роль в форме:

| Поле | Описание |
|---|---|
| Name | Идентификатор субагента, например code-reviewer. |
| Color | Цвет, отличающий этого субагента в списке и в переписке — это лишь маркер идентичности, а не статус. |
| Model | Выберите «Inherit default» (наследовать текущую модель основного агента) или укажите конкретную модель. |
| Description | Краткое описание, видимое основному агенту. Именно по этому тексту он решает, когда вызвать субагента — чем точнее описание, тем вероятнее он будет выбран автоматически для нужной задачи. |
| Available tools | Управляет тем, какие инструменты может вызывать субагент. «All permissions by default» наследует все инструменты; «Custom tools» позволяет отметить их по одному (например, дать только Read / Grep / Glob для read-only ревью; пишущие инструменты вроде Bash / Edit / Write помечаются отдельно). |
| System prompt | Описывает роль, границы и правила субагента — его runtime системный промпт. |
При сохранении ZCode записывает субагента как Markdown-файл в ~/.zcode/agents/<имя>.md, а рантайм ZCode Agent подгружает его при следующем запуске. После включения можно позволить агенту выбирать субагента автоматически либо сослаться на него через @ в поле чата.
Объём и ограничения
- Только пользовательский уровень. Текущая Beta управляет глобальными / пользовательскими субагентами в
~/.zcode/agents/. Создавать и редактировать воркспейс / проектные субагенты из Settings пока нельзя. - Встроенные роли — только для чтения.
general-purposeиExploreпоказаны для справки, но их нельзя редактировать, удалять, а их имена нельзя переиспользовать. - Выполнение в foreground. Субагенты выполняются в foreground — при одновременном запуске нескольких они идут параллельно, а главная задача ждёт их завершения, прежде чем продолжить. Фоновое выполнение пока не включено.
Заметка практика: Субагенты в ZCode концептуально близки к subagents в Claude Code и к «агентам» в Cursor, но с одним важным отличием — кастомные роли хранятся как обычные
~/.zcode/agents/<имя>.md, поэтому их легко версионировать в dotfiles и таскать между машинами. На практике я завожу отдельный read-only субагентcode-reviewerс инструментамиRead/Grep/Globи ролью «найти риски и ничего не править» — это убирает соблазн у модели «по ходу ревью что-то подправить». А Explore незаменим перед рефакторингом: прогнал его по цепочкам вызовов в изолированном контексте, получил карту, и только потом основной агент начинает менять код. Учтите только, что параллельные субагенты сейчас ждутся в foreground — то есть они не «разгоняют» основную задачу, а скорее экономят ваш контекст.
Это локализованный гайд по официальной документации ZCode. Оригинал на английском.