AI boleh cadangkan, tetapi repositori anda memutuskan
Cara terbaik menggunakan AI untuk pengekodan ialah menjadikannya lebih perlahan pada saat tepat di mana meneka berbahaya. AI boleh menerangkan kod yang tidak dikenali, mengubah ralat menjadi hipotesis, mendraf ujian, menyemak diff, dan mencadangkan refactor. Ia juga boleh mengarang API, terlepas kebergantungan tersembunyi, terlalu sesuai dengan cebisan yang ditampal, atau menghasilkan tampalan yang kelihatan bersih sambil mengubah tingkah laku yang anda maksudkan untuk dikekalkan.
Guna peraturan ini: AI boleh cadangkan, tetapi repositori anda memutuskan. Sumber kebenaran adalah pangkalan kod, pengeluaran semula yang gagal, set ujian, log masa jalan, keperluan produk, dan semakan manusia. Rakan pengaturcaraan AI yang baik sepatutnya membantu anda menaakul daripada artifak itu berbanding menggantikannya.
| Peraturan | Kenapa ia penting | Apa yang perlu ditanya kepada model |
|---|---|---|
| Keluarkan semula dahulu | Mencegah tampalan rawak | "Nyatakan semula tingkah laku yang gagal dan bukti sebelum mencadangkan kod." |
| Kekalkan skop kecil | Mengurangkan risiko regresi | "Cadangkan perubahan paling kecil yang selamat dan senaraikan fail yang disentuh." |
| Kekalkan tingkah laku | Melindungi pengguna dan kontrak | "Namakan invarian yang perubahan ini tidak boleh pecahkan." |
| Wajibkan ujian | Menjadikan jawapan boleh disahkan | "Tulis ujian yang gagal sebelum pembetulan dan lulus selepasnya." |
| Semak sebelum penggabungan | Menangkap kesilapan yang yakin | "Semak diff ini untuk ketepatan, keselamatan, dan kes tepi yang hilang." |
Ini penting merentas model, dan model memang berbeza dalam kos dan capaian. Pada indeks kos model Whizi (kadar senarai OpenRouter, diambil 2026-08-20), jawapan standard 1,000 input ditambah 500 token output berkos kira-kira $0.0105 pada Claude Sonnet 4.6, $0.008 pada GPT-5.6 Terra, dan $0.00028 pada DeepSeek V4 Flash, jurang kira-kira 37x antara yang pertama dan yang terakhir, dan ketiga-tiganya membaca konteks 1M-token. Peraturan penghalaan praktikal: hantar soalan jelaskan-kod-ini dan triaj log kepada model murah seperti DeepSeek V4 Flash atau Gemini 3.7 Flash, dan simpan Claude Sonnet 4.6 atau GPT-5.6 Terra untuk laluan semakan dan rancangan refactor pada kod yang anda tidak mampu untuk pecahkan. Dokumen keupayaan daripada OpenAI dan Anthropic memberitahu anda apa yang boleh dicuba oleh model; ia tidak menggantikan aliran kerja di atas. Nilai model dengan cara anda menilai rakan sepasukan: adakah mereka meminta konteks yang hilang, mengurangkan ketidakpastian, menghormati kekangan, dan meninggalkan jejak yang boleh anda sahkan?
Debug dalam lima peringkat: keluarkan semula sebelum anda tampal
Aliran kerja debugging AI yang boleh dipercayai mempunyai lima peringkat: keluarkan semula, asingkan, hipotesiskan, tampal, dan sahkan. Jangan mulakan dengan "betulkan ini." Mulakan dengan bukti. Beri model arahan yang gagal, ralat tepat, tingkah laku dijangka, tingkah laku diperhatikan, kod berkaitan, butiran persekitaran, dan sebarang perubahan terkini yang mungkin menyebabkan isu itu.
Peringkat 1: tangkap pengeluaran semula. Untuk kod bahagian belakang, sertakan permintaan, respons, kod status, log, dan ujian yang gagal. Untuk kod bahagian depan, sertakan laluan, tindakan pengguna, ralat konsol pelayar, respons rangkaian, keadaan komponen, dan penerangan tangkapan skrin jika berkaitan. Untuk isu binaan, sertakan arahan, pengurus pakej, versi Node, dan keseluruhan ralat di sekeliling kegagalan pertama.
Peringkat 2: minta hipotesis sebelum kod. Model yang teliti sepatutnya menyusun kedudukan sebab yang berkemungkinan dan menyatakan bukti apa yang menyokong setiap satu. Jika ia tidak dapat membezakan antara sebab, minta langkah diagnostik paling kecil. Itu mungkin log, ujian fokus, semakan jenis, atau membaca satu lagi fail.
Peringkat 3: minta tampalan paling kecil. Beritahu model untuk tidak menamakan semula pemboleh ubah, menulis semula kod sekeliling, memperkenalkan kebergantungan, atau mengubah tingkah laku awam melainkan ia boleh menjustifikasikan sebabnya. Minta ia kembalikan punca, garis besar tampalan, fail yang disentuh, ujian, dan risiko.
Peringkat 4: jalankan ujian secara tempatan. Hasil AI bukan langkah pengesahan. Langkah pengesahan adalah arahan atau laluan pengguna yang membuktikan tingkah laku itu. Jika tiada ujian automatik wujud, minta model mencipta ujian regresi dahulu, kemudian melaksanakan pembetulan itu.
Prompt debugging:
Bertindak sebagai rakan debugging yang teliti. Jangan tulis kod lagi. Pertama nyatakan semula pengeluaran semula, tingkah laku dijangka, tingkah laku diperhatikan, dan tiga punca paling berkemungkinan. Susun kedudukan setiap punca mengikut bukti. Kemudian cadangkan langkah diagnostik paling kecil. Pepijat: [terangkan]. Arahan atau tindakan pengguna: [tampal]. Ralat/log: [tampal]. Kod berkaitan: [tampal]. Kekangan: [tindanan, fail untuk tidak disentuh, tingkah laku untuk dikekalkan].
Prompt pembetulan:
Menggunakan punca yang disahkan, cadangkan pembetulan paling kecil yang selamat. Kembalikan: punca, fail/fungsi untuk diubah, garis besar tampalan, ujian yang gagal sebelum dan lulus selepas, kes tepi, dan risiko pemulihan. Jangan refactor kod yang tidak berkaitan. Konteks: [tampal].
Namakan invarian sebelum AI menyentuh refactor
Refactoring dengan AI berisiko kerana banyak refactor dinilai berdasarkan apa yang tidak berubah. Model mungkin menjadikan kod lebih cantik sambil secara halus mengubah tinggah laku, pengendalian ralat, masa, atau kontrak awam. Aliran kerja refactor yang lebih selamat bermula dengan menentukan invarian sebelum menyentuh pelaksanaan.
Langkah 1: terangkan matlamat refactor. Contoh: kurangkan pertindihan, pecahkan komponen besar, asingkan akses data, permudahkan percabangan, migrasikan pembalut API, atau tingkatkan kebolehujian. Kemudian nyatakan apa yang mesti kekal sama: tandatangan fungsi awam, tingkah laku laluan, nama peristiwa, bentuk respons, analitik, kebenaran, tingkah laku kebolehcapaian, dan jangkaan prestasi.
Langkah 2: minta rancangan berperingkat. Rancangan refactor AI yang berguna sepatutnya boleh dibalikkan. Setiap peringkat sepatutnya menyentuh kawasan kecil, menyertakan ujian, dan menghasilkan keadaan pertengahan yang berfungsi. Elakkan penulisan semula sekali gus melainkan kod itu kecil dan diliputi dengan baik.
Langkah 3: tulis ujian pencirian. Sebelum mengubah kod, minta AI mengenal pasti tingkah laku semasa dan mendraf ujian yang mengunci kes penting. Ujian ini amat berguna untuk kod lama di mana niat tidak jelas. Ia sepatutnya merangkumi input biasa, input sempadan, laluan kegagalan, dan satu kes regresi yang dikaitkan dengan sebab refactor itu.
Langkah 4: laksanakan satu peringkat pada satu masa. Selepas setiap peringkat, jalankan ujian dan minta semakan fokus. Jika model mencadangkan abstraksi yang luas, jadikan ia membuktikan abstraksi itu membuang pertindihan atau risiko sebenar. Jika tidak, kekalkan kod itu biasa dan setempat.
Prompt perancangan refactor:
Cipta rancangan refactor berperingkat. Matlamat: [matlamat]. Kod semasa: [tampal]. Kekangan: kekalkan tingkah laku awam, minimumkan gangguan, ikut corak sedia ada, elakkan kebergantungan baharu, kekalkan setiap peringkat boleh diuji. Kembalikan: invarian, peta kebergantungan, peringkat, fail yang disentuh, ujian setiap peringkat, risiko pemulihan, dan senarai semak semakan.
Prompt ujian unit:
Tulis ujian sebelum perubahan pelaksanaan. Guna gaya ujian sedia ada yang ditunjukkan di sini: [tampal]. Tingkah laku untuk dikekalkan: [tampal]. Kod yang diuji: [tampal]. Kembalikan nama ujian, persediaan, input, hasil dijangka, dan sebab setiap ujian penting. Sertakan laluan gembira, kes sempadan, kes ralat, dan kes regresi.
Templat prompt yang membuang kesamaran
Prompt pengekodan yang kukuh cukup panjang untuk membuang kesamaran, tiada lebih. Model memerlukan peranan, tugas, konteks, kekangan, format hasil, dan kriteria pengesahan. Simpan prompt yang berjaya supaya AI menjadi aliran kerja kejuruteraan boleh ulang berbanding sembang sekali sahaja. Jadual di bawah memadankan setiap kerja pengekodan dengan perkara pertama untuk diminta dan semakan yang membuktikan jawapan itu.
| Tugas pengekodan | Apa yang perlu diminta dahulu | Apa yang membuktikan jawapan |
|---|---|---|
| Debugging | Punca yang disusun kedudukan dengan bukti di sebalik setiap satu | Ujian regresi yang gagal sebelum pembetulan dan lulus selepasnya |
| Semakan kod | Ketepatan, risiko regresi, keselamatan, kes tepi, dan jurang ujian | Setiap isu dikesan kepada baris tertentu dalam diff |
| Refactoring | Invarian dan rancangan berperingkat sebelum sebarang perubahan pelaksanaan | Ujian pencirian masih lulus pada penghujung setiap peringkat |
| Menulis ujian | Laluan gembira, sempadan, ralat, dan kes regresi | Setiap ujian dipetakan kepada dakwaan tingkah laku yang boleh anda namakan |
| Menerangkan kod | Tujuan, input, output, aliran data, kebergantungan, dan mod kegagalan | Fakta yang kelihatan dalam kod diasingkan daripada andaian |
Prompt penjelasan kod:
Terangkan kod ini untuk pembangun yang menyertai projek. Liputi tujuan, input, output, aliran data, kebergantungan, mod kegagalan, dan ujian yang akan meningkatkan keyakinan. Asingkan fakta yang kelihatan dalam kod daripada andaian. Kod: [tampal].
Prompt pengekodan selamat:
Semak kod ini untuk risiko keselamatan. Fokus pada pengesahan, kebenaran, suntikan, rahsia, pengesahan, pengalihan tidak selamat, pengendalian fail, risiko kebergantungan, dan pendedahan data sensitif. Kembalikan hanya isu dengan bukti, kesan, pembetulan dicadangkan, dan ujian atau semakan manual. Kod/diff: [tampal].
Prompt bandingkan-pembetulan-model:
Saya sedang membandingkan model AI untuk tugas pengekodan. Guna hanya konteks yang diberikan. Kembalikan punca, pembetulan paling kecil yang selamat, ujian, risiko, andaian, dan soalan. Nilai keyakinan dari 1-5 dan senaraikan bukti apa yang akan mengubah jawapan anda. Tugas: [tampal]. Konteks: [tampal].
Senarai semak QA sebelum anda terima kod yang dijana AI:
- Model menyatakan semula tugas itu dengan betul.
- Tampalan itu lebih kecil daripada masalah, bukan lebih besar.
- Tingkah laku dan kontrak awam dinamakan.
- Ujian meliputi pepijat atau matlamat refactor secara langsung.
- Kes tepi dan laluan kegagalan disenaraikan.
- Input sensitif keselamatan disemak.
- Diff itu mengikut corak projek sedia ada.
- Anda menjalankan ujian, lint, binaan, atau pengeluaran semula manual yang berkaitan.
- Manusia menyemak diff akhir.
Satu had yang jujur: Whizi adalah ruang kerja sembang, bukan plugin IDE. Untuk autolengkap sebaris semasa anda menaip, pembantu IDE khusus menang. Whizi mendapat tempatnya pada titik semakan sebaliknya: tampal prompt debugging atau semakan yang sama ke dalam Claude Sonnet 4.6, GPT-5.6 Terra, dan DeepSeek V4 Pro, kemudian skorkan hasil itu mengikut bukti, skop, ujian, dan risiko. Mula dengan alternatif ChatGPT untuk pengekodan jika anda mahukan panduan pemilihan model, bandingkan pelan di harga, atau cipta akaun untuk menjalankan aliran kerja itu pada kod anda sendiri.
- Mulakan dengan pengeluaran semula sebenar, bukan penerangan pepijat yang kabur.
- Minta hipotesis dan bukti sebelum meminta kod.
- Minta pembetulan paling kecil yang selamat dan namakan fail yang disentuh.
- Tentukan tingkah laku yang tidak boleh berubah sebelum refactoring.
- Tulis atau kemas kini ujian sebelum mempercayai tampalan itu.
- Semak diff yang dijana AI untuk ketepatan, keselamatan, dan kes tepi.
- Jalankan prompt berisiko yang sama merentas model dan bandingkan pembetulan dalam Whizi.
- Guna semakan manusia sebelum menggabungkan kod berbantukan AI.
Soalan Lazim
Bagaimana saya patut menggunakan AI untuk pengekodan dengan selamat?
Guna AI sebagai rakan pengaturcaraan yang mencadangkan pilihan, ujian, dan semakan. Mulakan dengan pengeluaran semula, wajibkan tampalan kecil, jalankan ujian, dan semak diff sebelum penggabungan. Jangan layan kod yang dijana sebagai automatik betul.
Bolehkah AI membantu debug kod?
Ya. AI berguna untuk mengubah ralat, log, dan kod menjadi punca yang berkemungkinan. Aliran debugging paling selamat ialah meminta hipotesis dahulu, kemudian langkah diagnostik, kemudian pembetulan paling kecil dan ujian regresi.
Bolehkah AI menulis ujian unit?
AI boleh mendraf ujian unit, tetapi anda perlu wajibkan liputan tingkah laku yang jelas. Minta laluan gembira, sempadan, ralat, dan kes regresi, kemudian semak bahawa ujian itu akan gagal sebelum pembetulan dan lulus selepasnya.
Apakah model AI terbaik untuk pengekodan?
Halakan mengikut risiko. Model murah seperti DeepSeek V4 Flash mengendalikan penjelasan kod dan triaj log pada kira-kira 37x lebih rendah kos setiap jawapan berbanding Claude Sonnet 4.6 pada kadar senarai, jadi simpan Claude Sonnet 4.6 atau GPT-5.6 Terra untuk semakan dan rancangan refactor pada kod yang penting. Buktikan pilihan itu dengan menjalankan prompt yang sama merentas model dan mengekalkan jawapan dengan bukti paling jelas dan ujian terkukuh.