Исследование в первую очередь
/opsx:explore — ваш партнер по размышлениям. Обращайтесь к нему всякий раз, когда у вас есть проблема, но еще нет плана. Он исследует вашу кодовую базу, помогает взвешивать варианты и проясняет, чего вы на самом деле хотите, и все это до того, как только будет создан какой-либо артефакт или строка кода. Когда картина становится ясной, он передает работу /opsx:propose.
Если вы запомните что-то из этой документации, пусть это будет вот что: когда вы сомневаетесь, исследуйте, прежде чем предлагать.
Вот почему это важно. AI-помощники по кодированию очень увлечены. Задайте расплывчатый вопрос, и они уверенно создадут что-то, но, возможно, не то, что вам нужно. Исследование — это лекарство. Это бессмысленный разговор, в ходе которого вы с AI вместе находите правильный путь, чтобы к моменту предложения вы предлагали именно то, что нужно.
Когда следует исследовать
Исследование — это правильный первый шаг гораздо чаще, чем люди ожидают. Используйте его, если выполняется хотя бы одно из следующих условий:
- Вы знаете проблему, но не решение. ("Страницы работают медленно." "Аутентификация — бардак." "Мы постоянно получаем дубликаты заказов.")
- Вы выбираете между подходами и хотите, чтобы компромиссы были представлены на фоне вашего реального кода.
- Вы новичок в кодовой базе и вам нужно понять, как что-то работает, прежде чем вы это измените.
- Требования нечеткие, и вы хотите их уточнить, прежде чем принимать обязательства.
- Вы подозреваете, что работа больше или меньше, чем кажется, и хотите честно оценить объем задачи.
Пропускайте исследование только в том случае, если вы уже точно знаете, чего хотите и как это сделать. В этом случае переходите сразу к /opsx:propose.
Что он делает (а что нет)
Исследование — это разговор, а не генератор.
Он делает:
- Читает и ищет информацию в вашей кодовой базе, чтобы ответить на реальные вопросы.
- Сравнивает варианты и называет компромиссы для каждого из них.
- Рисует диаграммы, делая дизайн понятным.
- Помогает сузить расплывчатую идею до конкретного, реализуемого объема работ.
- Переходит к
/opsx:propose, когда вы готовы.
Он не делает:
- Создает папку для изменений.
- Пишет какие-либо артефакты (никаких предложений, спецификаций, дизайна или задач).
- Пишет или изменяет код.
В этом и суть. Исследование не стоит вам ничего и не обязывает вас ни к чему. Вы можете исследовать три тупика, узнать что-то от каждого, а только потом предлагать тот путь, который выжил.
Он уже установлен
Хорошие новости: /opsx:explore входит в состав стандартного профиля core вместе с propose, apply, sync и archive. Вам не нужно ничего включать. Если OpenSpec настроен в вашем проекте, исследование готово в вашем AI-чате. (Как и для всех команд /opsx:*, вы вводите его в чат своего помощника, а не в терминале. См. Как работают команды.)
Полный пример
Посмотрите, как расплывчатое беспокойство превращается в четкое, реализуемое изменение.
text
You: /opsx:explore
AI: What would you like to explore?
You: Our checkout sometimes creates duplicate orders. I don't know why
and I don't know how to fix it safely.
AI: Let me dig into the checkout path...
[reads the order service, the payment webhook handler, and the
client submit logic]
Here's what I found. There are two ways a duplicate can happen:
1. The client can submit twice (double-click, retry on slow network).
Nothing debounces it.
2. The payment webhook can fire more than once, and the handler
creates an order each time. There's no idempotency key.
Cause #2 is the dangerous one: it can charge and fulfill twice.
Three ways to fix it, roughly in order of robustness:
- Idempotency key on the order-creation endpoint (handles both causes)
- Dedup on the webhook by payment-intent id (handles #2 only)
- Client-side debounce (handles #1 only, papers over the real bug)
Given your code already stores the payment-intent id, the
idempotency-key approach is a small change with the biggest payoff.
Want me to scope that?
You: Yes, let's do the idempotency key.
You: /opsx:propose add-order-idempotency-key
AI: Created openspec/changes/add-order-idempotency-key/, with a proposal
and delta spec grounded in what we just found. Ready for implementation.Обратите внимание, что произошло. Начальная точка была "что-то не так, и я боюсь трогать это". Двадцать секунд исследования превратили это в названную корневую причину, три ранжированных варианта, рекомендацию, связанную с существующим кодом, и точное изменение. Последующее предложение является четким, потому что сначала произошло мышление.
Передача работы на этап предложения (propose)
Исследование никуда не архивируется. Когда вы готовы, вы просто начинаете изменение, и AI переносит контекст из вашего разговора в артефакты.
text
explore ──► propose ──► apply ──► archive
(think) (agree) (build) (record)Вы можете сказать это обычным языком ("давайте превратим это в изменение") или запустить /opsx:propose <name> напрямую. В любом случае, исследование, которое вы только что провели, становится основой предложения, а не случайным чатом.
Если вы используете расширенный набор команд, explore может передать работу /opsx:new для пошагового создания артефактов. См. Рабочие процессы.
Советы для хорошего исследования
- Приносите проблему, а не решение. "Логины работают медленно" дает AI возможность исследовать. А вот "Добавить кэш Redis" заранее обязывает вас ответом, который вы еще не протестировали.
- Говорите о компромиссах вслух. "Каковы недостатки каждого варианта?" — это даст вам более честное сравнение.
- Позвольте ему читать сначала. Лучшие исследования начинаются с того, что AI действительно изучает ваш код, а не гадает. Укажите на соответствующую область, если это поможет.
- Ничего страшного, если придется отступить. Если исследование показывает, что идея не стоит затрат, это победа. Вы узнали об этом недорого.
- Исследуйте снова во время изменения. Застряли во время
/opsx:apply? Вы можете вернуться назад и исследовать подпроблему, а затем вернуться к работе.
Честные компромиссы
Что вы получаете: explore ловит ошибки на самом дешевом этапе, до того как существует какой-либо артефакт. Это особенно мощно при работе с незнакомым кодом, где способность AI читать и обобщать систему экономит вам целый день "исследований".
Какова цена: немного терпения. Исследование — это разговор, поэтому оно медленнее, чем мгновенный запуск /opsx:propose в надежде. Для работы, которую вы уже действительно понимаете, этот дополнительный шаг — чистый оверхед, и его следует пропустить.
Общее правило: чем расплывчатее задача, тем больше пользы приносит explore. Чем яснее задача, тем больше можно сразу перейти к предложению.
Куда двигаться дальше
- Команды:
/opsx:explore: точное руководство - Рабочие процессы: explore как часть ежедневного цикла
- Примеры и рецепты: explore в полном обзоре
- Начало работы: руководство по первому изменению, включая исследование