Урок 10Суб-агенты

Создание своих агентов

Определи собственных агентов

Что такое суб-агенты (sub-agents) в Claude Code

Суб-агент (sub-agent) — это специализированный помощник, которого вы описываете один раз и затем вызываете для узкой, повторяющейся задачи. В отличие от основного диалога, суб-агент работает в отдельном контекстном окне (context window): он получает только свою инструкцию и результат своей работы, не засоряя основную сессию промежуточными шагами. Это даёт два практических эффекта. Во-первых, главный разговор остаётся коротким и сфокусированным, потому что объёмный поиск по коду или анализ зависимостей происходит «в стороне». Во-вторых, для каждой роли можно подобрать свою модель и свой набор инструментов (tools), а не давать одному агенту полный доступ ко всему.

Технически суб-агент — это обычный Markdown-файл с YAML frontmatter в начале. Именно это описывает блок кода выше: поле model задаёт модель (haiku, sonnet или opus), а поле tools перечисляет разрешённые инструменты — например Read, Grep и Glob. Всё, что идёт после закрывающих ---, — это системный промпт (system prompt) агента: его роль, область внимания и требуемый формат вывода. Если в примере выше указаны только инструменты чтения и поиска, агент физически не сможет изменить ни одного файла — это и есть смысл ограничения инструментов (tool restriction): «аудитор» по определению работает только на чтение.

Когда применять и какие ошибки распространены

Суб-агенты особенно полезны там, где задача чёткая, повторяемая и шумная по объёму контекста: ревью безопасности, генерация тестов, аудит зависимостей, подготовка документации. Область видимости (scope) определяет, где живёт файл агента: .claude/agents/ в проекте делает агента общим для команды, а ~/.claude/agents/ в домашней директории — личным и доступным во всех проектах. Конкретный пример: создайте файл security-auditor.md с моделью haiku и только инструментами Read/Grep/Glob, опишите в теле, что искать (SQL-инъекции, XSS, проблемы аутентификации) и в каком формате отдавать результат — после этого агента можно вызывать снова и снова, не переписывая инструкцию. Главная ошибка новичков — давать суб-агенту слишком широкие права и расплывчатую роль: тогда он ведёт себя как обычный чат, теряет предсказуемость и может изменить лишнее. Держите роль узкой, список инструментов минимальным, а формат вывода — явно описанным.

Формат файла агента

Агент определяется в Markdown файле с YAML frontmatter:

---
model: haiku
tools:
  - Read
  - Grep
  - Glob
---

# Security Auditor

You are a security-focused code reviewer. Your job is to find potential security vulnerabilities in the codebase.

## Focus Areas
- SQL injection
- XSS vulnerabilities
- Authentication issues
- Sensitive data exposure
- Input validation

## Output Format
For each issue found, provide:
1. File and line number
2. Vulnerability type
3. Risk level (High/Medium/Low)
4. Suggested fix

Структура frontmatter:

  • modelмодель (haiku/sonnet/opus)
  • toolsсписок доступных инструментов

Тело документа:

  • Инструкции для агента
  • Описание задачи
  • Формат вывода
Выбор модели
МодельСкоростьСтоимостьПрименение
haikuОчень быстрыйНизкаяПростые задачи
sonnetБыстрыйСредняяБольшинство задач
opusМедленныйВысокаяСложные задачи

💡 Используйте haiku для быстрых задач поиска, sonnet для большинства задач, opus для сложного анализа

Ограничение инструментов

Укажите только те инструменты, которые нужны агенту:

Файловые

ReadEditWriteGlobGrep

Выполнение

BashTask

Веб

WebFetchWebSearch

Интерактивные

AskUserQuestion

⚠️ Агент без Edit и Write не может изменять файлы — это полезно для read-only аудиторов

Области видимости
sessionВ памяти текущей сессииАгент существует только во время сессии
project.claude/agents/Доступен всем в этом проекте
user~/.claude/agents/Доступен во всех ваших проектах
Примеры агентов
documentation-writer

Генерирует документацию к коду

sonnet3 tools
test-generator

Создаёт unit-тесты

haiku3 tools
dependency-auditor

Проверяет зависимости на уязвимости

haiku3 tools
migration-planner

Планирует миграции БД

opus3 tools

Лучшие практики создания агентов

  • 1.Давайте агенту чёткую роль и ограниченный набор инструментов
  • 2.Используйте haiku для быстрых задач, sonnet для сложных
  • 3.Описывайте формат вывода для предсказуемых результатов
  • 4.Храните общие агенты в ~/.claude/agents/ для переиспользования

Частые вопросы

Что такое суб-агенты в Claude Code?

Суб-агент (sub-agent) — это специализированный помощник, описанный в Markdown-файле с YAML frontmatter. Он работает в отдельном контекстном окне, получает только свою инструкцию и возвращает результат, не засоряя основную сессию. Для каждой роли можно задать свою модель и ограниченный набор инструментов.

Как создать своего агента в Claude Code?

Создайте Markdown-файл, например security-auditor.md, в .claude/agents/ (для проекта) или ~/.claude/agents/ (для всех проектов). В YAML frontmatter укажите поле model (haiku/sonnet/opus) и список tools. В теле файла после --- опишите роль агента, область внимания и формат вывода — это его системный промпт.

Чем отличаются модели haiku, sonnet и opus для агентов?

haiku — самая быстрая и дешёвая, подходит для простых задач поиска. sonnet — быстрая, средняя по стоимости, годится для большинства задач. opus — медленная и дорогая, но лучшая для сложного анализа, например планирования миграций БД. Выбирайте модель под сложность задачи агента.

Как ограничить инструменты агента в Claude Code?

В поле tools перечислите только нужные инструменты, например Read, Grep, Glob. Если не дать Edit и Write, агент физически не сможет менять файлы — это идеально для read-only аудиторов. Минимальный набор инструментов делает агента предсказуемым и безопасным.

Квиз по уроку

1 из 1

1.Где хранятся определения пользовательских агентов в проекте Claude Code?

Этот урок — часть структурированного курса по LLM.

Мой путь обучения