Диагностика сбоев при вызове агентов
Проблемы, с которыми вы можете столкнуться
Испытываете трудности при работе с агентами? Вы можете столкнуться со следующими ситуациями:
- Ввод
/planили других команд не приводит к вызову агента - Получение сообщения об ошибке: "Agent not found"
- Агент зависает или превышает время ожидания
- Вывод агента не соответствует ожиданиям
- Агент не следует правилам работы
Не волнуйтесь, у этих проблем обычно есть чёткие решения. Этот урок поможет вам систематически диагностировать и исправлять проблемы, связанные с агентами.
🎒 Подготовка к началу
Предварительная проверка
Убедитесь, что вы:
Проблема 1: Агент совсем не вызывается
Симптомы
При вводе /plan или других команд агент не активируется, происходит обычный чат.
Возможные причины
Причина A: Неправильный путь к файлу агента
Проблема: Файл агента находится не в правильном месте, Claude Code не может его найти.
Решение:
Проверьте, правильно ли расположен файл агента:
# Должен находиться в одном из следующих мест:
~/.claude/agents/ # Конфигурация уровня пользователя (глобальная)
.claude/agents/ # Конфигурация уровня проектаМетод проверки:
# Просмотр конфигурации уровня пользователя
ls -la ~/.claude/agents/
# Просмотр конфигурации уровня проекта
ls -la .claude/agents/Должны быть видны 9 файлов агентов:
planner.mdarchitect.mdtdd-guide.mdcode-reviewer.mdsecurity-reviewer.mdbuild-error-resolver.mde2e-runner.mdrefactor-cleaner.mddoc-updater.md
Если файлы отсутствуют, скопируйте их из каталога плагина Everything Claude Code:
# Предполагается, что плагин установлен в ~/.claude-plugins/
cp ~/.claude-plugins/everything-claude-code/agents/*.md ~/.claude/agents/
# Или скопируйте из клонированного репозитория
cp everything-claude-code/agents/*.md ~/.claude/agents/Причина B: Отсутствие или неправильный путь к файлу Command
Проблема: Файл Command (например, plan.md, соответствующий /plan) отсутствует или имеет неправильный путь.
Решение:
Проверьте расположение файлов Command:
# Commands должны находиться в одном из следующих мест:
~/.claude/commands/ # Конфигурация уровня пользователя (глобальная)
.claude/commands/ # Конфигурация уровня проектаМетод проверки:
# Просмотр конфигурации уровня пользователя
ls -la ~/.claude/commands/
# Просмотр конфигурации уровня проекта
ls -la .claude/commands/Должны быть видны 14 файлов Command:
plan.md→ вызывает агентplannertdd.md→ вызывает агентtdd-guidecode-review.md→ вызывает агентcode-reviewerbuild-fix.md→ вызывает агентbuild-error-resolvere2e.md→ вызывает агентe2e-runner- и т.д...
Если файлы отсутствуют, скопируйте файлы Command:
cp ~/.claude-plugins/everything-claude-code/commands/*.md ~/.claude/commands/Причина C: Плагин не загружен корректно
Проблема: Установка через магазин плагинов, но плагин не был корректно загружен.
Решение:
Проверьте конфигурацию плагина в ~/.claude/settings.json:
# Просмотр конфигурации плагина
cat ~/.claude/settings.json | jq '.enabledPlugins'Должно быть видно:
{
"enabledPlugins": {
"everything-claude-code@everything-claude-code": true
}
}Если не включён, добавьте вручную:
# Редактирование settings.json
nano ~/.claude/settings.json
# Добавьте или измените поле enabledPlugins
{
"enabledPlugins": {
"everything-claude-code@everything-claude-code": true
}
}Перезапустите Claude Code, чтобы изменения вступили в силу.
Проблема 2: Ошибка вызова агента "Agent not found"
Симптомы
После ввода команды появляется сообщение об ошибке: "Agent not found" или "Could not find agent: xxx".
Возможные причины
Причина A: Несоответствие имён агентов в файлах Command
Проблема: Поле invokes в файле Command не соответствует имени файла агента.
Решение:
Проверьте поле invokes в файле Command:
# Просмотр определённого файла Command
cat ~/.claude/commands/plan.md | grep -A 5 "invokes"Структура файла Command (на примере plan.md):
---
description: Restate requirements, assess risks, and create step-by-step implementation plan. WAIT for user CONFIRM before touching any code.
---
# Plan Command
This command invokes **planner** agent...Проверьте существование файла агента:
Имя агента, упомянутое в файле Command (например, planner), должно соответствовать файлу: planner.md
# Проверка существования файла агента
ls -la ~/.claude/agents/planner.md
# Если не существует, проверьте файлы с похожими именами
ls -la ~/.claude/agents/ | grep -i planПримеры распространённых несоответствий:
| Command invokes | Фактическое имя файла агента | Проблема |
|---|---|---|
planner | planner.md | ✅ Правильно |
planner | Planner.md | ❌ Несоответствие регистра (Unix системы чувствительны к регистру) |
planner | planner.md.backup | ❌ Неправильное расширение файла |
tdd-guide | tdd_guide.md | ❌ Дефис vs подчёркивание |
Причина B: Неправильное имя файла агента
Проблема: Имя файла агента не соответствует ожидаемому.
Решение:
Проверьте имена всех файлов агентов:
# Список всех файлов агентов
ls -la ~/.claude/agents/
# Ожидаемые 9 файлов агентов
# planner.md
# architect.md
# tdd-guide.md
# code-reviewer.md
# security-reviewer.md
# build-error-resolver.md
# e2e-runner.md
# refactor-cleaner.md
# doc-updater.mdЕсли имена файлов неверны, переименуйте файлы:
# Пример: исправление имён файлов
cd ~/.claude/agents/
mv Planner.md planner.md
mv tdd_guide.md tdd-guide.mdПроблема 3: Ошибка формата Front Matter агента
Симптомы
Агент вызывается, но появляется сообщение об ошибке: "Invalid agent metadata" или подобная ошибка формата.
Возможные причины
Причина A: Отсутствие обязательных полей
Проблема: Front Matter агента не содержит обязательных полей (name, description, tools).
Решение:
Проверьте формат Front Matter агента:
# Просмотр заголовка определённого файла агента
head -20 ~/.claude/agents/planner.mdПравильный формат Front Matter:
---
name: planner
description: Expert planning specialist for complex features and refactoring. Use PROACTIVELY when users request feature implementation, architectural changes, or complex refactoring. Automatically activated for planning tasks.
tools: Read, Grep, Glob
model: opus
---Обязательные поля:
name: Идентификатор агента (должен соответствовать имени файла без расширения)description: Описание функционала агента (используется для понимания обязанностей агента)tools: Список разрешённых инструментов (через запятую)
Необязательные поля:
model: Предпочитаемая модель (opusилиsonnet)
Причина B: Ошибка в поле Tools
Проблема: Поле tools использует неверные названия инструментов или формат.
Решение:
Проверьте поле tools:
# Извлечение поля tools
grep "^tools:" ~/.claude/agents/*.mdРазрешённые названия инструментов (с учётом регистра):
ReadWriteEditBashGrepGlob
Распространённые ошибки:
| Неверный формат | Правильный формат | Проблема |
|---|---|---|
tools: read, grep, glob | tools: Read, Grep, Glob | ❌ Ошибка регистра |
tools: Read, Grep, Glob, | tools: Read, Grep, Glob | ❌ Запятая в конце (синтаксическая ошибка YAML) |
tools: "Read, Grep, Glob" | tools: Read, Grep, Glob | ❌ Нет необходимости в кавычках |
tools: Read Grep Glob | tools: Read, Grep, Glob | ❌ Отсутствуют запятые-разделители |
Причина C: Синтаксическая ошибка YAML
Проблема: Ошибка формата Front Matter YAML (например, отступы, кавычки, специальные символы).
Решение:
Проверьте формат YAML:
# Проверка YAML с помощью Python
python3 -c "import yaml; yaml.safe_load(open('~/.claude/agents/planner.md'))"
# Или используйте yamllint (требуется установка)
pip install yamllint
yamllint ~/.claude/agents/*.mdРаспространённые ошибки YAML:
- Несогласованные отступы (YAML чувствителен к отступам)
- Отсутствие пробела после двоеточия:
name:planner→name: planner - Неэкранированные специальные символы в строках (например, двоеточия, решётки)
- Использование отступов Tab (YAML принимает только пробелы)
Проблема 4: Таймаут выполнения агента или зависание
Симптомы
Агент начинает выполнение, но долгое время не отвечает или зависает.
Возможные причины
Причина A: Слишком высокая сложность задачи
Проблема: Запрошенная задача слишком сложна и выходит за рамки возможностей агента.
Решение:
Разбейте задачу на более мелкие шаги:
❌ Неправильно: требовать от агента обработки всего проекта за один раз
"Помоги мне рефакторить всю систему аутентификации пользователей, включая все тесты и документацию"
✅ Правильно: выполнять по шагам
Шаг 1: /plan рефакторинг системы аутентификации пользователей
Шаг 2: /tdd реализовать шаг 1 (API входа)
Шаг 3: /tdd реализовать шаг 2 (API регистрации)
...Используйте команду /plan для предварительного планирования:
Пользователь: /plan мне нужно рефакторить систему аутентификации пользователей
Агент (planner):
# План реализации: Рефакторинг системы аутентификации пользователей
## Фаза 1: Аудит текущей реализации
- Просмотр существующего кода аутентификации
- Выявление проблем безопасности
- Составление списка зависимостей
## Фаза 2: Проектирование новой системы
- Определение потока аутентификации
- Выбор метода аутентификации (JWT, OAuth и т.д.)
- Проектирование API эндпоинтов
## Фаза 3: Реализация основных функций
[Подробные шаги...]
**ОЖИДАНИЕ ПОДТВЕРЖДЕНИЯ**: Продолжить с этим планом? (yes/no/modify)Причина B: Неправильный выбор модели
Проблема: Задача имеет высокую сложность, но используется более слабая модель (например, sonnet вместо opus).
Решение:
Проверьте поле model агента:
# Просмотр моделей, используемых всеми агентами
grep "^model:" ~/.claude/agents/*.mdРекомендуемая конфигурация:
- Задачи с интенсивным рассуждением (например,
planner,architect): используйтеopus - Генерация/модификация кода (например,
tdd-guide,code-reviewer): используйтеopus - Простые задачи (например,
refactor-cleaner): можно использоватьsonnet
Изменение конфигурации модели:
Отредактируйте файл агента:
---
name: my-custom-agent
description: Custom agent for...
tools: Read, Write, Edit, Bash, Grep
model: opus # Используйте opus для повышения производительности сложных задач
---Причина C: Слишком много читаемых файлов
Проблема: Агент читает слишком много файлов, превышая лимит токенов.
Решение:
Ограничьте диапазон файлов, читаемых агентом:
❌ Неправильно: позволить агенту читать весь проект
"Прочитай все файлы в проекте, затем проанализируй архитектуру"
✅ Правильно: укажите релевантные файлы
"Прочитай файлы в директории src/auth/, проанализируй архитектуру системы аутентификации"Используйте шаблоны Glob для точного сопоставления:
Пользователь: Пожалуйста, помоги оптимизировать производительность
Агент должен:
# Используйте Glob для поиска критически важных файлов производительности
Glob pattern="**/*.{ts,tsx}" path="src/api"
# Вместо
Glob pattern="**/*" path="." # Чтение всех файловПроблема 5: Вывод агента не соответствует ожиданиям
Симптомы
Агент вызывается и выполняется, но вывод не соответствует ожиданиям или имеет низкое качество.
Возможные причины
Причина A: Нечёткое описание задачи
Проблема: Запрос пользователя расплывчат, агент не может точно понять требования.
Решение:
Предоставьте чёткое, конкретное описание задачи:
❌ Неправильно: расплывчатый запрос
"Помоги оптимизировать код"
✅ Правильно: конкретный запрос
"Помоги оптимизировать функцию searchMarkets в src/api/markets.ts,
повысь производительность запросов, цель — снизить время отклика с 500 мс до менее 100 мс"Включите следующую информацию:
- Конкретные имена файлов или функций
- Чёткие цели (производительность, безопасность, читаемость и т.д.)
- Ограничения (не нарушать существующую функциональность, сохранять совместимость и т.д.)
Причина B: Отсутствие контекста
Проблема: Агенту не хватает необходимой контекстной информации для принятия правильных решений.
Решение:
Проактивно предоставляйте фоновую информацию:
Пользователь: Пожалуйста, помоги исправить падение тестов
❌ Неправильно: без контекста
"npm test выдаёт ошибку, помоги исправить"
✅ Правильно: предоставьте полный контекст
"При запуске npm test падает тест searchMarkets.
Сообщение об ошибке: Expected 5 but received 0.
Я только что изменил функцию vectorSearch, это может быть связано.
Пожалуйста, помоги найти и исправить проблему."Используйте Skills для предоставления предметных знаний:
Если у проекта есть специфическая библиотека навыков (~/.claude/skills/), агент автоматически загрузит соответствующие знания.
Причина C: Несоответствие области специализации агента
Проблема: Для обработки задачи используется неподходящий агент.
Решение:
Выбирайте правильного агента в соответствии с типом задачи:
| Тип задачи | Рекомендуемый агент | Команда |
|---|---|---|
| Реализация новой функции | tdd-guide | /tdd |
| Планирование сложной функции | planner | /plan |
| Ревью кода | code-reviewer | /code-review |
| Аудит безопасности | security-reviewer | ручной вызов |
| Исправление ошибок сборки | build-error-resolver | /build-fix |
| E2E тестирование | e2e-runner | /e2e |
| Очистка мёртвого кода | refactor-cleaner | /refactor-clean |
| Обновление документации | doc-updater | /update-docs |
| Проектирование системной архитектуры | architect | ручной вызов |
Ознакомьтесь с обзором агентов, чтобы узнать об обязанностях каждого агента.
Проблема 6: Недостаточные права доступа агента к инструментам
Симптомы
Агент пытается использовать инструмент, но получает отказ с ошибкой: "Tool not available: xxx".
Возможные причины
Причина A: Отсутствие инструмента в поле Tools
Проблема: Поле tools в Front Matter агента не содержит нужный инструмент.
Решение:
Проверьте поле tools агента:
# Просмотр разрешённых инструментов агента
grep -A 1 "^tools:" ~/.claude/agents/planner.mdЕсли инструмент отсутствует, добавьте его в поле tools:
---
name: my-custom-agent
description: Agent that needs to write code
tools: Read, Write, Edit, Grep, Glob # Убедитесь, что включены Write и Edit
model: opus
---Сценарии использования инструментов:
Read: Чтение содержимого файлов (необходимо почти всем агентам)Write: Создание новых файловEdit: Редактирование существующих файловBash: Выполнение команд (например, запуск тестов, сборка)Grep: Поиск по содержимому файловGlob: Поиск путей файлов
Причина B: Ошибка в написании названия инструмента
Проблема: В поле tools используется неверное название инструмента.
Решение:
Проверьте правильность написания названий инструментов (с учётом регистра):
| ✅ Правильно | ❌ Неправильно |
|---|---|
Read | read, READ |
Write | write, WRITE |
Edit | edit, EDIT |
Bash | bash, BASH |
Grep | grep, GREP |
Glob | glob, GLOB |
Проблема 7: Proactive агент не срабатывает автоматически
Симптомы
Некоторые агенты должны срабатывать автоматически (например, code-reviewer после изменения кода), но этого не происходит.
Возможные причины
Причина A: Условия срабатывания не выполнены
Проблема: В описании агента отмечено Use PROACTIVELY, но условия срабатывания не выполнены.
Решение:
Проверьте поле description агента:
# Просмотр описания агента
grep "^description:" ~/.claude/agents/code-reviewer.mdПример (code-reviewer):
description: Reviews code for quality, security, and maintainability. Use PROACTIVELY when users write or modify code.Условия срабатывания Proactive:
- Пользователь явно запрашивает ревью кода
- Только что завершено написание/изменение кода
- Перед коммитом кода
Ручной вызов:
Если автоматическое срабатывание не работает, можно вызвать вручную:
Пользователь: Пожалуйста, помоги проверить только что написанный код
Или используйте Command:
Пользователь: /code-reviewИнструменты и техники диагностики
Проверка состояния загрузки агентов
Посмотрите, правильно ли Claude Code загрузил всех агентов:
# Просмотр журналов Claude Code (если доступны)
# macOS/Linux
tail -f ~/Library/Logs/claude-code/claude-code.log | grep -i agent
# Windows
Get-Content "$env:APPDATA\claude-code\logs\claude-code.log" -Wait | Select-String "agent"Ручное тестирование агентов
В Claude Code протестируйте вызов агента вручную:
Пользователь: Пожалуйста, вызови агента planner, чтобы помочь спланировать новую функцию
# Наблюдайте, правильно ли вызывается агент
# Проверьте, соответствует ли вывод ожиданиямПроверка формата Front Matter
Используйте Python для проверки Front Matter всех агентов:
#!/bin/bash
for file in ~/.claude/agents/*.md; do
echo "Validating $file..."
python3 << EOF
import yaml
import sys
try:
with open('$file', 'r') as f:
content = f.read()
# Извлечение front matter (между ---)
start = content.find('---')
end = content.find('---', start + 3)
if start == -1 or end == -1:
print("Error: No front matter found")
sys.exit(1)
front_matter = content[start + 3:end].strip()
metadata = yaml.safe_load(front_matter)
# Проверка обязательных полей
required = ['name', 'description', 'tools']
for field in required:
if field not in metadata:
print(f"Error: Missing required field '{field}'")
sys.exit(1)
print("✅ Valid")
except Exception as e:
print(f"❌ Error: {e}")
sys.exit(1)
EOF
doneСохраните как validate-agents.sh и запустите:
chmod +x validate-agents.sh
./validate-agents.shКонтрольный список ✅
Проверьте каждый пункт:
- [ ] Файлы агентов в правильном месте (
~/.claude/agents/или.claude/agents/) - [ ] Файлы Command в правильном месте (
~/.claude/commands/или.claude/commands/) - [ ] Правильный формат Front Matter агента (содержит name, description, tools)
- [ ] Поле Tools использует правильные названия инструментов (с учётом регистра)
- [ ] Поле
invokesCommand соответствует имени файла агента - [ ] Плагин правильно включён в
~/.claude/settings.json - [ ] Описание задачи чёткое и конкретное
- [ ] Выбран подходящий агент для задачи
Когда нужна помощь
Если ни один из вышеперечисленных методов не решает проблему:
Соберите диагностическую информацию:
bash# Выведите следующую информацию echo "Claude Code version: $(claude-code --version 2>/dev/null || echo 'N/A')" echo "Agent files:" ls -la ~/.claude/agents/ echo "Command files:" ls -la ~/.claude/commands/ echo "Plugin config:" cat ~/.claude/settings.json | jq '.enabledPlugins'Посмотрите GitHub Issues:
- Посетите Everything Claude Code Issues
- Поищите похожие проблемы
Создайте Issue:
- Включите полное сообщение об ошибке
- Предоставьте информацию об операционной системе и версии
- Приложите содержимое соответствующих файлов агентов и Command
Резюме урока
Сбои при вызове агентов обычно делятся на следующие категории:
| Тип проблемы | Распространённые причины | Быстрая диагностика |
|---|---|---|
| Полностью не вызывается | Неправильный путь к файлу агента/Command, плагин не загружен | Проверьте расположение файлов, проверьте конфигурацию плагина |
| Agent not found | Несоответствие имён (Command invokes vs имя файла) | Проверьте имена файлов и поле invokes |
| Ошибка формата | Отсутствие полей в Front Matter, синтаксическая ошибка YAML | Проверьте обязательные поля, проверьте формат YAML |
| Таймаут выполнения | Высокая сложность задачи, неправильный выбор модели | Разбейте задачу, используйте модель opus |
| Вывод не соответствует ожиданиям | Нечёткое описание задачи, отсутствие контекста, несоответствие агента | Предоставьте конкретную задачу, выберите правильного агента |
| Недостаточные права доступа к инструментам | Отсутствие инструмента в поле Tools, ошибка в написании названия | Проверьте поле tools, проверьте названия инструментов |
Помните: большинство проблем можно решить, проверив пути к файлам, проверив формат Front Matter и выбрав правильного агента.
Предварительный просмотр следующего урока
В следующем уроке мы изучим Советы по оптимизации производительности.
Вы узнаете:
- Как оптимизировать использование токенов
- Как повысить скорость отклика Claude Code
- Стратегии управления контекстным окном
Приложение: Ссылки на исходный код
Нажмите, чтобы развернуть расположение исходного кода
Обновлено: 2026-01-25
| Функция | Путь к файлу | Строки |
|---|---|---|
| Конфигурация манифеста плагина | .claude-plugin/plugin.json | 1-28 |
| Агент Planner | agents/planner.md | 1-120 |
| Агент TDD Guide | agents/tdd-guide.md | 1-281 |
| Агент Code Reviewer | agents/code-reviewer.md | 1-281 |
| Команда Plan | commands/plan.md | 1-114 |
| Команда TDD | commands/tdd.md | 1-281 |
| Правила использования агентов | rules/agents.md | 1-50 |
Обязательные поля Front Matter (для всех файлов агентов):
name: Идентификатор агента (должен соответствовать имени файла без расширения.md)description: Описание функционала агента (включает описание условий срабатывания)tools: Список разрешённых инструментов (через запятую:Read, Grep, Glob)model: Предпочитаемая модель (opusилиsonnet, необязательно)
Разрешённые названия инструментов (с учётом регистра):
Read: Чтение содержимого файловWrite: Создание новых файловEdit: Редактирование существующих файловBash: Выполнение командGrep: Поиск по содержимому файловGlob: Поиск путей файлов
Ключевые пути конфигурации:
- Агенты уровня пользователя:
~/.claude/agents/ - Commands уровня пользователя:
~/.claude/commands/ - Настройки уровня пользователя:
~/.claude/settings.json - Агенты уровня проекта:
.claude/agents/ - Commands уровня проекта:
.claude/commands/
Конфигурация загрузки плагина (~/.claude/settings.json):
{
"enabledPlugins": {
"everything-claude-code@everything-claude-code": true
}
}