Langkau ke kandungan
WANCODE
EN

Cara Pembantu Pengekodan AI Berfungsi

14 minitPertengahanHTML · CSS · JS

Dalam pelajaran ini

  • Terangkan, pada tahap konsep, bagaimana model bahasa menghasilkan kod daripada prompt anda
  • Tahu apa yang pembantu AI boleh dan tidak boleh lihat (context) dan bila ia betul-betul boleh menjalankan kod
  • Kesan dan baiki cadangan yang yakin tetapi salah dengan menjalankannya dan membaca error

Idea utama

Pembantu pengekodan meramal kod yang paling mungkin sesuai dengan permintaan anda. "Mungkin" tidak sama dengan "betul" — menjalankan dan membaca kod itulah cara untuk tahu.

Anda mungkin pernah minta kod daripada Claude Code, Codex, GitHub Copilot atau pembantu chat, tampal jawapannya, dan berharap ia jalan. Track ini tentang menggantikan harapan dengan kefahaman. Kita mulakan dengan model mental yang ringkas dan jujur tentang apa yang pembantu itu sebenarnya buat.

Meramal teks, sedikit demi sedikit

Di teras setiap pembantu pengekodan ialah large language model (LLM). Semasa latihan, ia mempelajari corak statistik daripada jumlah teks yang sangat besar, termasuk banyak kod. Bila anda hantar prompt, ia menjana jawapan dengan berulang kali meramal cebisan teks seterusnya yang paling sesuai (dipanggil token) berdasarkan semua yang ada dalam context-nya ketika itu. Ini satu permudahan, tetapi inilah gambaran yang patut anda ingat.

Sebab itulah kod yang dijana biasanya nampak sangat meyakinkan: ia menyerupai kod yang lazimnya muncul selepas permintaan seperti anda. Tetapi kod yang nampak betul boleh memanggil function yang tidak wujud, menggunakan pilihan daripada versi lama, atau terlepas satu edge case yang app anda perlukan.

Context window
Semua yang model boleh "lihat" sekali gus: prompt anda, mesej sebelum ini, fail atau output tool yang dimasukkan. Saiznya terhad. Apa-apa di luarnya, model tidak tahu.
Training cutoff
Model belajar daripada data sehingga satu tarikh tertentu. Versi library yang lebih baharu atau API yang berubah mungkin tiada, melainkan ia diberikan dalam context (contohnya dengan menampal dokumentasi).
Tools / agent
Sesetengah pembantu (contohnya Claude Code atau Codex) boleh diberi tool: baca fail, jalankan arahan, jalankan ujian. Tanpa tool, model cuma menghasilkan teks — ia belum menjalankan apa-apa pun.
Hallucination
Jawapan yakin yang tidak benar: method, package, flag atau fakta yang direka. Ia dibaca sama seperti jawapan yang betul, sebab itulah ia berbahaya.

Maksudnya secara praktikal

  • Ia hanya tahu apa yang ada dalam context. Kalau ia tak pernah lihat utils.js anda, apa-apa kod yang menggunakannya hanyalah tekaan.
  • "Kod ini berfungsi" dalam jawapan chat bukan bukti. Melainkan tool betul-betul menjalankan kod dan anda nampak output-nya, tiada apa yang diuji.
  • Ia boleh salah dengan penuh yakin. Nada jawapan tidak menunjukkan betul atau salah. Anggap setiap cadangan sebagai draf daripada rakan sekerja yang pantas dan banyak membaca, tetapi tidak pernah menyemak semula.
  • Jawapan berubah-ubah. Tanya soalan sama dua kali, anda mungkin dapat kod berbeza. Ujian anda, bukan ayatnya, yang menentukan mana yang betul.
  • Anda tetap bertanggungjawab. Apa sahaja yang anda commit, deploy atau tampal ke dalam terminal adalah tanggungjawab anda.

Apa yang ditulis pembantu AI

JavaScript
function totalPrice(items) {
  return items.sum((item) => item.price);
}

Apa yang dihantar oleh penyemak

JavaScript
function totalPrice(items) {
  return items.reduce((sum, item) => sum + item.price, 0);
}

Array JavaScript tiada method sum(). Ia nampak semula jadi — sesetengah bahasa dan library lain memang ada — jadi mudah untuk model meramalnya. Bila dijalankan, kebenarannya terus nampak.

Text
Could not render the cart: TypeError: items.sum is not a function

Error ialah kawan anda: error ini menyebut dengan tepat benda yang tidak wujud. (Kod jana AI ini membalut proses render dengan try/catch dan log error itu — bagus. Catch yang menelan error tanpa sebarang mesej akan menyembunyikan bug.)

WANCode tidak memanggil AI

Kod "jana AI" dalam track ini ditulis untuk pengajaran, mengikut gaya yang biasa dihasilkan pembantu AI. Semuanya berjalan dalam pelayar anda — kemahiran yang anda latih ialah membaca, menjalankan dan mengesahkan kod.

Kitaran untuk keseluruhan track ini ialah baca → jalankan → sahkan → putuskan. Baca kod sehingga anda boleh menerangkannya. Jalankan. Sahkan dengan apa yang anda betul-betul perlukan. Kemudian putuskan: simpan, baiki, atau tanya semula dengan context yang lebih baik.

Pratonton menunjukkan RM 0.00 dan console menunjukkan error. Baca error itu, kemudian baiki totalPrice(items) dalam script.js supaya ia betul-betul menjumlahkan price setiap item. Ia juga mesti memulangkan 0 untuk troli kosong.

Jangan tulis semula seluruh fail — ubah bahagian yang salah sahaja.

Semakan

  • totalPrice menjumlahkan harga
  • Troli kosong berjumlah 0
  • Halaman menunjukkan RM 9.50

Uji kefahaman

Q1

Pembantu AI menjawab "Ini kod yang dibaiki — sekarang ia berfungsi." Ia tiada tool untuk menjalankan kod. Apa yang anda sebenarnya tahu?

Q2

Pembantu AI menggunakan helper formatDate() daripada utils.js anda, tetapi dengan argumen yang salah. Apakah punca yang paling mungkin?

Q3

Yang manakah antara berikut ialah hallucination?

Apa yang anda pelajari

  • LLM menjana kod dengan meramal teks yang paling mungkin daripada context-nya — munasabah tidak sama dengan betul.
  • Ia hanya tahu apa yang ada dalam context window, dan hanya menjalankan kod bila ia ada tool untuk berbuat demikian.
  • Mesej error seperti x is not a function selalunya terus menunjuk kepada API yang direka (hallucination).
  • Baca → jalankan → sahkan → putuskan. Anda bertanggungjawab atas apa yang anda hantar.
Pratonton

Output konsol daripada kod anda akan dipaparkan di sini.

Langkah 1 daripada 2