Kemarin saya sempat riset tentang agentic AI coding — tren AI yang lagi ramai dipakai untuk menulis kode. Beda dengan AI generasi lama yang cuma menjawab potongan kode sekali jalan, agentic AI bisa mengerjakan tugas sampai selesai: baca file, edit, jalankan perintah, cari di web, bahkan bertanya balik ke kita. Contohnya OpenCode, Claude Code, Codex CLI, Cursor Agent. Di tulisan ini saya bahas cara kerjanya, dengan OpenCode sebagai studi kasus.
Apa itu Agentic AI Coding?
Perbedaan fundamentalnya begini:
| AI Assistant klasik (autocomplete/chat) | Agentic AI coding | |
|---|---|---|
| Cara kerja | Menjawab potongan kode sekali jalan | Loop: model → panggil tool → lihat hasil → lanjut, sampai tugas selesai |
| Akses | Hanya teks di editor | Bisa baca/edit file, jalankan shell, cari di web, tanya user |
| Kontrol | User yang mengeksekusi | Agent yang mengeksekusi (dengan permission yang bisa dibatasi) |
| Contoh | Copilot autocomplete | OpenCode, Claude Code, Codex CLI, Cursor Agent |
Cara Kerja Inti: Agent Loop
Inti dari semua agentic coding adalah agent loop — siklus yang diulang sampai target tercapai:
- Konteks — agent diberi instruksi + isi repo, aturan proyek (AGENTS.md/rules), dan riwayat sesi.
- Putuskan — model memilih: jawab langsung, atau panggil tool.
- Eksekusi — tool dijalankan (edit file, run test, fetch docs), output dikembalikan ke konteks.
- Iterasi — ulangi sampai target tercapai, lalu lapor hasil.
Yang membuat loop ini aman dan berguna ada empat dukungan kunci: sistem permissions (apa yang boleh dijalankan tanpa izin), subagent (agent khusus yang didelegasikan), context management (kompaksi saat konteks panjang), dan integrasi LSP/MCP (code intelligence + tool eksternal).
OpenCode sebagai Contoh Nyata
OpenCode (opencode.ai) adalah agentic coding open-source yang cukup populer. Data repo terverifikasi via GitHub API (11 Agustus 2026):
- Repo:
anomalyco/opencode— “The open source AI coding agent” - ~195.800 ⭐, 25.100+ fork, lisensi MIT, bahasa TypeScript
- Dibuat 30 April 2025, masih aktif (push terakhir 10 Agustus 2026)
- Bentuk: TUI (terminal), CLI
opencode run, desktop app (beta), ekstensi IDE
Sistem Agent
OpenCode punya dua tipe agent: primary (dipakai langsung, ganti via tombol Tab) dan subagent (dipanggil via @nama atau otomatis oleh agent utama):
| Agent | Tipe | Akses | Fungsi |
|---|---|---|---|
| build | primary (default) | semua tool | development, edit + run perintah |
| plan | primary | read-only (edit: deny, bash: ask) | analisis & buat rencana tanpa menyentuh kode |
| general | subagent | semua tool kecuali todo | riset multi-langkah, bisa jalan paralel |
| explore | subagent | read-only | jelajah/cari di codebase dengan cepat |
| scout | subagent | read-only | riset dokumentasi/dependency eksternal |
| compaction, title, summary | hidden | — | kompaksi konteks, judul sesi, ringkasan (otomatis) |
Tool Bawaan
Semua tool bisa di-allow/ask/deny satu per satu lewat konfigurasi permission:
| Tool | Fungsi |
|---|---|
bash | eksekusi perintah shell |
read / write / edit / apply_patch | operasi file |
grep / glob | pencarian (ditenagai ripgrep, hormati .gitignore) |
lsp (eksperimental) | go-to-definition, find-references, hover |
skill | memuat SKILL.md (knowledge prosedural) |
todowrite | todo list saat tugas kompleks |
webfetch | ambil konten halaman web |
websearch | cari web via Exa AI (tanpa API key, aktivasi via env) |
question | bertanya ke user saat eksekusi (klarifikasi/pilihan) |
Cara kerja khasnya: agent memanggil tool → hasil tool masuk konteks → model menyambung logika → bisa membuat sesi child untuk subagent, lalu kembali ke sesi induk. Modelnya provider-agnostic (Anthropic, OpenAI, OpenRouter, model lokal via Ollama, dll) — tidak terikat satu vendor. Konfigurasi via opencode.json atau file markdown di .opencode/agents/.
Arsitektur Loop: Observe → Think → Act → Tool
Secara lebih rinci, satu iterasi agent loop bisa dipecah jadi empat langkah yang berulang:
Observe — agent membaca konteks saat ini: isi file yang relevan, isi terminal terakhir, riwayat percakapan. Ini seperti programmer yang duduk di depan layar, membaca error log sebelum mulai mengetik. Think — model LLM merencanakan langkah berikutnya: perlu baca file X dulu? Harus edit baris Y? Perlu jalankan test? Act — agent memanggil tool yang dipilih, misalnya write atau bash. Tool result — output tool dikembalikan ke dalam konteks, lalu loop kembali ke Observe.
Yang menarik: tidak ada satu pun komponen di loop ini yang “pintar” sendiri. Model LLM hanya merencanakan — semua eksekusi nyata dilakukan tool. Seperti tech lead yang pintar merencanakan tapi tidak coding langsung: delegation ke tool yang tepat adalah kunci.
Context Management & Memory
Tantangan utama agentic coding adalah context window — LLM punya batas token yang bisa diingat dalam satu sesi. OpenCode menangani ini dengan beberapa strategi:
- Compaction otomatis — saat konteks mendekati batas, agent tersembunyi “compaction” merangkum seluruh sesi jadi ringkasan singkat, lalu mulai sesi baru dengan ringkasan itu. Seperti menulis catatan rapat lalu memulai rapat baru dengan catatan itu.
- Subagent delegation — agent utama bisa mendelegasikan sub-tugas ke subagent. Subagent punya konteks sendiri yang terpisah, jadi tidak membebani konteks utama.
- File-based memory —
AGENTS.md,.opencode/rules/, danSKILL.mdpersist antar sesi. Agent “membaca” file ini setiap kali mulai, seperti programmer yang baca README sebelum kerja. - Todo list — untuk tugas kompleks,
todowritetool membuat checklist yang bisa diakses agent kapan saja, menjaga fokus pada task yang belum selesai.
Error Recovery
Ketika tool gagal — misalnya test error, syntax error, atau permission ditolak — agent tidak berhenti. Strategi error recovery-nya:
- Retry dengan pendekatan berbeda — jika
bashmengembalikan error, agent membaca error message, menganalisis penyebab, lalu coba solusi lain. Sama seperti kita baca stack trace lalu fix. - Fallback ke tool lain — jika
editgagal karena context mismatch, agent bisa baca file dulu denganread, lalu cobawritedengan konten yang benar. - Ask user — tool
questionmemungkinkan agent bertanya ke user saat buntu. Ini safety net terakhir sebelum agent loop mandek. - Batas iterasi — ada batas maksimal iterasi loop agar agent tidak infinite loop. Jika mencapai batas, agent lapor status dan berhenti.
Agentic vs IDE Assistance Tradisional
Bandingkan dengan Copilot autocomplete atau ChatGPT di editor: asisten tradisional hanya mengusulkan kode — kita yang harus copy-paste, jalankan test, perbaiki error sendiri. Alurnyaada di manual di tiap langkah.
Agentic coding mengotomasi seluruh siklus itu. Kita beri instruksi tingkat tinggi (“fix bug ini”, “tambah fitur X”), agent mengerjakan loop baca → edit → test → fix sampai selesai. Perbedaannya seperti peta manual vs GPS: dua-duanya bantu navigasi, tapi GPS yang mengeksekusi belokan demi belokan.
Implikasinya: untuk tugas kecil (satu baris autocomplete, quick fix), Copilot tetap lebih cepat. Tapi untuk tugas yang butuh multi-step reasoning — refactor across files, investigasi bug kompleks, setup proyek baru dari nol — agentic coding jauh lebih efisien karena mengurangi context-switching manual manusia.
Limitasi yang Harus Dipahami
- Context window limit — meski sudah compaction, project besar dengan banyak file tetap sulit diakses sekaligus. Agent mungkin melewatkan konteks penting.
- Hallucination risk — agent bisa membuat kode yang terlihat benar tapi sebenarnya tidak berfungsi. Tool
bashmenjalankan test membantu mitigasi, tapi tidak menjamin semua edge case tertangkap. - Token cost — satu sesi agentic coding bisa menghabiskan ribuan token per iterasi. Untuk model berbayar (Claude, GPT), biaya bisa signifikan di sesi panjang.
- Keamanan — meski ada permission system, agent tetap punya akses ke filesystem dan shell. Selalu review perubahan yang dibuat agent sebelum commit ke production.
- Tidak bisa ganti domain knowledge — agent membantu eksekusi, tapi tetap kita yang harus tahu arsitektur sistem, requirement bisnis, dan decision-making strategis.
Kapan Pakai Agentic vs Manual?
| Skenario | Pendekatan terbaik |
|---|---|
| Fix typo / rename variable | Autocomplete / find-replace — tidak butuh agent |
| Buat function baru standalone | Copilot chat — cepat, langsung di editor |
| Refactor across 5+ file | Agentic — agent bisa baca semua file, edit konsisten, jalankan test |
| Investigasi bug dari error log | Agentic — agent bisa baca log, trace kode, coba fix berulang |
| Setup CI/CD dari nol | Agentic — banyak file, banyak iterasi, banyak test |
| Belajar konsep baru | Manual + chat AI — agentic terlalu cepat, kita perlu ikuti prosesnya |
Catatan Pribadi
Pertama kali pakai agentic coding, saya sempat kaget — agent baca file saya, edit, jalankan test, lalu fix error sendiri dalam hitungan menit. Rasanya seperti pair programming dengan rekan yang sangat cepat tapi butuh banyak arahan di awal. Saya juga sempat tergoda untuk menyerahkan semua task tanpa review, tapi pengalaman itu mengajarkan satu hal: agent itu tool, bukan rekan yang bisa dipercaya 100%. Review tetap wajib, apalagi untuk kode yang akan production.
Yang paling berguna menurut saya adalah saat debugging — agent bisa membaca error log yang panjang, trace ke beberapa file, dan menyarankan fix lebih cepat dari yang bisa saya lakukan manual. Tapi untuk arsitektural decision, tetap manusia yang harus memimpin.
Kesimpulan
Agentic coding pada dasarnya memberi LLM tangan (tools) + aturan (permissions) + ingatan kerja (konteks sesi), lalu membiarkannya mengulang loop eksekusi sampai selesai. OpenCode adalah implementasi open-source yang bagus untuk dipelajari: konsepnya sederhana (loop + tools), tapi lengkap — subagent, MCP, LSP, permission. Yang menarik buat saya: loop yang sama persis juga dipakai asisten riset di mesin ini untuk men-delegate tugas, jadi paham konsep ini ternyata berguna di luar coding.
Sumber
- OpenCode Documentation (Intro, Agents, Tools — last updated 9 Agustus 2026)
- GitHub: anomalyco/opencode (data repo via GitHub API, diambil 11 Agustus 2026)
- opencode.ai
Komentar Terbaru