Skip to content

Пользовательские агенты ​

Субагент — это отдельный исполнитель, которому Command Code передаёт задачу. Он работает в собственном контекстном окне, со своими инструментами, системным промптом и (опционально) собственной моделью. Command Code может запускать несколько субагентов одновременно, поэтому работа вроде правки трёх модулей может идти параллельно, а не по одному файлу за раз.

Три встроенных агента доступны всегда: General, Explore и Plan. Своих можно добавлять в виде Markdown-файлов.

Быстрый старт ​

Самый быстрый способ создать субагента — попросить об этом:

text
create a code-reviewer subagent that reviews diffs for bugs and security issues

Command Code сам напишет файл агента. С этого момента он делегирует задачи этому агенту, когда задача подходит.

Чтобы управлять агентами самостоятельно, выполните:

bash
/agents

На этом знакомство заканчивается. Дальше на странице — как создавать агентов вручную, как работает делегирование и полный справочник по файлу.

Встроенные агенты ​

Эти агенты поставляются вместе с Command Code и доступны всегда. Они работают только на чтение — изменить или удалить их нельзя.

АгентКогда запускаетсяИнструменты
GeneralВариант по умолчанию, когда не подходит другой агент. Исследование и многошаговые задачи.Все инструменты
ExploreПоиск и изучение кодовой базы с охватом множества файлов.Только чтение: read_file, read_directory, grep
PlanПроектирование подхода и взвешивание компромиссов.read_file

Когда Command Code делегирует задачу, не называя агента, она уходит в General.

Создание агента ​

Опишите агента обычным языком, как показано в разделе Быстрый старт. Command Code подготовит имя, описание, системный промпт и разумный набор инструментов, а затем сохранит файл. Вам останется проверить и поправить.

Пункт Create agents with Command Code в меню /agents показывает то же самое — он возвращает вас к простой просьбе:

text
 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, чтобы открыть менеджер. В нём два действия создания, ваши пользовательские агенты, сгруппированные по области действия, и встроенные агенты, доступные только для чтения.

text
 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, чтобы заполнить каждое поле самостоятельно. Шаги такие: расположение → идентификатор → системный промпт → описание → инструменты → модель → подтверждение.

Выберите, где будет жить агент:

text
 Create new agent
Choose location
> 1. Project (.commandcode/agents/)
2. Personal (~/.commandcode/agents/)

Агенты проекта коммитятся вместе с репозиторием и доступны вашей команде. Персональные агенты живут в вашей домашней папке и работают во всех проектах.

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

text
 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 показывает отдельные инструменты. Первая строка сохраняет выбор.

text
 Create new agent
Select tools
> [ Continue ]
────────────────────────────────
[x] Read-only tools
[x] Edit tools
[ ] Execution tools
[x] Search tools
[ Show advanced options ]
3 tools selected

Выберите модель. Оставьте модель сессии или закрепите ту, которую агент использует всегда.

text
 Create new agent
Select model
> 1. Inherit from session (default)
2. Pick a specific model

Подтвердите. Перед записью файла показывается сводка со всеми полями:

text
 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 настраивает его, а тело файла — системный промпт.

md
---
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, необязательны.

ПолеТипОбязательноПо умолчаниюОписание
namestringДаимя файлаИдентификатор агента, на который делегирует Command Code. Нормализуется до a-z A-Z 0-9 _ -; не может быть зарезервированным именем.
descriptionstringНет""Когда использовать агента — текст, с которым Command Code сопоставляет задачу. Будьте конкретны.
toolsstring | string[]НетнетИнструменты, которые агенту разрешены. "*" даёт все; иначе список через запятую или пробел либо YAML-массив.
disallowedToolsstring | string[]Нет-Список запретов, который применяется после tools (запрет сильнее разрешения). Формат тот же, что у tools.
modelstringНетinheritЛюбой id из /model. Не указывайте поле или укажите inherit, чтобы использовать значение субагентов по умолчанию.
reasoningEffortstringНетпо умолчанию у моделиУровень рассуждений, который поддерживает закреплённая модель; неподдерживаемый уровень откатывается к значению модели по умолчанию.
maxTurnsintegerНет100Ограничивает цикл агента.
permissionModestringНетinheritПереопределяет режим сессии: default, accept-edits, yolo, plan, dont-ask (auto-accept и bypass принимаются как синонимы). Сессия, которая уже находится в plan/yolo, имеет приоритет.
backgroundbooleanНетfalsetrue отсоединяет каждый запуск: инструмент agent возвращает agent_id, а результаты приходят из agent_output.
showOutputbooleanНетfalsetrue показывает финальное сообщение агента дословно в ленте вместо короткой строки «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:

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.

Дальнейшие шаги ​

Источник

Сверено с оригиналом 13 ноября 2026.