InfraLoka AcademyPathwayAI
PathwayAI

Modul 1 · Mulai dengan aman

Kode dari AI adalah draf, dan kamu pemiliknya

4 menit baca5 menit bacaDitinjau 26 Oktober 2026

Intinya

Kode dari AI masuk ke repositori atas namamu. Baca diff-nya, minta bukti yang bisa dijalankan, cek API dan versi pustaka ke dokumentasi atau kodenya, dan jangan menerima kata selesai tanpa tes yang kamu lihat sendiri.

Setelah pelajaran ini kamu bisa

  • Menjelaskan kenapa kode dari asisten atau agen tetap tanggung jawab pengembang yang menggabungkannya
  • Membaca diff dari AI dengan empat pertanyaan: apa yang berubah, kenapa, apa buktinya, dan apa yang tidak disentuh
  • Mengenali tanda kode karangan model: API yang tidak ada, versi pustaka yang salah, dan klaim selesai tanpa bukti

Istilah di pelajaran ini

Pahami

Asisten AI dan agen coding (coding agent: agen AI yang menulis dan menjalankan kode) bisa menulis ratusan baris dalam satu menit. Kecepatan itu nyata, dan itu juga sumber risikonya: semakin banyak kode yang datang, semakin besar godaan untuk menggabungkannya karena terlihat rapi dan tesnya hijau.

Anggap setiap keluaran AI sebagai draf dari rekan baru yang cepat, percaya diri, dan belum pernah melihat sistemmu berjalan. Rekan seperti itu berguna, tetapi kamu tidak akan menggabungkan pekerjaannya tanpa membaca. Model tidak tahu konvensi timmu kecuali kamu memberitahunya. Ia tidak tahu data produksi punya nilai kosong di kolom yang menurut skema (schema) tidak boleh kosong. Ia tidak tahu bahwa fungsi yang ia panggil sudah dihapus di versi pustaka (library) yang kamu pakai.

Karena itu model bisa mengarang. Di kode, karangan itu punya beberapa bentuk yang sering muncul: fungsi atau opsi pustaka yang namanya masuk akal tetapi tidak ada; pemakaian API dari versi lama atau versi yang lebih baru dari milikmu; tes yang memeriksa apa yang kode lakukan, bukan apa yang diminta; dan laporan "sudah selesai, semua tes lulus" padahal tes itu tidak pernah dijalankan, atau dijalankan di berkas yang salah.

Cara membaca diff (daftar baris yang berubah) dari AI cukup empat pertanyaan. Apa yang berubah? Lihat daftar berkasnya dulu; berkas yang tidak kamu duga adalah tanda pertama. Kenapa? Setiap perubahan harus bisa dikaitkan dengan tugas. Apa buktinya? Tes yang gagal sebelum perubahan dan lulus sesudahnya, atau perintah yang bisa kamu jalankan sendiri. Apa yang tidak disentuh? Kadang yang hilang lebih penting: pemeriksaan hak akses yang tidak ditambahkan, migrasi (migration) yang tidak ditulis, atau penanganan error (galat) yang dihapus tanpa disebut di laporan.

Tanggung jawabmu bukan menulis setiap baris sendiri. Tanggung jawabmu memastikan setiap baris yang masuk bisa kamu jelaskan.

Pemeriksaan versi layak mendapat perhatian khusus. Model belajar dari kode dari banyak tahun, jadi ia mencampur gaya dari versi pustaka yang berbeda. Sebelum menerima kode yang memakai pustaka luar, buka berkas daftar dependensi (dependency) proyekmu dan lihat versi yang terpasang, lalu cocokkan pemanggilan fungsi dengan dokumentasi versi itu atau dengan kode sumber pustaka di folder dependensi. Kalau tipe pustaka tersedia, type check (pemeriksaan tipe) akan menangkap sebagian karangan; sisanya baru tertangkap saat kode dijalankan.

Satu kebiasaan kecil membantu: minta perubahan yang kecil. Diff dua ratus baris bisa dibaca dengan teliti dalam sepuluh menit; diff dua ribu baris biasanya hanya dibaca sekilas. Kalau tugasnya besar, pecah menjadi beberapa langkah yang masing-masing punya tes sendiri, dan review setiap langkah sebelum lanjut. Agen coding bekerja lebih baik dengan batas seperti itu, dan kamu tetap memahami sistemmu sendiri.

Contoh

Sebelum

Permintaan

Tambahkan fitur ekspor laporan ke CSV. Pastikan semuanya jalan.

Hasilnya

Contoh keluaran buruk; jangan dipakai: Selesai. Saya menambahkan endpoint ekspor dan memakai fungsi toCsv dari pustaka tabel. Semua tes lulus.

