38 poin oleh GN⁺ 2026-02-25 | 3 komentar | Bagikan ke WhatsApp
  • "Tidak membaca kode" berarti mengandalkan spesifikasi, pengujian, analisis statis, dan sinyal produksi alih-alih review baris per baris, dengan kemungkinan eskalasi ke code review pada area berisiko tertentu
  • Kasus Harness Engineering di OpenAI dan OpenClaw menunjukkan pendekatan yang berfokus pada infrastruktur pengujian, observabilitas, dan verifikasi otomatis alih-alih kode itu sendiri
  • Sebagai sanggahan terhadap skeptisisme seperti black box, keamanan, dan akumulasi bug, tulisan ini menekankan pola historis lapisan abstraksi dan pentingnya alat verifikasi otomatis
  • Alih-alih menyingkirkan pembacaan kode sepenuhnya, tulisan ini mengambil posisi seimbang bahwa peninjauan langsung tetap diperlukan untuk keputusan terkait keselamatan, keamanan, dan arsitektur
  • Kode makin menjadi detail implementasi, dan kita perlu bertaruh pada lintasan di mana spesifikasi, arsitektur, dan lapisan verifikasi muncul sebagai artefak utama

Makna sebenarnya dari "tidak membaca kode"

  • Kalimat “Saya tidak lagi membaca kode” dari tulisan sebelumnya memicu lebih dari 200 komentar panas di Hacker News
  • Makna yang tepat adalah bahwa untuk sebagian besar kode produk, review baris per baris tidak lagi dijadikan metode verifikasi utama
  • Spesifikasi dan pengujian, peninjauan selektif terhadap diff yang berubah, serta sinyal produksi tetap diperiksa, dan untuk area berisiko tertentu masih bisa dieskalasikan ke pembacaan kode
  • Alasan tidak membaca kode bukan karena kode kurang penting, melainkan karena terutama di lingkungan berskala besar, membaca baris demi baris bukan cara paling efektif untuk menjamin kebenaran

Contoh-contoh yang menjadi dasar

  • Harness Engineering di OpenAI

    • OpenAI melalui tulisan blog Harness Engineering menjelaskan bahwa peran sentral tim software engineering telah bergeser dari menulis kode menjadi merancang lingkungan, menyatakan intensi, dan membangun feedback loop
    • Tiga engineer membangun produk yang digunakan ratusan pengguna internal dengan menghasilkan 1 juta baris kode hanya dengan agen Codex
    • Investasi utamanya difokuskan bukan pada kode itu sendiri, melainkan pada harness di sekelilingnya—dokumentasi, aturan dependensi, linter, infrastruktur pengujian, dan sistem observabilitas
    • Tidak ada investasi khusus pada code review per baris
  • OpenClaw

    • OpenClaw, yang dibuat sendirian tanpa tim, menjadi salah satu proyek open source dengan pertumbuhan tercepat dalam beberapa bulan terakhir dan meraih lebih dari 100 ribu GitHub star
    • Strukturnya menjalankan 5–10 agen secara paralel, dirancang dan dioperasikan oleh engineer berpengalaman, bukan pemula
    • Dalam wawancara berjudul “Saya mendeploy kode yang tidak saya baca”, ia menyebut berinvestasi besar pada refactoring, arsitektur, pengujian, dan harness di sekitar AI coding
  • Dari Coder ke Orchestrator

    • Engineer senior yang membuat ESLint dan menulis beberapa buku O'Reilly memprediksi dalam tulisan terbarunya bahwa masa depan software engineering akan berpusat bukan pada penulisan kode, melainkan pada orkestrasi agen AI
    • Kompetensi inti sedang bergeser dari sintaks dan implementasi menuju desain arsitektur, penulisan spesifikasi, dan desain feedback loop

