Пользовательские агенты
Субагент — это отдельный исполнитель, которому Command Code передаёт задачу. Он работает в собственном контекстном окне, со своими инструментами, системным промптом и (опционально) собственной моделью. Command Code может запускать несколько субагентов одновременно, поэтому работа вроде правки трёх модулей может идти параллельно, а не по одному файлу за раз.
Три встроенных агента доступны всегда: General, Explore и Plan. Своих можно добавлять в виде Markdown-файлов.
Быстрый старт
Самый быстрый способ создать субагента — попросить об этом:
create a code-reviewer subagent that reviews diffs for bugs and security issuesCommand Code сам напишет файл агента. С этого момента он делегирует задачи этому агенту, когда задача подходит.
Чтобы управлять агентами самостоятельно, выполните:
/agentsНа этом знакомство заканчивается. Дальше на странице — как создавать агентов вручную, как работает делегирование и полный справочник по файлу.
Встроенные агенты
Эти агенты поставляются вместе с Command Code и доступны всегда. Они работают только на чтение — изменить или удалить их нельзя.
| Агент | Когда запускается | Инструменты |
|---|---|---|
| General | Вариант по умолчанию, когда не подходит другой агент. Исследование и многошаговые задачи. | Все инструменты |
| Explore | Поиск и изучение кодовой базы с охватом множества файлов. | Только чтение: read_file, read_directory, grep |
| Plan | Проектирование подхода и взвешивание компромиссов. | read_file |
Когда Command Code делегирует задачу, не называя агента, она уходит в General.
Создание агента
Попросить Command Code (рекомендуется)
Опишите агента обычным языком, как показано в разделе Быстрый старт. Command Code подготовит имя, описание, системный промпт и разумный набор инструментов, а затем сохранит файл. Вам останется проверить и поправить.
Пункт Create agents with Command Code в меню /agents показывает то же самое — он возвращает вас к простой просьбе:
Create agents with Command Code
Ask Command Code to create or update subagents for you, e.g.
‣ "create a code-reviewer subagent that reviews diffs for bugs"
‣ "make a changelog agent that uses a fast model"
Or edit the files directly:
• .commandcode/agents/ (this project)
• ~/.commandcode/agents/ (all projects)
Docs: https://commandcode.ai/docs/core-concepts/custom-agents
Press Enter to go back and just askМенеджер /agents
Запустите /agents, чтобы открыть менеджер. В нём два действия создания, ваши пользовательские агенты, сгруппированные по области действия, и встроенные агенты, доступные только для чтения.
Agents (2 agents)
1. Create agents with Command Code (recommended)
2. Create manually
User agents
> changelog-writer
release-notes
Project agents
code-reviewer
Default agents (read-only)
General
Explore
Plan
↑↓ navigate · Enter to select · Esc to close
Agents live in .commandcode/agents/ (project) and
~/.commandcode/agents/ (all projects) - edit the files directly anytime.
Docs: https://commandcode.ai/docs/core-concepts/custom-agentsРазделы появляются, только если в них есть агенты. Если пользовательских агентов нет, заголовок выглядит так: Agents (No custom agents).
Мастер ручного создания
Выберите Create manually, чтобы заполнить каждое поле самостоятельно. Шаги такие: расположение → идентификатор → системный промпт → описание → инструменты → модель → подтверждение.
Выберите, где будет жить агент:
Create new agent
Choose location
> 1. Project (.commandcode/agents/)
2. Personal (~/.commandcode/agents/)Агенты проекта коммитятся вместе с репозиторием и доступны вашей команде. Персональные агенты живут в вашей домашней папке и работают во всех проектах.
Задайте имя, промпт и описание, когда агента использовать. Три шага задают идентификатор (он должен быть уникальным и не совпадать с зарезервированным именем), системный промпт и описание, по которому Command Code определяет, когда делегировать задачу.
Create new agent
Agent type (identifier)
Enter a unique identifier for your agent:
> code-reviewer_
e.g. code-reviewer, unit-tester
Enter to continue · Esc to cancelВыберите инструменты. Категории переключают группы, а Show advanced options показывает отдельные инструменты. Первая строка сохраняет выбор.
Create new agent
Select tools
> [ Continue ]
────────────────────────────────
[x] Read-only tools
[x] Edit tools
[ ] Execution tools
[x] Search tools
[ Show advanced options ]
3 tools selectedВыберите модель. Оставьте модель сессии или закрепите ту, которую агент использует всегда.
Create new agent
Select model
> 1. Inherit from session (default)
2. Pick a specific modelПодтвердите. Перед записью файла показывается сводка со всеми полями:
Create new agent
Confirm and save
Name: code-reviewer
Location: .commandcode/agents/ (project)
Tools: Read-only, Edit, Search
Model: Inherit from session
Description (Tells Command Code when to use this agent):
Use this agent when you are done writing code and want to
diff reviewed for bugs and security issues.
System Prompt:
You are a meticulous code reviewer. Prioritize correctness,
security, and clear feedback. Cite file paths and lines.
Press Enter to save · Esc to cancelДобавленные или изменённые агенты подхватываются на следующем ходу — перезапуск не нужен.
Правка файла напрямую
Агент — это Markdown-файл. Frontmatter настраивает его, а тело файла — системный промпт.
---
name: code-reviewer
description: Use after writing code to review a diff for bugs and security issues.
tools: read_file, grep, glob
model: claude-sonnet-5
---
You are a meticulous code reviewer. Prioritize correctness, security, and clear
feedback. Cite file paths and line numbers. Be concise.Положите файл в .commandcode/agents/ (проект) или ~/.commandcode/agents/ (персональный) — он загрузится на следующем ходу. Полный список полей — в справочнике.
Как это работает
Субагента вы не вызываете сами. Вы описываете, что нужно, а Command Code решает, когда делегировать задачу, вызывая свой встроенный инструмент agent. Субагент работает в собственном цикле, выполняет работу и возвращает один результат.
- Параллельные запуски. Command Code запускает независимых субагентов одновременно, делая несколько вызовов
agentза один ход. Пять исследователей или три агента, каждый из которых правит свой модуль, работают вместе, а не по очереди. - Изолированный контекст. Чтение файлов и рассуждения субагента остаются в его контекстном окне, поэтому долгое исследование не заполняет основной диалог.
- Своя модель. Агент может закрепить собственную модель, так что медленный планировщик и быстрый исполнитель сохраняют раздельные кэши промптов.
- Только один уровень. Субагенты не могут запускать своих субагентов — инструмент
agentудалён из их набора инструментов.
Фоновые запуски
Запуск можно отсоединить. Если он стартовал в фоне (или агент устанавливает background: true), инструмент agent сразу возвращает agent_id, а основная сессия продолжает работу. Результат забирается позже инструментом agent_output, который умеет wait (дождаться), проверить status или прервать запуск через kill.
Откуда загружаются агенты
| Источник | Путь | Примечания |
|---|---|---|
| Встроенные | (built-in) | General, Explore, Plan — присутствуют всегда, только чтение |
| Персональные | ~/.commandcode/agents/ | Во всех проектах на вашей машине |
| Проектные | .commandcode/agents/ | Коммитятся с репозиторием; доступны команде |
Загружаются они в этом порядке, и побеждает первое определение имени. Файлы пересканируются на каждом ходу, поэтому добавления, правки и удаления применяются сразу.
Примечание
Зарезервированные имена (explore, plan, review, general) используются встроенным поведением. Пользовательский файл с таким именем игнорируется.
Справочник
Поля frontmatter
Читаются только эти ключи, всё остальное игнорируется. Все поля, кроме name, необязательны.
| Поле | Тип | Обязательно | По умолчанию | Описание |
|---|---|---|---|---|
name | string | Да | имя файла | Идентификатор агента, на который делегирует Command Code. Нормализуется до a-z A-Z 0-9 _ -; не может быть зарезервированным именем. |
description | string | Нет | "" | Когда использовать агента — текст, с которым Command Code сопоставляет задачу. Будьте конкретны. |
tools | string | string[] | Нет | нет | Инструменты, которые агенту разрешены. "*" даёт все; иначе список через запятую или пробел либо YAML-массив. |
disallowedTools | string | string[] | Нет | - | Список запретов, который применяется после tools (запрет сильнее разрешения). Формат тот же, что у tools. |
model | string | Нет | inherit | Любой id из /model. Не указывайте поле или укажите inherit, чтобы использовать значение субагентов по умолчанию. |
reasoningEffort | string | Нет | по умолчанию у модели | Уровень рассуждений, который поддерживает закреплённая модель; неподдерживаемый уровень откатывается к значению модели по умолчанию. |
maxTurns | integer | Нет | 100 | Ограничивает цикл агента. |
permissionMode | string | Нет | inherit | Переопределяет режим сессии: default, accept-edits, yolo, plan, dont-ask (auto-accept и bypass принимаются как синонимы). Сессия, которая уже находится в plan/yolo, имеет приоритет. |
background | boolean | Нет | false | true отсоединяет каждый запуск: инструмент agent возвращает agent_id, а результаты приходят из agent_output. |
showOutput | boolean | Нет | false | true показывает финальное сообщение агента дословно в ленте вместо короткой строки «done». |
Инструменты
ID инструментов — те же имена, что показывает расширенный список в мастере /agents. Как читается tools:
tools: "*"— все инструменты, включая подключённые MCP-инструменты.tools: read_file, grep, glob— белый список. Через запятую или пробел; YAML-массив тоже работает.- Поле не указано — инструментов нет.
Частые ID по категориям:
| Категория | ID инструментов |
|---|---|
| Только чтение | read_file, read_directory, grep |
| Правка | edit_file, write_file |
| Выполнение | shell_command, run_command, kill_shell |
| Поиск | web_search, web_fetch |
| Прочее | glob, todo_write, task_create, task_update, task_list, task_get, task_output, task_stop, cron_create, cron_list, cron_delete, get_diagnostics, taste, ask_user_question, sleep, enter_plan_mode, exit_plan_mode, enter_worktree, exit_worktree |
MCP-инструменты указываются своим исходным именем, например mcp__github__get_me. Инструменты agent и agent_output выдать нельзя — именно это удерживает делегирование на одном уровне.
Модели
Поле model принимает любой id, который вы передали бы в /model. Чтобы его найти:
- посмотрите доступные модели — там полный список;
- откройте выбор
/model; - выполните в оболочке
cmd --list-models.
Указывайте id точно так, как их печатает --list-models. Примеры: claude-opus-4-8, claude-sonnet-5, claude-haiku-4-5, moonshotai/kimi-k2.6, zai-org/glm-5.2.
Если model не указан, это то же самое, что model: inherit: агент работает на модели сессии — на /model сессии или на модели планирования либо реализации, пока такая активна. Чтобы запускать этих агентов на другой модели, выберите её в строке Sub-agents в /config → Feature models; очистите выбор, чтобы вернуться к модели сессии. Модель, которую агент просит при отдельном делегировании, перебивает и то, и другое. Закрепление модели даёт агенту собственный кэш промптов, поэтому медленный планировщик и быстрый исполнитель не мешают друг другу.
Уровень рассуждений
reasoningEffort закрепляет, насколько упорно агент думает, независимо от /effort сессии. Закрепляйте или выбирайте уровень рассуждений, который поддерживает модель агента. Чтобы увидеть точный набор уровней модели, откройте выбор /model и выберите модель — шаг reasoning-effort перечислит ровно те уровни, которые эта модель принимает.
Значение проверяется в два этапа, чтобы некорректное значение не дошло до провайдера посреди делегирования:
- При загрузке неизвестный уровень (опечатка вроде
meduim) отбрасывается с предупреждением, и агент откатывается к уровню модели по умолчанию — файл всё равно загружается. - Во время выполнения уровень сверяется с моделью, которая выбрана фактически (модель
inheritнеизвестна до запуска). - Уровень, который выбранная модель не поддерживает, откатывается к уровню модели по умолчанию, а не подтягивается к другому уровню.
Не указывайте поле, чтобы работать на уровне усилий по умолчанию.
Полный пример
Все поля с допустимыми значениями. Скопируйте пример и удалите то, что вам не нужно.
Файл .commandcode/agents/report-writer.md:
---
name: report-writer
description: 'Writes a structured research report from the current repo. Delegate long-form summarization and analysis tasks here.'
tools: '*' # grant everything…
disallowedTools: shell_command, write_file # …except shells and file writes
model: claude-opus-4-8 # any /model id, or omit to inherit
reasoningEffort: high # a level THIS model supports (varies by model); omit for default
maxTurns: 40 # cap the loop (default 100)
permissionMode: plan # default|accept-edits|yolo|plan|dont-ask
background: true # detach; collect via agent_output
showOutput: true # render the final report in the feed
---
You are a research report writer. You receive one self-contained task and
produce a complete, well-structured Markdown report as your final message.
- Gather only the files and facts the task requires.
- Work on your own - you can't ask follow-up questions.
- Your final message is the deliverable; make it complete.Дальнейшие шаги
- Интерактивный режим — слэш-команды и управление сессией
- Фоновые задачи — отсоединённая долгая работа
- Память — инструкции проекта и пользователя в
AGENTS.md - Навыки — переиспользуемые пакеты навыков против полноценных субагентов
Источник
Сверено с оригиналом 13 ноября 2026.