Sesudah

Permintaan

Tujuan: saya perlu ekspor laporan bulanan ke CSV dari halaman laporan. Pembaca: saya, yang akan me-review diff sebelum di-merge. Bahan: fungsi pengambil data laporan dan versi pustaka di daftar dependensi. Batas: hanya sentuh modul laporan dan rute ekspor; jangan menambah pustaka baru; ekspor hanya untuk pengguna yang boleh melihat laporan itu. Bentuk: tulis tes dulu dan tunjukkan hasilnya gagal, lalu kode, lalu hasil tes lulus. Akhiri dengan daftar berkas yang berubah. Cek: sebutkan fungsi pustaka apa pun yang dipakai beserta versinya, dan tulis perintah tes yang dijalankan.

Hasilnya

Tes: ekspor menolak pengguna tanpa hak lihat (gagal: rute belum ada), ekspor menghasilkan header dan dua baris contoh (gagal). Kode: rute ekspor dengan pemeriksaan hak akses, penulisan CSV manual dengan pelolosan tanda kutip. Tes: dua lulus. Berkas: rute ekspor, modul laporan, satu berkas tes. Tidak ada pustaka baru.

Yang berubah

  • Laporan pertama menyebut fungsi pustaka yang belum tentu ada dan klaim tes lulus tanpa perintah atau hasil.
  • Permintaan kedua membatasi berkas, melarang pustaka baru, dan meminta bukti gagal lalu lulus.
  • Pemeriksaan hak akses muncul karena diminta di Batas; tanpa itu, ekspor bisa membuka laporan ke siapa saja.

Kesalahan umum

Kesalahan
Merge perubahan besar dari agen karena laporannya bilang semua tes lulus.
Kenapa merugikan
Laporan agen adalah klaim, bukan bukti. Tes bisa saja tidak dijalankan, dijalankan pada berkas lain, atau dilemahkan supaya lulus. Kesalahan baru terlihat di produksi, dan saat itu namamu yang tercatat di riwayat.
Lakukan ini
Jalankan sendiri perintah tes yang disebut, baca diff berkas tesnya juga, dan tolak perubahan yang mengubah tes lama tanpa alasan tertulis.

Coba

Buka setiap kartu: apa tanda kode karangan, dan bagaimana mengeceknya?

Agen menyelesaikan tugas dan menulis: semua tes lulus. Diff-nya juga mengubah satu tes lama dari harus menolak menjadi boleh menerima. Apa langkahmu?

Bawa pulang

Sebelum menyetujui kode dari AI

  • Saya sudah membaca daftar berkas yang berubah dan tahu alasan setiap berkas
  • Saya menjalankan sendiri perintah tesnya
  • Saya melihat tes baru gagal tanpa perubahan dan lulus dengan perubahan
  • Fungsi pustaka yang asing sudah saya cek ke versi yang terpasang
  • Tidak ada tes lama yang dilemahkan tanpa alasan tertulis
  • Saya bisa menjelaskan setiap baris yang saya setujui

Yang salah di tempat kami

Insiden, Oktober 2026

Klaim fitur yang tidak ada di kode

Konteks
Kami menyusun materi kursus dengan bantuan AI, dibagi ke beberapa jalur kerja, dan reviewer yang terpisah dari penulisnya memeriksa setiap jalur.
Yang terjadi
Beberapa draf menggambarkan aplikasi yang kami jalankan seolah-olah melakukan hal yang tidak dilakukannya. Kalimatnya rapi, tetapi isinya keliru. Reviewer membuka kode setiap aplikasi, mencari perilaku yang diklaim, dan mendapatinya tidak ada atau berbeda.
Dampaknya
Tidak ada pembaca yang sempat melihatnya, karena draf belum diterbitkan. Kalau lolos, pembaca akan percaya pada kemampuan yang tidak ada.
Akar masalah
Penulis menyimpulkan perilaku dari nama fitur dan rencana, bukan dari kode yang berjalan. Model mengisi celah itu dengan kalimat yang tampak masuk akal.
Yang kami lakukan
Klaim itu ditulis ulang sesuai apa yang dilakukan kode, dan klaim produk lain di draf yang sama dicek ke kodenya.
Pengaman yang kami pasang
Di materi kursus kami, setiap klaim tentang produk kami dicek ke kodenya sebelum terbit, dan reviewer membaca kodenya, bukan ringkasan penulis.

PelajarannyaRingkasan yang meyakinkan bukan bukti; kodenya yang bukti.

Artinya untuk kerjamuSebelum menulis bahwa sistem melakukan sesuatu, buka kodenya atau jalankan, lalu tulis hanya yang kamu lihat.