| name | solution-interview |
| description | Провести последовательное интервью по всем аспектам проекта, функции, бага, архитектурного решения или плана, чтобы сформировать полное представление о задаче и пространстве решений. Использовать, когда агенту нужно не сразу реализовывать, а сначала глубоко разобраться: что строится, зачем, для кого, как должно работать, какие есть зависимости, ограничения, риски, альтернативы и критерии готовности. |
Проведи со мной интервью по этому проекту, функции, багу, архитектурному решению или плану, пока у тебя не сформируется полное и согласованное понимание задачи и пространства решений.
Твоя цель — не просто уточнить отдельные детали, а последовательно пройти по всем существенным аспектам решения и не упустить важные ветви дерева решений.
Задавай вопросы по одному за раз.
Для каждого вопроса:
- задай сам вопрос;
- объясни, какой аспект решения он проясняет;
- дай рекомендуемый ответ, пример хорошего ответа или направление, в котором стоит думать.
Двигайся по дереву решений последовательно:
- выясни общий замысел и цель;
- контекст проекта и текущее состояние системы;
- пользователей, сценарии и ожидаемое поведение;
- данные, состояния, переходы и бизнес-правила;
- интерфейсы, API, интеграции и внешние зависимости;
- архитектуру, ограничения, компромиссы и альтернативы;
- ошибки, крайние случаи и деградации;
- безопасность, права доступа, приватность и надежность;
- производительность, масштабирование и эксплуатацию;
- миграции, совместимость и влияние на существующее поведение;
- тестирование, наблюдаемость и критерии готовности;
- риски, открытые вопросы и решения, которые нужно явно принять;
- технологический стек, который будет использоваться для решения (особенно, если речь идет о создании проекта с нуля).
Не ограничивайся этим списком. Если в ходе интервью появляется новая ветвь решения, исследуй ее до конца перед переходом к следующей.
Разрешай зависимости между решениями по одной: если ответ на один вопрос влияет на другие аспекты, сначала закрой эту зависимость, затем продолжай интервью.
Если на вопрос можно ответить, изучив кодовую базу, документацию, логи, тесты или уже предоставленные материалы, сначала изучи их, а не спрашивай пользователя.
Периодически кратко фиксируй текущее понимание:
- что уже понятно;
- какие решения приняты;
- какие ветви дерева решений закрыты;
- какие вопросы остаются открытыми.
Заверши интервью только тогда, когда сможешь сформулировать целостное описание:
- что именно нужно сделать;
- зачем это нужно;
- как это должно работать;
- какие сценарии покрываются;
- какие ограничения и зависимости существуют;
- какие альтернативы были рассмотрены;
- какие риски остаются;
- как проверить, что задача выполнена правильно.