Вроде полезная штука для снижения хаоса в разработке с AI.
Уменьшения галлюцинаций. Шаг влево, шаг вправо - стой, стрелять буду)
Но как обычно бывает есть нюанс(
На сильных моделях (ака Claude Sonnet+) все работает идеально.
Процесс идет по шагам brainstorming -> plans -> TDD в subagents -> review (двойное - каждого шага и общее) -> вливание в основную ветку.
И после каждого этапа commit, что тоже очень даже полезно.
Процент прохождения по workflow близок к 100%.
Но... на сильных моделях и так все неплохо работает, даже без workflow.
А вот на слабых (ака Qwen Code 3, Deepseek 4 Flash) процесс сходит с рельс.
Т.е. запускаем brainstorming - он может не перейти к планированию, а сразу написать TODO и пойти писать код.
Запустилось таки планирование - он может спросить: "переходить ли к TDD в субагенте или в основном потоке", но потом забить на ответ и ... снова пойти писать код.
И закоммитить пройденные шаги забудет.
Про то, чтобы по мере необходимости подключались другие скилы из superpowers (продвинутая отладка например) и речи не идет.
А ведь как раз на слабой модели порядок очень нужен.
Причина тут понятна, их по сути две:
1) superpowers писали и отлаживали на сильных моделях
2) слабые модели, особенно без ризонинга (но и с ризонингом тоже) теряют правила, заданные в контексте.
При сжатии контекста, да и просто по мере его заполнения.
Любая модель к моменту заполнения допустимого контекста начинает галлюцинировать, а слабые - сильнее.
Пример. В конце загруженного в контекст скила writing-plans написано:
...
After saving the plan, offer execution choice:
**"Plan complete and saved to `docs/superpowers/plans/<filename>.md`. Two execution options:**
**1. Subagent-Driven (recommended)** - I dispatch a fresh subagent per task, review between tasks, fast iteration
**2. Inline Execution** - Execute tasks in this session using executing-plans, batch execution with checkpoints
**Which approach?"**
**If Subagent-Driven chosen:**
- **REQUIRED SUB-SKILL:** Use superpowers:subagent-driven-development
- Fresh subagent per task + two-stage review
...
А к моменту окончания планирования агент это уже забыл(
Ризонинг помогает, он по сути связывает рассуждения агента в цепочку.
Но и с ним рано или поздно модель забывает о workflow.
Что же делать?
Сделать основной агент чистым оркестратором, оставив в его контексте только обвязку (куда без нее), исходную задачу и список шагов.
Список должен быть линейным.
Весь процесс разработки уходит в субагенты - brainstorming, планирование...
Обмен данными между субагентами через файлы - опять же, чтобы не забивать контекст.
Так процесс более менее работает.
Альтернативные варианты:
- больше императивного наклонения в скилах (ОБЯЗАТЕЛЬНО вызови, НИКОГДА не переходи...)
- уменьшение размера обвязки в контексте до минимума
- загрузка скила using-superpowers (используй superpowers всегда) при старте сессии
не работают.
Скорее всего заработает запрет на переход к неправильному этапу через хуки (PreToolUse, сохранение состояния на диски), но видится, что это уже не AI агент, а state machine получится.
Загрузка информации о superpowers при старте сессии, кстати, автоматически настраивается при установке расширения\плагина.
Причем происходит двойная загрузка - и через хук, и через файл контекста (AGENTS.md) внутри расширения.
Т.е. проблема забывчивости присутствует с любыми моделями, даже сильными.
По хорошему же должно быть так - описания всех скилов есть в контексте, модель вызовет их в подходящий момент.
Скил-напоминалка в теории не нужен. А по факту нужен, и по моему опыту проблему решает.
#ai