Sanggahan terhadap skeptisisme

  • Kritik black box

    • Menanggapi kritik “apakah ada orang yang secara sukarela memilih pendekatan black box?”, tulisan ini menegaskan bahwa hasil akhir dari kode bukanlah kode itu sendiri, melainkan produk
    • Analogi yang lebih tepat bukan fotografer yang tidak melihat foto, melainkan tidak membongkar struktur internal kamera yang menghasilkan foto itu
    • Cara membangun sistem di atas lapisan abstraksi yang tidak kita telusuri secara langsung sudah lama menjadi praktik umum di berbagai bidang engineering, termasuk software
  • Kekhawatiran keamanan

    • Terhadap kekhawatiran bahwa kode buatan AI bisa disisipi backdoor, masalahnya bukan “manusia harus membaca setiap baris”, melainkan soal tooling dan sistem verifikasi
    • Analisis statis, dependency scanning, dan security linter ada karena manusia pun menulis kode yang rentan; solusinya adalah sistem verifikasi otomatis yang lebih kuat, yaitu arah yang sama dengan pendekatan berpusat pada harness
    • Namun untuk area yang sangat sensitif terhadap keamanan, review manusia tetap diperlukan
  • Masalah akumulasi bug

    • Kritik yang paling sering muncul adalah: “Jika kode gagal, uang orang hilang, pesawat berhenti, dan mobil rusak. Bacalah kodenya.”
    • Menurut data CodeRabbit, kode yang dihasilkan AI menimbulkan 1,7x lebih banyak cacat secara keseluruhan dalam kualitas perangkat lunak
    • Namun cara melakukan AI coding beragam, dan pengembangan berpusat pada harness dengan spesifikasi, pengujian berlapis, dan batasan arsitektur secara mendasar berbeda dari vibe coding sederhana
    • Salah satu komentar mengusulkan pendekatan berikut: mengandalkan spesifikasi, pengujian, dan analisis statis sambil menjaga cakupan pengujian di atas 85%; membangun testing ladders berupa integration test yang memperluas cakupan secara bertahap; serta mengekspos kesalahan lebih awal melalui benchmarking dan dogfooding yang intensif
    • Pertanyaan kuncinya bukan “apakah kode AI rata-rata lebih banyak bug?”, melainkan “dalam harness yang dirancang dengan baik dan pada kecepatan pengembangan yang sama, apakah ia menghasilkan lebih banyak bug dibanding alternatif?”
    • Greg Brockman, salah satu pendiri OpenAI, juga berpendapat bahwa standar yang sama harus diterapkan seperti pada kode yang ditulis manusia

Cara sistem ini benar-benar disusun

  • Selama sebagian besar kariernya, penulis telah menulis kode, kebanyakan untuk alat internal, tetapi tetap untuk sistem yang diandalkan pengguna nyata
  • Ia memahami bentuk dan struktur kode, tetapi memilih untuk tidak membacanya secara langsung
  • Workflow berbasis spesifikasi

    • Sebelum agen menulis kode, ia lebih dulu menyusun spesifikasi yang sangat konkret dan rinci melalui percakapan dengan AI
    • Struktur disusun agar dapat dilacak dari spesifikasi produk ke rencana eksekusi melalui requirement ID
    • Setiap task dalam rencana eksekusi memiliki acceptance criteria yang menyebutkan cara verifikasinya
      • Pengujian otomatis adalah (TEST)
      • Verifikasi visual adalah (BROWSER:DOM)
      • (MANUAL) hanya dipakai jika benar-benar tidak ada cara lain, dan bahkan saat itu tetap diupayakan dulu pemeriksaan otomatis berbasis curl atau bash
    • Task tanpa metadata verifikasi yang spesifik akan diblokir oleh skill audit sebelum pekerjaan dimulai
  • AI Coding Toolkit (harness)

    • Toolkit yang terdiri dari prompt, skill, hook, dan skrip membatasi cara kerja agen, dan mencakup lebih dari 35 skill, instruksi agen terstruktur, serta infrastruktur verifikasi berlapis
    • Instruksi agen dikelola sebagai infrastruktur
      • AGENTS.md berperan sebagai kumpulan aturan utama: perubahan konservatif, menjaga interface yang ada, mematuhi TDD, tidak menebak, dan tidak menulis ulang git history
      • VISION.md mendefinisikan batas-batas strategis
    • Menjalankan sistem verifikasi berlapis
      • Setelah tiap tahap selesai, skill checkpoint menjalankan gerbang multilapis yang mencakup type checking, linting, testing, build, mutation test, dan security scan
      • Jika browser tool tersedia, verifikasi browser otomatis juga dijalankan
      • Diff yang berubah diteruskan ke model AI lain (Codex CLI) untuk melakukan review second opinion
      • Verifikasi lintas model menutup blind spot dari satu model tunggal
    • Ada kalanya ia membaca kode secara langsung, tetapi terbatas pada situasi pengecualian
      • Ketika semua pengujian lolos tetapi perilaku produk terasa janggal
      • Ketika harus mengambil keputusan arsitektur yang signifikan
      • Ketika melakukan debugging pada gangguan yang tidak bisa diselesaikan beberapa agen
    • Bahkan dalam kasus ini, tujuannya bukan menganalisis kode itu sendiri, melainkan mengidentifikasi celah pada harness yang memungkinkan masalah lolos dan mencegahnya terulang

Kapan kode memang perlu dibaca

  • Pada sistem yang langsung terkait keselamatan, layanan yang sensitif terhadap keamanan, dan keputusan arsitektur penting, software engineering adalah engineering dalam arti sebenarnya, dan di era ketika kode diproduksi massal seperti sekarang, pentingnya justru makin besar
  • Analogi "Children of the Magenta" dari dunia penerbangan merujuk pada fenomena pilot yang terlalu bergantung pada jalur penerbangan berwarna magenta di layar navigasi
    • Pelajarannya bukan “jangan gunakan autopilot”, melainkan pertahankan kemampuan untuk turun tangan saat diperlukan
    • Saat masalah muncul, kita harus mampu menurunkan tingkat otomasi dan kembali ke dasar, tetapi menuntut semua penerbangan selalu dilakukan manual adalah tidak efisien dan justru lebih berbahaya
    • Yang penting adalah keseimbangan: memanfaatkan otomasi tanpa kehilangan kemampuan intervensi

Bertaruh pada lintasannya

  • Setiap lapisan abstraksi dalam komputasi selalu menghadapi penolakan saat pertama muncul, dan kasus Dennis Ritchie dan Ken Thompson yang menulis ulang Unix dalam C pada 1973 adalah contoh representatif
  • Saat itu ada kritik bahwa sistem akan menjadi lebih lambat, kehilangan kontrol terhadap hardware, dan kompleksitasnya akan mempersulit pemeliharaan, tetapi abstraksi C justru memperluas Unix menjadi sistem operasi dengan portabilitas dan pengaruh yang besar
  • Pola yang berulang adalah bahwa orang-orang yang ahli pada lapisan yang sedang diabstraksikan menekankan pentingnya memahami lapisan itu; dalam sebagian situasi ini memang benar, tetapi sebagian besar waktu justru dihabiskan untuk berpikir dan merancang di lapisan abstraksi yang lebih tinggi
  • Pilihan untuk tidak membaca kode bukan pernyataan bahwa alat-alat saat ini sudah sempurna, melainkan penilaian bahwa untuk banyak use case pendekatan ini sudah cukup valid dan berkembang sangat cepat
  • Kode bukan menghilang, tetapi semakin bergeser menjadi detail implementasi, sementara spesifikasi, arsitektur, dan lapisan verifikasi muncul sebagai artefak utama

3 komentar

 
foriequal0 2026-02-25

Rasanya pemrograman AI, alih-alih merupakan abstraksi atau otomatisasi, justru lebih dekat ke eksternalisasi/outsourcing.
Dan desain serta verifikasi terasa diperkenalkan bukan sebagai elemen untuk peningkatan dan presisi, melainkan seperti unsur regulasi yang nyaris menopang masyarakat berkepercayaan rendah.

 
sang459 2026-02-25

Analisis yang tepat.
Tampaknya poin pentingnya adalah bahwa pemrograman AI pada dasarnya bersifat probabilistik.

 
chamchi 2026-03-03

Saya sedang membuat library dengan AI, dan sepertinya refactoring, peningkatan kualitas kode, serta pengecekan kekurangan juga perlu dijalankan dengan AI.