Эволюция sub-agents

Использую агентов из проекта https://github.com/lst97/claude-code-sub-agents и решил узнать мнение Claude Code по поводу актуальности данного проекта и как можно повысить эффективность.

Вопрос:

В данном проекте находятся суб-агенты для claude code. проанализируй на сколько данный проект и агенты соответствуют текущим функциональным возможностям claude code, в какой мере они реализуют доступный функционал и что можно и стоит улучшить? При анализе используй официальную документацию, отаслевые стандарты. Нельзя использовать допущения и вольные интерпретации, только достоверные данные.

CC запустил двух агентов — «Explore project structure deeply» и «Research Claude Code official docs» и выдал ответ:

Анализ проекта claude-code-sub-agents: соответствие функциональным возможностям Claude Code

Методология

Анализ основан на:

  • Официальная документация Claude Code: code.claude.com/docs/en/ (страницы: sub-agents, hooks, overview, memory, skills, agent-teams, plugins)
  • Фактическое содержимое всех 33 агентов проекта и конфигурационных файлов
  • Системный промпт Claude Code (рантайм-контекст текущей сессии)

1. Что проект реализует корректно

1.1 Базовая структура агентов

Проект верно использует формат Markdown с YAML frontmatter (name, description, tools, model). Это полностью соответствует спецификации из документации.

1.2 Правильное размещение файлов

Начиная с коммита 96f5a50, файлы перенесены в директорию agents/, что соответствует ~/.claude/agents/ при установке.

1.3 Описания для автоматической маршрутизации

Каждый агент имеет детальное поле description с ключевыми словами-триггерами и фразами вроде «Use PROACTIVELY» — это рекомендованная практика для автоматической делегации.

1.4 Разделение моделей

Проект правильно использует haiku для лёгких агентов (обзор кода, документация, оркестрация) и sonnet для тяжёлых (разработка, архитектура). Это оптимальная стратегия по соотношению стоимость/качество.

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

Read-only агенты (code-reviewer, architect-reviewer) ограничены инструментами Read, Grep, Glob, LS без Write/Edit — это best practice из документации.


2. Критические пробелы относительно текущих возможностей

2.1 Отсутствующие поля frontmatter

Документация определяет 12 полей frontmatter. Проект использует только 4 из них:

Поле Статус в проекте Что даёт
name Используется Идентификатор агента
description Используется Когда делегировать
tools Используется Доступные инструменты
model Используется Модель агента
disallowedTools Отсутствует Явный запрет конкретных инструментов (дополняет tools)
permissionMode Отсутствует Режим прав: default, acceptEdits, dontAsk, plan, bypassPermissions
maxTurns Отсутствует Лимит итераций агента (защита от зацикливания)
skills Отсутствует Предзагрузка Skills в контекст агента
mcpServers Отсутствует MCP серверы, доступные конкретному агенту
hooks Отсутствует Хуки жизненного цикла агента (PreToolUse, PostToolUse, Stop)
memory Отсутствует Персистентная память агента (user/project/local)

Влияние: Без permissionMode агенты не могут автоматически принимать правки (acceptEdits) или работать в read-only режиме (plan). Без memory агенты не накапливают знания между сессиями. Без hooks нет валидации действий агента.

2.2 Skills (пользовательские навыки) — полностью не задействованы

Claude Code поддерживает систему Skills — пользовательские /slash-commands с конфигурируемым поведением:

  • Описание и автоматическое использование модели
  • context: fork для выполнения в изолированном суб-агенте
  • allowed-tools для ограничения инструментов
  • $ARGUMENTS для параметров
  • !`command` для инъекции динамического контекста
  • Поддержка файлов-шаблонов

Проект не создаёт и не использует Skills. Это значительный пробел: многие агенты (например api-documenter, test-automator, debugger) идеально подходят для оформления как Skills с context: fork.

2.3 Agent Teams — полностью не задействованы

Claude Code поддерживает Agent Teams (экспериментальная функция):

  • Несколько Claude Code сессий работают параллельно
  • Общий task list с зависимостями
  • Прямой обмен сообщениями между агентами
  • Team lead координирует работу
  • Режим delegate для lead-а (только координация)

Проект не учитывает эту возможность, хотя agent-organizer концептуально выполняет роль team lead. Текущая архитектура проекта (agent-organizer → рекомендация → последовательное выполнение через Task) значительно уступает Agent Teams по возможности параллельной работы.

2.4 Plugins — полностью не задействованы

Claude Code поддерживает Plugins — стандартный формат дистрибуции:

  • .claude-plugin/plugin.json манифест
  • Каталоги skills/, agents/, hooks/
  • MCP и LSP серверы в плагине
  • Распространение через marketplace
  • Namespace для предотвращения конфликтов

Проект распространяется через git clone в ~/.claude/, а не как плагин. Это работает, но не использует стандартный механизм дистрибуции.

2.5 Hooks — полностью не задействованы

Claude Code поддерживает 14 типов хуков:

Хук Что делает
SessionStart Инъекция контекста при старте
UserPromptSubmit Валидация промптов
PreToolUse Блокировка/модификация действий инструментов
PostToolUse Пост-обработка (линтинг, тесты)
PermissionRequest Автоматическое разрешение/запрет
SubagentStart/Stop Контроль суб-агентов
Stop Проверка завершённости работы
TaskCompleted Quality gate перед закрытием задачи
TeammateIdle Контроль простоя

Ни один агент проекта не определяет хуки. Для агентов вроде security-auditor, code-reviewer, test-automator хуки критически полезны — например, PreToolUse для валидации команд, Stop для проверки полноты ревью.

2.6 Memory (персистентная память агентов)

Документация определяет три скоупа памяти агента:

  • user — `~/.claude/agent-memory/ /` (между проектами)
  • project — `.claude/agent-memory/ /` (в рамках проекта, в VCS)
  • local — `.claude/agent-memory-local/ /` (локально)

Ни один агент проекта не использует поле memory. Это означает, что агенты не сохраняют и не накапливают знания между сессиями. Для code-reviewer, debugger, architect-reviewer это особенно ценно — они могли бы запоминать паттерны проекта, найденные уязвимости, архитектурные решения.


3. Архитектурные и структурные проблемы

3.1 agent-organizer: устаревшая концепция оркестрации

Проблема: agent-organizer использует инструмент TodoWrite, которого нет в текущем Claude Code. Актуальные инструменты — TaskCreate, TaskUpdate, TaskList, TaskGet.

Проблема: Суб-агенты не могут порождать другие суб-агенты (документация явно указывает: «Subagents cannot spawn other subagents»). Это означает, что agent-organizer, работающий как суб-агент, не может сам запускать рекомендованных агентов. Он может только вернуть рекомендацию основному процессу, который затем должен запустить агентов. Это делает весь Agent Dispatch Protocol из CLAUDE.md рабочим только как двухшаговый процесс.

Влияние: В текущей реализации Agent Teams позволяет достичь того, что agent-organizer пытается сделать, но нативными средствами Claude Code.

3.2 Избыточность и пересечение агентов

Пересечение Детали
full-stack-developer vs frontend-developer + backend-architect Полный стек = сумма frontend + backend
database-optimizer vs postgres-pro Оба оптимизируют БД, второй — специализация первого
incident-responder vs devops-incident-responder Оба работают с инцидентами, разница размыта
code-reviewer vs architect-reviewer Пересечение по ревью архитектуры
ui-designer vs ux-designer Значительное пересечение по задачам интерфейса

33 агента — это избыточное количество. Документация рекомендует: «Design focused subagents: each subagent should excel at one specific task.» Меньше агентов с чёткими границами эффективнее, чем много агентов с пересекающимися зонами ответственности (Claude тратит контекст на загрузку описаний всех агентов).

