Belajar AI #37: AI Coding Assistant — Code Completion vs Agentic Edit

Di episode #26 kita sudah membahas konsep AI Agent: program yang punya loop perceive-reason-act dan memanggil tools. Nah, kalau ada satu keluarga produk yang paling langsung terasa manfaatnya bagi programmer seperti kita, itu adalah AI coding assistant. Di episode ini saya catat bagaimana cara kerjanya, dan yang paling penting: bedanya mode “autocomplete” dengan mode “agentic edit” yang muncul belakangan.

Perbandingan code completion dan agentic edit beserta loop read-plan-act-observe
Dua mode AI coding assistant: completion (kiri) dan agentic edit dengan loop read-plan-act-observe (kanan).

Dua mode yang sering disamakan

Seringkali orang bilang “AI nulis kode” tanpa membedakan dua hal yang cara kerjanya sangat berbeda. Saya sendiri awalnya juga menganggapnya sama, sampai mencoba keduanya berdampingan. Ini tabel yang saya buat untuk merapikan pemahaman saya:

AspekCode completionAgentic edit
InputKursor di file, beberapa baris kodePrompt natural language (“tambahkan validasi email”)
CakupanSatu posisi kursor, satu fileBanyak file sekaligus
LoopSekali tebak, sekali sugestiEdit → run test/lint → perbaiki → ulang
Kontrol programmerTinggi (terima/tolak per baris)Lebih rendah (review diff menyeluruh)
Cocok untukP boilerplate, autocomplete sintaksRefactor lintas file, fitur kecil end-to-end

Cara kerja code completion

Mode completion paling tua dan paling sederhana. Model menerima konteks di sekitar kursor — file aktif, beberapa file terkait, mungkin struktur project — lalu menebak kelanjutan teksnya. Ini dijalankan sekali, tanpa loop. Kalau tebakannya jelek, ya programmer mengabaikan sugestinya dan mengetik sendiri. Bagi saya ini terasa seperti ” autocomplete yang sangat pintar”: nyaman untuk menulis kode rutin, tapi tidak pernah menyentuh file lain dan tidak pernah mengecek apakah hasilnya benar.

Cara kerja agentic edit

Mode agentic edit memakai loop yang sama persis dengan konsep agent di episode #26, hanya saja tools-nya khusus coding: membaca file, menulis file, menjalankan perintah terminal. Kalau di episode #27 kita bahas function calling sebagai jembatan model ke kode kita, di sinilah jembatan itu dipakai secara nyata tiap beberapa detik. Loop-nya kira-kira seperti ini:

while not task_done:
    files  = read_relevant_files(task)     # tool: baca file project
    plan   = model.generate(task, files)   # model tentukan langkah
    action = plan.next_action()            # edit file / run command
    result = execute(action)               # jalankan di terminal
    feedback = observe(result)             # output test, error linter
    task_done = plan.is_done(feedback)     # selesai atau coba lagi

Yang membuat mode ini terasa ajaib justru bagian observe-nya: agent membaca output test yang gagal atau error linter, lalu memperbaiki kode sendiri sebelum hasilnya sampai ke saya. Ini persis loop “act-observe” yang kita bahas di episode #26, hanya konkretnya di dunia kode.

Peta tools: Copilot, Cursor, Claude Code, dan agent CLI

ToolBentukCatatan saya
GitHub CopilotEkstensi IDE (VS Code, Visual Studio)Completion + agent mode di chat; agent mode bisa bereaksi ke error compile/lint dan mengulang sampai beres
CursorIDE berbasis VS CodeAgent edit jadi fitur utama; diff review antar file nyaman
Claude CodeCLI di terminal, ekstensi IDE, app desktopAgent yang baca seluruh codebase, jalankan perintah, dan punya file memori proyek (CLAUDE.md)
Agent CLI lainCLI open-source (mis. Aider, OpenCode)Pola sama: terminal sebagai “kendali”, model sebagai otak

Perhatikan polanya: industri sedang bergerak dari IDE sebagai tempat completion, menuju terminal sebagai tempat agent bekerja. Untuk konteks kita, MCP yang kita bahas di episode #28 dipakai tools-tools ini untuk menyambungkan agent ke sistem eksternal seperti tracker isu atau database internal.

Apa kata datanya

Saya tidak ingin cuma cerita pengalaman. Anthropic pernah menganalisis sekitar 400.000 sesi Claude Code dari Oktober 2025 sampai April 2026 (dipublikasikan 16 Juni 2026). Temuan yang paling menarik bagi saya: porsi sesi yang dihabiskan untuk memperbaiki kode rusak turun dari 33% menjadi 19%, sementara bagian “mengoperasikan software” (menjalankan, menganalisis data, menulis dokumen non-kode) naik dari 14% ke 21%. Artinya penggunaan berpindah dari “AI tolong perbaiki error ini” ke pekerjaan end-to-end. Laporan itu juga menegaskan sesuatu yang saya rasakan sendiri: agent tidak menggantikan pemahaman — makin dalam kita paham kode dan arsitekturnya, makin bagus hasil yang bisa kita perintahkan.

Kapan pakai mana — aturan main saya

  • Saya pakai completion untuk menulis boilerplate rutin dan sintaks yang hafalannya kuno.
  • Saya pakai agentic edit untuk refactor lintas file, migrasi kecil, dan menulis test awal — dengan syarat review diff sebelum commit, bukan “terima semua”.
  • Saya tidak memberi akses terminal bebas ke agent di kode produksi tanpa guard: perintah yang boleh jalan otomatis saya batasi dulu.

Intinya: mode completion = saya masih driver, AI hanya navigator. Mode agentic edit = AI sudah boleh menyetir, tapi tangan saya tetap di pintu dan rem tangan. Di episode berikutnya kita akan masuk ke topik yang sering bikin penasaran: bagaimana mengevaluasi apakah hasil AI ini benar-benar bagus, bukan hanya terdengar meyakinkan — yaitu evals untuk LLM dan agent.

Sumber

Sumber yang saya baca untuk catatan ini:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses