Skip to content

досліджуйте спочатку

/opsx:explore — це ваш інтелектуальний партнер. Звертайтеся до нього щоразу, коли у вас виникає проблема, але ще немає плану. Він аналізує вашу кодову базу, допомагає зважити варіанти та прояснює, чого саме ви насправді хочете — і все це задовго до створення будь-якого артефакту чи рядка коду. Коли картина стає чіткою, він передає роботу /opsx:propose.

Якщо ви запам'ятаєте щось із цих документів, то запам'ятайте це: коли ви не впевнені, досліджуйте, перш ніж пропонувати рішення.

Ось чому це важливо. Штучні інтелекти для кодування надзвичайно працьовиті. Поставте невизначене питання, і вони впевнено створять щось, але це може бути не те, що вам потрібно. Explore — це ліки. Це розмова без ставок, під час якої ви та AI разом знаходите правильний напрямок, щоб коли ви будете пропонувати рішення, ви пропонували саме те, що правильно.

Коли варто досліджувати

Explore є правильним першим кроком частіше, ніж очікують люди. Використовуйте його, якщо виконується будь-яка з цих умов:

  • Ви знаєте проблему, але не рішення. ("Сторінки працюють повільно." "Аутентифікація — це хаос." "Ми постійно отримуємо дублюючі замовленняння.")
  • Ви обираєте між підходами і хочете, щоб усі компроміси були викладені з урахуванням вашої поточної кодової бази.
  • Ви новачок у певній кодовій базі та вам потрібно зрозуміти, як щось працює, перш ніж це змінювати.
  • Вимоги є розмитими, і ви хочете їх уточнити перед фіксацією.
  • Ви підозрюєте, що робота більша або менша, ніж здається, і хочете чесно оцінити обсяг.

Пропускайте explore лише тоді, коли ви вже точно знаєте, чого хочете і як це реалізувати. У такому випадку прямуйте до /opsx:propose.

Що він робить (а чого не робить)

Explore — це розмова, а не генератор.

Він робить:

  • Читає та шукає у вашій кодовій базі, щоб відповісти на реальні питання.
  • Порівнює варіанти та називає компроміси кожного з них.
  • Створює діаграми, щоб зробити дизайн зрозумілим.
  • Допомагає звузити розмиту ідею до конкретного, реалізованого обсягу.
  • Переходить до /opsx:propose, коли ви готові.

Він не робить:

  • Створює папку для змін.
  • Пише жодних артефактів (жодного пропозиції, специфікацій, дизайну чи завдань).
  • Пише або змінює код.

Ось у чому суть. Дослідження коштує вам нічого і не зобов'язує вас нічим. Ви можете дослідити три тупикові шляхи, винести з кожного щось на користь, а лише потім запропонувати той шлях, який пережив усі перевірки.

Він вже встановлений

Хороша новина: /opsx:explore постачається у стандартному профілі core разом із propose, apply, sync та archive. Вам не потрібно нічого вмикати. Якщо OpenSpec налаштовано у вашому проєкті, explore готовий у вашому AI-чаті. (Як і для всіх команд /opsx:*, ви вводИТЕ це у чаті свого асистента, а не у терміналі. Дивіться How Commands Work.)

Повний приклад

Подивіться, як невизначене занепокоєння перетворюється на чітку, реалізовану зміну.

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

Explore нічого не архівує. Коли ви готові, ви просто починаєте зміни, і AI бере контекст із вашої розмови та вносить його до артефактів.

text
explore  ──►  propose  ──►  apply  ──►  archive
 (think)     (agree)       (build)     (record)

Ви можете сказати це простою мовою ("давай перетворимо це на зміну") або запустити /opsx:propose <name> безпосередньо. У будь-якому випадку, дослідження, яке ви щойно провели, стає основою пропозиції, а не викиданою розмовою.

Якщо ви використовуєте розширений набір команд, explore може передати роботу /opsx:new замість цього для створення артефактів покроково. Дивіться Workflows.

Поради для якісного дослідження

  • Приносьте проблему, а не рішення. "Логіни працюють повільно" дає AI простір для розслідування. "Додай кеш Redis" попередньо зобов'язує вас відповіддю, яку ви ще не протестували.
  • Просіть озвучити компроміси. "Які є недоліки кожного варіанта?" — це дасть вам більш чесне порівняння.
  • Дайте йому прочитати спочатку. Найкращі дослідження починаються з того, що AI справді дивиться на ваш код, а не здогадується. Вкажіть релевантну область, якщо це допоможе.
  • Добре, якщо відмовитися. Якщо дослідження виявляє, що ідея не варта зусиль, це перемога. Ви навчилися це за низьку ціну.
  • Досліджуйте знову під час змін. Застрягли під час /opsx:apply? Ви можете відступити назад і дослідити субістечу проблему, а потім повернутися.

Чесні компроміси

Що ви отримуєте: explore ловить помилки на найдешевшому етапі, перш ніж існує будь-який артефакт. Це особливо потужно у незвичній кодовій базі, де здатність AI читати та підсумовувати систему рятує вас від дня "спалеологічних робіт".

Що це коштує: трохи терпіння. Explore — це розмова, тому він повільніший, ніж швидке запускування /opsx:propose і надіяння. Для роботи, яку ви справді вже розумієте, цей додатковий крок є суто надмірним, і вам слід його пропустити.

Основне правило: чим більш розмита задача, тим більше користі приносить explore. Чим чіткіша задача, тим більше ви можете одразу перейти до пропозиції.

Куди рухатися далі