3.3 MCP серверы указаны в tools, а не в mcpServers

Агенты перечисляют MCP-инструменты в поле tools как строки (mcp__context7__resolve-library-id). Это работает технически, но:

  • Требует, чтобы MCP серверы были предварительно сконфигурированы глобально
  • Не используют поле mcpServers в frontmatter, которое позволяет агенту самому определять нужные MCP серверы

3.4 Отсутствие disallowedTools

Вместо явного белого списка tools иногда лучше использовать disallowedTools для blacklist-подхода. Например, для code-reviewer:

disallowedTools: Write, Edit, NotebookEdit

Это гибче, чем перечисление всех разрешённых инструментов, так как автоматически подхватывает новые инструменты.

3.5 Опечатка в файле

agents/development/electorn-pro.md — опечатка в имени файла (должно быть electron-pro.md).


4. Количественная оценка реализации функционала

Возможность Claude Code Статус в проекте Покрытие
Определение суб-агентов (Markdown + YAML) Реализовано Полное
Базовые поля frontmatter (name, description, tools, model) Реализовано 4/12 полей
disallowedTools Не реализовано 0%
permissionMode Не реализовано 0%
maxTurns Не реализовано 0%
Hooks в агентах Не реализовано 0%
Memory (персистентная) Не реализовано 0%
Skills preloading Не реализовано 0%
mcpServers в frontmatter Не реализовано 0%
Skills система Не реализовано 0%
Plugins формат Не реализовано 0%
Agent Teams интеграция Не реализовано 0%
/agents команда Не используется 0%

Общая оценка: проект реализует ~25-30% доступного функционала Claude Code для суб-агентов.


5. Рекомендации по улучшению (по приоритету)

Высокий приоритет

  1. Добавить memory к ключевым агентамcode-reviewer, debugger, architect-reviewer, security-auditor должны накапливать знания между сессиями. Это даст немедленный прирост качества.

  2. Добавить permissionModecode-reviewer и architect-reviewer должны иметь permissionMode: plan (только чтение). Агенты-разработчики могут использовать acceptEdits.

  3. Добавить maxTurns — защита от зацикливания агентов. Например, agent-organizer (анализ) — 15 итераций, разработчики — 50.

  4. Добавить хукиsecurity-auditor с PreToolUse для валидации команд; test-automator с Stop для проверки прохождения тестов; code-reviewer с Stop для проверки полноты ревью.

  5. Исправить TodoWrite → TaskCreate/TaskUpdateagent-organizer использует устаревший инструмент.

Средний приоритет

  1. Сократить количество агентов — объединить пересекающиеся агенты, оставить 20-22 с чёткими границами. Больше описаний = больше контекста расходуется.

  2. Конвертировать в Plugin — создать .claude-plugin/plugin.json для стандартной дистрибуции и namespace-ирования.

  3. Добавить mcpServers в frontmatter — вместо указания MCP-инструментов в tools, объявлять зависимости от MCP серверов явно.

  4. Создать Skills для типовых задач/review-pr, /fix-issue, /deploy, /write-tests как Skills с context: fork и привязкой к агентам.

Низкий приоритет

  1. Документировать совместимость с Agent Teams — описать, как агенты проекта работают в режиме Agent Teams.

  2. Добавить disallowedTools для агентов с blacklist-подходом.

  3. Исправить опечатку electorn-pro.mdelectron-pro.md.


Заключение

Проект claude-code-sub-agents — зрелая и хорошо структурированная коллекция суб-агентов, покрывающая широкий спектр задач разработки. Однако он использует только базовый уровень возможностей Claude Code, игнорируя 8 из 12 полей frontmatter и целые подсистемы (Skills, Hooks, Plugins, Agent Teams, персистентную память). Наибольший практический эффект дадут добавление memory для накопления знаний, permissionMode для безопасности, и hooks для quality gates — это позволит реализовать около 60-70% доступного функционала без переписывания архитектуры.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *