← 返回列表

Temuduga Siri AI 14: Apakah Perbezaan Antara Vibe Coding dan Spec Coding?

Ini adalah masalah yang dihadapi oleh kebanyakan pengaturcara. Vibe Coding dan Spec Coding adalah dua paradigma kerja yang berbeza apabila menggunakan Model Bahasa Besar (LLM) untuk pengaturcaraan. Perbezaan utama mereka ialah: "input" yang anda berikan kepada AI adalah perasaan yang kabur, atau spesifikasi yang tepat.


Satu: Contoh memasak untuk menerangkan perbezaan antara vibe coding dan spec coding

  • Vibe Coding = Anda berkata kepada rakan "Saya nak makan pedas", rakan menggoreng satu hidangan berdasarkan rasa, anda rasa dan berkata "lagi masin", dia tambah garam. Rasanya mungkin menakjubkan, tetapi jika rakan lain yang memasak, hasilnya berbeza sama sekali.
  • Spec Coding = Anda tulis resipi: "Pes cili douban 20g, hirisan daging lembu 150g, batang saderi 50g, tumis dengan api besar selama 2 minit, tambah gula 3g sebelum angkat". Chef yang berbeza mengikut resipi, rasa adalah sangat konsisten.

Dua: Definisi kedua-duanya

Dimensi Vibe Coding Spec Coding
Nama lain Pengaturcaraan dipacu perasaan, improvisasi segera Pengaturcaraan dipacu spesifikasi, dokumen dahulu
Bentuk input "Bantu saya buat halaman log masuk yang cantik, dengan rasa teknologi" "Halaman log masuk perlu mengandungi ruang input e-mel/kata laluan, kotak semak 'Ingat saya', butang hantar; frontend guna React + Tailwind; peraturan pengesahan borang: format e-mel, panjang kata laluan ≥8; paparan ralat merah apabila gagal..."
Cara penggunaan AI Perbualan, iteratif: beri arah umum → lihat output → laraskan Kejuruteraan: tulis PRD/spesifikasi teknikal terperinci dahulu → AI hasilkan kod berdasarkan spesifikasi
Penglibatan manusia Rendah: bergantung pada kreativiti AI, manusia hanya rasa "betul atau tidak" Tinggi: manusia selesaikan reka bentuk/senibina dahulu, AI laksanakan
Senario tipikal Prototaip pantas, alat peribadi, penerokaan UI, kod kreatif Sistem peringkat pengeluaran, kerjasama pasukan, kod yang boleh diselenggara/diuji

Tiga: Perbandingan aliran kerja

Proses Vibe Coding

  1. Idea kabur: "Saya nak tulis crawler untuk ambil senarai panas Zhihu."
  2. Tulis prompt pertama: Minta AI hasilkan kod terus.
  3. Jalankan → ralat → tampal ralat balik → AI perbaiki.
  4. Rasa muka tak cantik → "Bulatkan butang itu, ubah latar belakang kepada biru gradien" → AI ubah.
  5. Fungsi kurang → "Tambah fungsi simpan ke CSV" → AI tambah.
  6. Ulang langkah 3-5 sehingga "rasa dah cukup".

Proses Spec Coding

  1. Tulis dokumen spesifikasi: Tentukan input/output, struktur data, pengendalian ralat, keperluan prestasi, keperluan bukan fungsian (seperti log, had kadar).
  2. Pecahkan spesifikasi kepada tugas: Contohnya Tugasan 1: Implement fungsi fetch_hot_topics() yang mematuhi tandatangan API dalam spec.
  3. Minta AI implement setiap tugasan: Prompt mengandungi tandatangan fungsi, ulasan, jangkaan kes ujian.
  4. Semak dan sahkan secara manual: Pastikan mematuhi spesifikasi, jalankan ujian unit.
  5. Integrasi dan regresi.

Empat: Perbandingan kelebihan dan kekurangan

Ciri Vibe Coding Spec Coding
Kelajuan permulaan Sangat pantas, dapat prototaip dalam beberapa minit Lambat, perlu tulis dokumen, pecah tugas
Kualiti kod Rendah (mungkin berlebihan, tidak konsisten, bug tersembunyi) Tinggi (boleh dibaca, boleh diuji, mengikut seni bina)
Kebolehselenggaraan Lemah, orang lain tidak faham "kenapa ditulis begini" Baik, spesifikasi adalah dokumen
Kebergantungan pada LLM Sangat tinggi, model berbeza boleh hasilkan output yang berbeza sama sekali Sederhana, asalkan spesifikasi jelas, model berbeza boleh hasilkan struktur yang serupa
Kesukaran penyahpepijatan Sukar, tidak tahu dari mana logik kod itu datang Mudah, periksa mengikut spec satu persatu
Sesuai untuk kerjasama pasukan Hampir mustahil Boleh (spesifikasi sebagai kontrak komunikasi)
Kepastian output Rendah, hasil setiap perbualan mungkin berubah Tinggi, spesifikasi yang sama hasilkan output yang stabil

Lima: Cadangan penggunaan dalam realiti

"Dalam kerja, vibe coding dan spec coding bukan pilihan antara satu sama lain, tetapi digunakan secara campuran, gunakan kaedah yang sesuai untuk senario yang sesuai:
- Semasa fasa penerokaan (apabila pilihan teknikal atau gaya UI belum pasti), gunakan Vibe Coding untuk mengesahkan pelbagai pilihan dengan pantas, contohnya 'Guna Tailwind untuk tulis komponen kad, lihat hasilnya'.
- Sebaik sahaja pilihan ditetapkan, segera beralih kepada Spec Coding: susun semula prototaip yang berjaya menjadi spesifikasi yang jelas (input/output, keadaan sempadan, pengendalian ralat), kemudian minta AI atau manusia tulis semula kod peringkat pengeluaran dengan ketat mengikut spesifikasi.
Mod Vibe semata-mata hanya sesuai untuk skrip sekali guna atau alat dalaman kecil; untuk sistem yang perlu diselenggara jangka panjang dan digunakan oleh ramai orang, Spec Coding adalah keperluan keras."

评论

暂无已展示的评论。

发表评论(匿名)