Jelajahi Terlebih Dahulu
/opsx:explore adalah mitra berpikir Anda. Gunakan saat Anda memiliki masalah tetapi belum memiliki rencana. Fitur ini menyelidiki basis kode Anda, menimbang opsi bersama Anda, dan memperjelas apa yang sebenarnya Anda inginkan, semuanya sebelum satu artefak atau baris kode pun dibuat. Ketika gambaran sudah jelas, fitur ini akan menyerahkan kendali ke /opsx:propose.
Jika Anda mengambil satu kebiasaan dari dokumentasi ini, ambillah ini: ketika Anda ragu, jelajahi terlebih dahulu sebelum mengajukan usulan.
Berikut alasannya mengapa hal itu penting. Asisten pemrograman AI sangat antusias. Ajukan pertanyaan secara samar, dan mereka akan dengan percaya diri membangun sesuatu, mungkin bukan hal yang Anda butuhkan. Explore (Jelajahi) adalah obatnya. Ini adalah percakapan tanpa risiko di mana Anda dan AI menemukan langkah yang tepat bersama-sama, sehingga pada saat Anda mengajukan usulan, Anda sedang mengusulkan hal yang benar.
Kapan harus menjelajah
Explore adalah langkah pertama yang tepat lebih sering daripada yang diharapkan orang. Gunakan saat salah satu kondisi berikut terpenuhi:
- Anda mengetahui masalah tetapi tidak tahu solusinya. ("Halaman terasa lambat." "Otentikasi berantakan." "Kami terus mendapatkan pesanan ganda.")
- Anda memilih antara pendekatan dan ingin melihat pertukaran (tradeoffs) yang dituangkan terhadap kode aktual Anda.
- Anda baru mengenal basis kode dan perlu memahami cara kerja sesuatu sebelum mengubahnya.
- Persyaratan masih kabur dan Anda ingin mempertajamnya sebelum berkomitmen.
- Anda menduga pekerjaan ini lebih besar atau lebih kecil dari kelihatannya dan ingin memetakannya secara jujur.
Lewati explore hanya ketika Anda sudah tahu persis apa yang Anda inginkan dan bagaimana caranya. Dalam kasus tersebut, langsung lanjut ke /opsx:propose.
Apa yang dilakukannya (dan tidak dilakukannya)
Explore adalah sebuah percakapan, bukan generator.
Apa yang dilakukannya:
- Membaca dan mencari basis kode Anda untuk menjawab pertanyaan nyata.
- Membandingkan opsi dan menyebutkan pertukaran (tradeoffs) masing-masing.
- Menggambar diagram agar desain mudah dipahami.
- Membantu Anda mempersempit ide yang samar menjadi ruang lingkup konkret yang dapat dibangun.
- Bertransisi ke
/opsx:proposesaat Anda siap.
Apa yang tidak dilakukannya:
- Membuat folder perubahan.
- Menulis artefak apa pun (tidak ada proposal, spesifikasi, desain, atau tugas).
- Menulis atau memodifikasi kode.
Itulah tujuannya. Menjelajah tidak memakan biaya apa pun dan tidak mengikat Anda pada komitmen apa pun. Anda bisa menjelajahi tiga jalan buntu, belajar sesuatu dari masing-masing, dan baru kemudian mengusulkan jalur yang bertahan.
Sudah terpasang
Kabar baik: /opsx:explore disertakan dalam profil core bawaan, berdampingan dengan propose, apply, update, sync, dan archive. Anda tidak perlu mengaktifkan apa pun. Jika OpenSpec telah diatur di proyek Anda, explore siap digunakan di obrolan AI Anda. (Seperti semua perintah /opsx:*, Anda mengetikkannya di obrolan asisten, bukan di terminal. Lihat Cara Perintah Bekerja.)
Contoh lengkap
Perhatikan bagaimana kekhawatiran yang samar berubah menjadi perubahan yang tajam dan dapat dibangun.
Anda: /opsx:explore
AI: Apa yang ingin Anda jelajahi?
Anda: Checkout kami terkadang membuat pesanan ganda. Saya tidak tahu mengapa
dan saya tidak tahu cara memperbaikinya dengan aman.
AI: Biarkan saya menggali jalur checkout...
[membaca layanan pesanan, handler webhook pembayaran, dan
logika submit klien]
Berikut temuan saya. Ada dua cara duplikat dapat terjadi:
1. Klien dapat mengirim dua kali (klik ganda, coba lagi jika jaringan lambat).
Tidak ada mekanisme debouncing.
2. Webhook pembayaran dapat dipicu lebih dari sekali, dan handler
membuat pesanan setiap kali. Tidak ada kunci idempotensi.
Penyebab #2 adalah yang berbahaya: dapat membebankan dan memenuhi pesanan dua kali.
Tiga cara untuk memperbaikinya, kira-kira berdasarkan tingkat ketahanannya:
- Kunci idempotensi pada endpoint pembuatan pesanan (menangani kedua penyebab)
- Deduplikasi pada webhook berdasarkan payment-intent id (hanya menangani #2)
- Debouncing sisi klien (hanya menangani #1, menutupi bug sebenarnya)
Mengingat kode Anda sudah menyimpan payment-intent id,
pendekatan kunci idempotensi adalah perubahan kecil dengan hasil terbesar.
Apakah Anda ingin saya memetakannya?
Anda: Ya, mari kita gunakan kunci idempotensi.
Anda: /opsx:propose add-order-idempotency-key
AI: Dibuat openspec/changes/add-order-idempotency-key/, dengan proposal
dan delta spec yang didasarkan pada temuan kita tadi. Siap untuk implementasi.Perhatikan apa yang terjadi. Titik awalnya adalah "ada yang salah dan saya takut menyentuhnya." Dua puluh detik penjelajahan mengubah itu menjadi akar penyebab yang bernama, tiga opsi yang diberi peringkat, rekomendasi yang terkait dengan kode yang ada, dan perubahan yang presisi. Proposal yang mengikuti menjadi tajam karena pemikiran dilakukan terlebih dahulu.
Serahkan kepada propose
Explore tidak diarsipkan ke dalam apa pun. Saat Anda siap, Anda cukup memulai perubahan, dan AI membawa konteks dari percakapan Anda ke dalam artefak.
explore ──► propose ──► apply ──► archive
(berpikir) (setuju) (membangun) (mencatat)Anda bisa mengatakannya dengan bahasa biasa ("ayo ubah ini menjadi perubahan") atau menjalankan /opsx:propose <name> secara langsung. Bagaimanapun juga, eksplorasi yang baru saja Anda lakukan menjadi fondasi proposal, bukan sekadar obrolan yang dibuang.
Jika Anda menggunakan set perintah yang diperluas, explore dapat menyerahkan kendali ke /opsx:new sebagai gantinya, untuk pembuatan artefak langkah demi langkah. Lihat Alur Kerja.
Tips untuk eksplorasi yang baik
- Bawalah masalahnya, bukan solusinya. "Login terasa lambat" memberi ruang bagi AI untuk menyelidiki. "Tambahkan cache Redis" mengikat Anda pada jawaban yang belum Anda uji.
- Minta pertukaran (tradeoffs) diucapkan. "Apa kekurangan dari setiap opsi?" menghasilkan perbandingan yang lebih jujur.
- Biarkan ia membaca terlebih dahulu. Eksplorasi terbaik dimulai dengan AI benar-benar melihat kode Anda, bukan menebak-nebak. Tunjuk ke area yang relevan jika membantu.
- Tidak apa-apa untuk mundur. Jika eksplorasi mengungkapkan bahwa ide tersebut tidak sepadan, itu adalah kemenangan. Anda mempelajarinya dengan biaya rendah.
- Jelajahi lagi di tengah perubahan. Macet selama
/opsx:apply? Anda bisa mundur dan menjelajahi sub-masalah, lalu kembali.
Pertukaran (Tradeoffs) yang jujur
Apa yang Anda dapatkan: explore menangkap kesalahan arah pada momen termurah yang mungkin, sebelum ada artefak apa pun yang ada. Ini sangat kuat dalam kode yang tidak dikenal, di mana kemampuan AI untuk membaca dan meringkas sistem menghemat waktu seharian Anda untuk penggalian informasi.
Biayanya: sedikit kesabaran. Explore adalah percakapan, jadi lebih lambat daripada langsung meluncurkan /opsx:propose dan berharap berhasil. Untuk pekerjaan yang benar-benar Anda pahami sebelumnya, langkah tambahan ini adalah overhead murni, dan Anda sebaiknya melewatinya.
Aturan praktisnya: semakin kabur tugasnya, semakin besar manfaat explore. Semakin jelas tugasnya, semakin banyak Anda dapat langsung melompat ke pengajuan usulan.
Ke mana selanjutnya
- Perintah:
/opsx:explore: referensi yang tepat - Alur Kerja: explore sebagai bagian dari siklus sehari-hari
- Contoh & Resep: explore dalam panduan lengkap
- Memulai: panduan perubahan pertama, termasuk eksplorasi