Попросил Claude Code оценить эффективность использования субагентов в проекте NextDiary
Отчёт об эффективности использования субагентов Claude Code
Проект: NextDiary (Nextcloud App) Период: 8–14 февраля 2026 Модель основного контекста: claude-opus-4-6 Конфигурация: claude-code-subagents (custom agents)
1. Обзор сессии
| Метрика | Значение |
|---|---|
| Дней работы | 6 |
| Запросов к API (основной контекст) | 2 865 |
| Сообщений пользователя | ~1 797 |
| Вызовов инструментов | 1 525 |
| Субагентов запущено | 54 |
| Субагентов завершено (с отчётом) | 14 |
Активность по дням
| Дата | Время работы | Запросов | Что сделано |
|---|---|---|---|
| 08.02 | 16:33–22:08 | 323 | Анализ проекта, первая попытка форка |
| 09.02 | 07:41–21:40 | 260 | Полный форк NextDiary, подсветка дат в календаре |
| 10.02 | 08:59–22:16 | 649 | Исправления календаря, полный анализ архитектуры |
| 11.02 | 12:29–22:12 | 690 | Теги, симптомы, препараты, настройки сайдбара |
| 13.02 | 08:53–21:33 | 863 | Вложения файлов, экспорт, 12 переводов, аудит безопасности |
| 14.02 | 10:36–15:53 | 80 | Очистка веток/тегов, анализ эффективности |
2. Использование субагентов по типам
| Тип субагента | Запусков | Токенов (из отчётов) | Инструментов | Назначение |
|---|---|---|---|---|
| general-purpose | 11 | 206 831 | 13 | Переводы на 11 языков |
| agent-organizer | 10 | — | — | Планирование фич |
| Explore | 10 | — | — | Исследование кодовой базы |
| frontend-developer | 6 | 31 080 | 8 | Анализ и разработка фронтенда |
| full-stack-developer | 5 | — | — | Комплексная реализация фич |
| debugger | 4 | — | — | Отладка ошибок |
| ux-designer | 2 | — | — | UX-анализ |
| backend-architect | 1 | 28 808 | 5 | Анализ бэкенд-архитектуры |
| database-optimizer | 1 | 27 302 | 5 | Анализ производительности БД |
| code-reviewer-pro | 1 | — | — | Код-ревью |
| ui-designer | 1 | — | — | Анализ мобильного UI |
| Plan | 1 | — | — | Планирование рефакторинга |
| security-auditor | 1 | — | — | Аудит безопасности |
| Итого | 54 | 279 021 | 31 |
> Примечание: метрики токенов доступны только для 14 субагентов, которые вернули task-notification с полными данными. Остальные 40 запусков не имеют детальной статистики в логах.
3. Использование инструментов (основной контекст)
| Инструмент | Вызовов | Доля |
|---|---|---|
| Bash | 417 | 27.3% |
| Edit | 373 | 24.5% |
| Read | 366 | 24.0% |
| TaskUpdate | 102 | 6.7% |
| Write | 87 | 5.7% |
| Task (субагенты) | 54 | 3.5% |
| TaskCreate | 47 | 3.1% |
| Grep | 43 | 2.8% |
| Glob | 13 | 0.9% |
| Прочие | 23 | 1.5% |
4. Анализ параллелизма
4.1. Переводы (11 языков параллельно)
Самый показательный кейс использования субагентов — создание переводов для 11 языков одновременно.
| Метрика | Значение |
|---|---|
| Языков | 11 (de, fr, es, it, pt_BR, nl, pl, zh_CN, uk, ja, tr) |
| Ключей перевода | 68 на каждый язык |
| Окно запуска | 106 сек (16:38:19–16:40:05) |
| Время до последнего завершения | 10.6 мин |
| Оценка последовательного выполнения | ~22 мин |
| Ускорение | 2.1x |
Все 11 субагентов типа general-purpose были запущены в фоне (run_in_background: true) с интервалом ~10 сек. Каждый получил полный список ключей и контекст приложения. Результаты собраны в основном контексте и записаны в файлы l10n/{lang}.js и l10n/{lang}.json.
Среднее потребление на перевод: ~18 800 токенов.
4.2. Анализ архитектуры (3 направления параллельно)
| Субагент | Тип | Время | Токены | Инструменты |
|---|---|---|---|---|
| Frontend | frontend-developer | 2.2 мин | 31 080 | 8 |
| Backend | backend-architect | 161.1 мин | 28 808 | 5 |
| Database | database-optimizer | 159.2 мин | 27 302 | 5 |
| Метрика | Значение |
|---|---|
| Параллельное время | 161.1 мин |
| Последовательная сумма | 322.6 мин |
| Ускорение | 2.0x |
> Примечание: длительное время backend и database агентов (2.5+ часа) связано с задержками в очереди или ожиданием ресурсов API, а не с фактической сложностью задачи.
5. Эффективность по категориям задач
5.1. Высокая эффективность
| Задача | Субагент | Почему эффективно |
|---|---|---|
| Массовые переводы | general-purpose ×11 | Идеально параллелизуемая задача, каждый агент независим |
| Параллельный анализ | frontend + backend + db | Три независимых среза архитектуры одновременно |
| Аудит безопасности | security-auditor | Специализированный агент нашёл 6 уязвимостей, 4 из них реальные |
5.2. Средняя эффективность
| Задача | Субагент | Замечания |
|---|---|---|
| agent-organizer ×10 | agent-organizer | Полезен для планирования, но часто дублировал работу, которую затем делал основной контекст |
| Explore ×10 | Explore | Полезен для начальной разведки, но результаты часто приходилось перепроверять |
5.3. Низкая эффективность
| Задача | Субагент | Проблемы |
|---|---|---|
| Отладка | debugger ×4 | 4 запуска для решения проблем с JS-бандлом; корневая причина (несовместимые ассеты) найдена вручную |
| Повторные попытки форка | agent-organizer ×3 | Три запуска agent-organizer для планирования форка, каждый раз с нуля |
6. Метрики основного контекста
| Метрика | Значение |
|---|---|
| Input tokens (без кэша) | 34 808 |
| Output tokens | 490 277 |
| Cache read tokens | 271 675 961 |
| Cache creation tokens | 15 643 788 |
| Cache hit rate | 94.6%* |
* Cache hit rate рассчитан как cache_read / (cache_read + cache_creation).
Соотношение токенов
| Компонент | Токены | Доля от общего |
|---|---|---|
| Основной контекст (output) | 490 277 | 63.7% |
| Субагенты (суммарно) | 279 021 | 36.3% |
7. Ключевые наблюдения
Что работает хорошо
-
Параллельные однотипные задачи — переводы, анализ по срезам архитектуры. Ускорение 2.0–2.1x при 3–11 параллельных агентах.
-
Специализированные аудиты — security-auditor провёл системный аудит и нашёл реальные уязвимости (небезопасный CommonMarkConverter, утечка
$e->getMessage(), отсутствие валидации расширений файлов). -
Фоновые исследования — запуск Explore-агентов в фоне для изучения кодовой базы, пока основной контекст занят другой работой.
Что работает плохо
-
agent-organizer как посредник — 10 запусков, но часто результат планирования не использовался напрямую: основной контекст переделывал план или реализовывал фичу по-своему. Overhead на координацию.
-
Отладка субагентами — debugger-агенты не имеют контекста предыдущих попыток и работают с чистого листа. Для отладки сложных проблем (вроде несовместимых JS-бандлов) основной контекст эффективнее.
-
Потеря результатов — из 54 запущенных субагентов только 14 вернули полные метрики через task-notification. Остальные 40 либо не были фоновыми, либо результат потребился до получения нотификации.
-
Дублирование работы — agent-organizer иногда запускал собственных субагентов внутри себя, создавая вложенные цепочки. Результат: те же данные собираются дважды.
Рекомендации
-
Использовать субагенты для: массовых однотипных задач (переводы, тесты, линтинг), параллельных независимых исследований, специализированных аудитов.
-
Не использовать субагенты для: итеративной отладки, задач с зависимостями между шагами, задач требующих знание контекста предыдущих попыток.
-
Оптимизировать agent-organizer: использовать только для действительно сложных многокомпонентных задач, а не для каждого планирования.
-
Улучшить метрики: обеспечить сбор token usage для всех субагентов, не только фоновых.
8. Разработанный функционал за сессию
За 6 дней работы реализовано:
| Фича | Этап | Субагенты |
|---|---|---|
| Форк Diary → NextDiary | Полное переименование пакета | agent-organizer, full-stack-developer, debugger |
| Подсветка дат в календаре | Бэкенд + фронтенд | Explore, full-stack-developer, debugger |
| Система тегов | БД + API + UI | agent-organizer, full-stack-developer |
| Симптомы и самочувствие | БД + API + UI | agent-organizer, ux-designer |
| Препараты | БД + API + UI | full-stack-developer ×3 |
| Настройки сайдбара | Фронтенд | frontend-developer |
| Вложения файлов | БД + API + файловая система + UI | agent-organizer, Explore |
| Экспорт (Markdown + PDF) | Бэкенд + UI | Explore ×2, Plan |
| Переводы (12 языков) | l10n | general-purpose ×11 |
| Аудит безопасности | Код-ревью + исправления | security-auditor |
| Публикация (App Store prep) | Структура релиза | Explore ×2 |