~/VibeHandbook
PDF Gratis

Bab 07 · 08

Diagnostik Langsung (LSP)

Siklus umpan balik yang paling ketat tidak menunggu Anda menjalankan kode — ia menangkap kesalahan pada saat kesalahan itu diketik. Itulah yang disediakan oleh Language Server Protocol (): "otak" langsung di balik editor Anda, termasuk error real-time, informasi tipe, go-to-definition, dan autocomplete. Sebuah language server membaca kode Anda saat berubah dan melaporkan masalah sebelum apa pun dijalankan.

Daya ungkit untuk vibe coding adalah mengalirkan diagnostik itu kembali ke AI. Tanpanya, lingkaran ini lambat: AI menulis kode, Anda menjalankannya, kode itu crash karena salah ketik atau error tipe, dan Anda menempel pesan error itu kembali secara manual. Dengan diagnostik yang terhubung, agen melihat garis bergelombang merah yang sama yang Anda lihat pada saat itu juga ia menulis baris itu — dan memperbaiki error tipe atau lint sambil jalan, sebelum kodenya pernah dijalankan sekalipun.

Anda bisa memberi agen "penglihatan" ini dengan beberapa cara:

  • Jalankan language server untuk stack Anda (tsserver, rust-analyzer, pyright, dan lain-lain) — kebanyakan editor native-AI melakukan ini untuk Anda.
  • Minta agen menjalankan perintah typecheck atau lint dan membaca hasilnya, atau ekspos diagnostik melalui server.
  • Perlakukan laporan diagnostik yang bersih sebagai bagian dari "selesai," bukan sebagai renungan belakangan.

Dengan disambungkan seperti ini, agen menjalankan siklus koreksi-mandiri yang sama secara sendiri — edit, jalankan, baca kegagalan, perbaiki, dan jalankan lagi sampai diagnostiknya kembali bersih:

   ┌──────────┐      ┌──────────┐      ┌──────────────┐
   │   EDIT   │ ───▶ │   RUN    │ ───▶ │ READ FAILURE │
   └──────────┘      └──────────┘      └──────┬───────┘
        ▲                                     │
        │                                     ▼
        │            ┌──────────┐       ┌──────────┐
        │            │   PASS   │ ◀──── │   FIX    │
        │            │  (done)  │  no   └──────────┘
        │            └────┬─────┘
        └─────────────────┘
            still failing

Inilah juga alasan mengapa bahasa yang bertipe (typed language) bisa menjadi kekuatan super yang diam-diam untuk vibe coding: setiap anotasi tipe adalah spesifikasi kecil yang diperiksa mesin, yang menangkap kesalahan AI sebelum kesalahan itu pernah dijalankan. Siklus jalankan-crash-tempel berubah menjadi siklus yang tenang dan mengoreksi diri sendiri. AI berputar-putar lebih sedikit dan konvergen lebih cepat.

Mau versi offline?

Unduh seluruh buku sebagai PDF atau EPUB — gratis.