Perbandingan Agentic AI Coding: OpenCode vs Claude Code vs Codex

Kemarin saya bahas cara kerja agentic AI coding dengan OpenCode sebagai studi kasus. Hari ini saya bandingkan tiga tool yang paling populer saat ini: OpenCode, Claude Code, dan Codex CLI. Semua angka repo diambil langsung dari GitHub API tanggal 11 Agustus 2026, dan detail fitur dari README/dokumentasi resmi masing-masing.

Sekilas Perbandingan

AspekOpenCodeClaude CodeCodex CLI
PengembangKomunitas (Anomaly)AnthropicOpenAI
LisensiMIT (open source)Terms komersial Anthropic (repo publik, bukan lisensi OSI)Apache-2.0 (open source)
⭐ GitHub~195.800~140.900~105.100
Dibuat30 Apr 202522 Feb 202513 Apr 2025
Model bawaanProvider-agnostic (Anthropic, OpenAI, OpenRouter, Ollama lokal, dll)Model ClaudeModel OpenAI
BentukTUI/CLI, desktop (beta), ekstensi IDETerminal, IDE, @claude di GitHubCLI lokal, desktop app, IDE (VS Code/Cursor/Windsurf), Codex Web (cloud)

Fitur Agentic: Loop, Multi-File, Terminal, Browser

Satu hal yang membuat ketiganya berbeda dari AI coding biasa adalah kemampuan agentic loop: AI memanggil tool, melihat hasilnya, lalu iterasi sendiri tanpa harus kita klik “submit” ulang. Ini seperti punya junior developer yang proaktif — tidak hanya menulis kode tapi juga menjalankan test, memperbaiki error, dan verifikasi hasilnya sendiri.

FiturOpenCodeClaude CodeCodex CLI
Agentic loopYa — primary agents (build/plan) + subagents (general/explore/scout)Ya — agentic loop dengan permission approval per stepYa — agentic loop dengan sandboxed execution
Multi-file editYa — tool edit file bawaanYa — edit langsung di codebaseYa — multi-file editing dengan diff preview
Terminal accessYa — tool bash bawaanYa — eksekusi shell commandsYa — terminal access terintegrasi
Browser / webYa — webfetch + websearch toolsLimited — bisa fetch URL tertentuYa — web browsing capability
MCP supportYa — Model Context ProtocolYa — MCP ecosystemYa — MCP compatible

OpenCode — Open Source Penuh & Bebas Model

Sudah saya bahas detail kemarin: lisensi MIT, provider-agnostic (bisa pakai model apa saja termasuk model lokal via Ollama), TUI-first, dengan sistem agent yang lengkap (primary: build/plan; subagent: general/explore/scout) dan tool bawaan bash, edit file, grep/glob, skill, todowrite, webfetch, websearch, sampai tool question untuk bertanya balik ke user. Punya dukungan MCP, LSP, dan custom tools.

Kekuatan utamanya: transparan dan tidak terikat vendor — kode terbuka (MIT), dan modelnya bisa diganti-ganti. Cocok kalau kamu mau kontrol penuh atas tooling dan tidak mau terkunci ekosistem satu penyedia AI.

Kelebihan: Sepenuhnya open source, bisa pakai model lokal (hemat biaya), komunitas aktif, highly customizable lewat custom tools dan MCP. Kekurangan: Tampilan TUI kurang ramah bagi yang terbiasa GUI, ekosistem desktop masih beta, tidak ada integrasi native ke GitHub atau IDE populer seperti VS Code.

Claude Code — Agentic Tool dari Anthropic

Claude Code (repo anthropics/claude-code) adalah agentic coding tool yang hidup di terminal: memahami codebase, mengeksekusi tugas rutin, menjelaskan kode kompleks, dan menangani workflow git lewat perintah bahasa alami. Bisa dipakai di terminal, IDE, atau mention @claude langsung di GitHub. Repo ini juga memuat beberapa plugin resmi yang menambah custom commands dan agents.

Catatan jujur dari README resmi: repo-nya publik tapi bukan open source OSI — didistribusikan di bawah Commercial Terms of Service Anthropic. Ada juga kebijakan data collection: Anthropic mengumpulkan data penggunaan (feedback, data percakapan), dengan beberapa safeguard privasi. Kalau kamu sensitif soal data, ini penting untuk diperhitungkan. Instalasi via npm sudah deprecated — disarankan curl -fsSL https://claude.ai/install.sh | bash, Homebrew, atau WinGet.

Kelebihan: Integrasi GitHub paling mulus (mention @claude langsung di issue/PR), model Claude Sonnet/Opus yang kuat untuk coding, ekosistem plugin resmi, dukungan IDE yang matang. Kekurangan: Terkunci ke model Claude saja, data collection policy, lisensi bukan open source sejati, harga API Claude bisa mahal untuk penggunaan intensif.

Codex CLI — Coding Agent dari OpenAI

Codex CLI (repo openai/codex, lisensi Apache-2.0) adalah coding agent dari OpenAI yang berjalan lokal di komputer. Uniknya, ia terintegrasi dengan ekosistem OpenAI: bisa sign in dengan akun ChatGPT (plan Plus/Pro/Business/Edu/Enterprise) atau pakai API key. Bentuknya beragam: CLI lokal, desktop app (codex app), ekstensi IDE untuk VS Code/Cursor/Windsurf, plus versi cloud-nya bernama Codex Web (chatgpt.com/codex).

Buat yang sudah berlangganan ChatGPT, ini jalur paling mulus: pakai kuota plan tanpa mikir API key. Source code CLI-nya sendiri open source (Apache-2.0), jadi bisa diaudit dan di-build sendiri.

Kelebihan: Bisa pakai kuota langganan ChatGPT (Plus/Pro), open source CLI, ekosistem IDE paling luas (VS Code, Cursor, Windsurf), ada Codex Web untuk akses cloud, sandboxed execution yang aman. Kekurangan: Terkunci ke model OpenAI, Codex Web bergantung pada infrastruktur OpenAI, performa model o3/o4-mini belum selalu konsisten untuk tugas kompleks.

Biaya: Token Cost & Model Langganan

Soal biaya, ketiganya punya model berbeda. Bayangkan seperti membayar parkir: ada yang parkir per jam (bayar per token), ada yang beli langganan bulanan, ada yang gratis kalau bawa kendaraan sendiri (model lokal).

Aspek BiayaOpenCodeClaude CodeCodex CLI
Biaya tool itu sendiriGratis (open source)Gratis install, bayar API/subscriptionGratis install, bayar via langganan atau API
Model lokalYa — via Ollama, biaya nolTidakTidak
API pricing (per 1M tokens)Tergantung model dipilihSonnet ~$3 input/$15 output; Opus ~$15/$75GPT-4o ~$2.50/$10; o3 ~$10/$40
LanggananTidak ada (murni BYOK)Claude Pro $20/bulan, Max $100/bulanChatGPT Plus $20/bulan, Pro $200/bulan

Ekosistem & Integrasi

Dari sisi integrasi, setiap tool punya “lingkungan alam” masing-masing. OpenCode seperti Swiss Army knife yang bisa masuk ke mana saja asalkan ada terminal. Claude Code seperti ekosistem Apple — polished tapi tertutup. Codex CLI seperti Android — banyak pilihan perangkat tapi tetap di bawah satu payung Google.

IntegrasiOpenCodeClaude CodeCodex CLI
GitHubVia git commands@claude bot langsung di issue/PRVia git commands + Codex Web
IDEEkstensi (masih berkembang)VS Code, JetBrainsVS Code, Cursor, Windsurf
Terminal/CLITUI-first, UX terbaikCLI full-featuredCLI + desktop app
CloudTidak ada (semua lokal)Via API AnthropicCodex Web (chatgpt.com/codex)

Community & Support

OpenCode didorong komunitas — issue tracker di GitHub aktif, contributor dari berbagai latar belakang. Claude Code punya support resmi dari Anthropic dengan dokumentasi yang rapi. Codex CLI mendapat backing besar dari OpenAI dengan ekosistem ChatGPT yang sudah massif. Kalau butuh bantuan cepat, Claude Code dan Codex CLI punya jalur support komersial. OpenCode mengandalkan komunitas — mirip cara Linux berkembang, lambat tapi transparan.

Best Use Case per Tool

OpenCode ideal untuk: developer yang ingin pakai model lokal (hemat biaya), proyek sensitif yang tidak boleh data-nya keluar, atau siapa saja yang suka full control tanpa vendor lock-in. Claude Code cocok untuk: tim yang sudah di ekosistem Anthropic, workflow GitHub-heavy di mana @claude bot sangat praktis, dan project yang butuh kualitas model Claude untuk reasoning kompleks. Codex CLI paling pas untuk: pengguna ChatGPT yang mau pakai kuota langganan, developer yang butuh integrasi IDE luas, atau tim yang butuh Codex Web untuk akses cloud-based coding.

Decision Framework: Cara Memilih

Mau sederhana? Tanya tiga pertanyaan ini:

  1. Apakah privasi data kritis? Kalau ya → OpenCode + model lokal via Ollama. Data tidak pernah keluar dari mesinmu.
  2. Model/siapa langgananmu sekarang? Sudah langganan ChatGPT → Codex CLI. Sudah pakai Claude Pro/Max → Claude Code. Belum punya langganan → OpenCode dengan model gratis/lokal, atau pilih yang paling murah untuk kebutuhanmu.
  3. Seberapa penting integrasi IDE dan GitHub? Butuh @claude di GitHub → Claude Code. Butuh IDE paling banyak → Codex CLI. Cukup terminal → OpenCode.

Kapan Pilih Yang Mana?

Prioritas kamuRekomendasiAlasan
Open source penuh, bebas ganti model, TUI-firstOpenCodeMIT, provider-agnostic, ekosistem agen & tool lengkap
Sudah di ekosistem Claude / butuh integrasi GitHub (@claude)Claude CodeMatang dari Anthropic, ada plugin resmi; terima lisensi komersial & data collection
Sudah langganan ChatGPT, mau integrasi IDE + cloudCodex CLIApache-2.0, sign-in ChatGPT plan, ada desktop app & Codex Web

Catatan Pribadi

Dari percobaan selama beberapa minggu, saya pribadi condong ke OpenCode untuk penggunaan sehari-hari. Alasannya sederhana: saya bisa pakai model lokal via Ollama untuk tugas-tugas ringan (refactor kecil, generate boilerplate, exploratory coding), dan switch ke API Claude atau OpenAI untuk tugas yang butuh reasoning kuat. Tidak ada vendor lock-in, biaya terkontrol, dan yang paling penting — saya bisa lihat kode sumbernya kalau ada yang aneh.

Namun untuk workflow GitHub (review PR, handle issue), Claude Code dengan fitur @claude-nya sangat praktis. Dan untuk quick prototyping di browser tanpa setup apapun, Codex Web jadi opsi yang menarik. Intinya: gunakan sesuai konteks, jangan fanatik ke satu tool. Seperti yang sering saya bilang — yang terbaik adalah tool yang menyelesaikan masalahmu dengan paling sedikit friction.

Kesimpulan

Ketiganya sama-sama agentic (loop: panggil tool → lihat hasil → iterasi), bedanya di ekosistem dan lisensi. OpenCode paling terbuka dan fleksibel soal model; Codex paling nyambung buat pengguna ChatGPT; Claude Code paling matang kalau kamu sudah di dunia Claude. Tidak ada yang “paling bagus” mutlak — pilih berdasarkan langganan yang kamu punya dan seberapa penting open source + privasi data buatmu.

Sumber

Belajar Adab Makan ala Rasulullah ﷺ

Hari ini saya belajar tentang adab makan dan minum menurut tuntunan Rasulullah ﷺ. Jujur, selama ini saya makan ya langsung makan saja — jarang memperhatikan hal-hal kecil yang ternyata punya nilai ibadah besar di sisi Allah. Catatan ini saya rangkum dari kajian Ustadz Abdullah Zaen tentang adab makan dan minum, kajian Ustadz Muhammad Nuzul Dzikri tentang adab di awal makan, serta artikel dari muslim.or.id dan Rumaysho.com. Semoga bermanfaat untuk saya pribadi dan siapa pun yang membacanya.

Adab Sebelum Makan: Membaca Bismillah dan Doa

Pelajaran pertama yang paling membekas: sebelum makan kita dianjurkan membaca bismillah. Dalam hadits dari Umar bin Abi Salamah, Rasulullah ﷺ bersabda kepada beliau yang saat itu masih kecil,

«يَا غُلَامُ سَمِّ اللَّهَ وَكُلْ بِيَمِينِكَ وَكُلْ مِمَّا يَلِيكَ»

“Wahai anakku, sebutlah nama Allah, makanlah dengan tangan kananmu, dan makanlah makanan yang ada di dekatmu.” (HR. Bukhari no. 5376 dan Muslim no. 2022)

Subhanallah, dari satu hadits ini saja kita mendapat tiga adab sekaligus: menyebut nama Allah, makan dengan tangan kanan, dan mengambil makanan yang terdekat. Kalau lupa membaca bismillah di awal, Nabi ﷺ mengajarkan untuk mengucapkan “Bismillaahi awwalahu wa aakhirahu” (dengan nama Allah pada awal dan akhirnya) — HR. Abu Dawud no. 3767 dan Tirmidzi no. 1858, dishahihkan Syaikh Al-Albani.

Selain bismillah, ada doa khusus yang bisa dibaca sebelum makan. Rasulullah ﷺ bersabda,

“Apabila salah seorang kalian hendak makan, hendaklah ia membaca: ‘Bismillaahi, wa ‘alaa baarakatillaah.’ (Dengan nama Allah dan atas berkah Allah).” (HR. Abu Dawud no. 3763, dishahihkan Al-Albani). Artinya: Dengan nama Allah, dan atas berkah Allah. Doa sederhana ini mengingatkan kita bahwa makanan bukan sekadar kebutuhan fisial, tapi karunia yang penuh keberkahan dari Allah.

Kenapa bismillah ini penting sekali? Karena dalam hadits Hudzaifah radhiyallahu ‘anhu disebutkan bahwa “setan menghalalkan makanan yang tidak disebut nama Allah padanya” (HR. Muslim no. 2017). Bahkan ada kisahnya: suatu ketika ada anak kecil dan seorang Arab Badui yang tangannya ditahan oleh Nabi ﷺ saat mau mengambil makanan, karena keduanya tidak membaca bismillah — dan ternyata setan ikut serta bersama mereka untuk menikmati makanan itu. Ustadz Muhammad Nuzul Dzikri dalam kajian “Adab di Awal Makan” mengingatkan hal yang sama: awal makan yang benar adalah dengan menyebut nama Allah, supaya setan tidak ikut serta.

Makanan Halal dan Thoyyib: Bukan Sekadar Enak

Sebelum membahas adab saat makan, ada hal mendasar yang tidak boleh dilewatkan: makanan harus halal dan thoyyib. Allah berfirman dalam QS. Al-Baqarah: 168,

«يَا أَيُّهَا النَّاسُ كُلُوا مِمَّا فِي الْأَرْضِ حَلَالًا طَيِّبًا وَلَا تَتَّبِعُوا خُطُوَاتِ الشَّيْطَانِ»

“Wahai manusia, makanlah dari apa yang ada di bumi yang halal dan baik (thoyyib), dan janganlah kalian mengikuti langkah-langkah setan.” (QS. Al-Baqarah: 168). Ayat ini mengajarkan dua kriteria: halal (sesuai syariat) dan thoyyib (baik untuk tubuh serta bermutu). Makanan yang halal tapi tidak thoyyib — misalnya makanan yang berlebihan hingga membahayakan kesehatan — juga tidak sejalan dengan tuntunan ini. Demikian pula makanan yang thoyyib tapi tidak halal, tidak boleh dikonsumsi. Keduanya harus seimbang.

Adab Saat Makan: Tangan Kanan, Berjamaah, dan Tidak Mencela

Selain makan dengan tangan kanan, ada adab lain yang sangat ditekankan Rasulullah ﷺ: makan bersama-sama. Beliau bersabda,

“Makanlah kalian berjamaah, dan hendaklah orang yang memegang bejana tidak memulai makan sebelum orang lain (bersamanya) memulai.” (HR. At-Tirmidzi no. 1847). Dalam riwayat lain disebutkan bahwa makan berjamaah dari satu tempat itu lebih mengandung keberkahan daripada makan sendiri-sendiri. Ini mengajarkan kita tentang kebersamaan, kesetaraan, dan menghargai tamu — tidak mendahului mereka dalam mengambil makanan.

Ada satu adab yang dulu jarang saya sadari: jangan menjelek-jelekkan makanan. Dari Abu Hurairah radhiyallahu ‘anhu,

“Tidaklah Nabi ﷺ mencela suatu makanan sedikit pun. Jika beliau menyukainya, beliau memakannya; jika tidak menyukainya, beliau meninggalkannya.” (HR. Bukhari no. 5409 dan Muslim no. 2064)

Ibnu Baththal rahimahullah menjelaskan, ini adalah adab yang baik kepada Allah — karena kalau kita menjelek-jelekkan makanan, seolah-olah kita menolak rizki yang Allah berikan. Syaikh Utsaimin juga mengingatkan bahwa makanan adalah nikmat dari Allah yang patut disyukuri, bukan dicela. Kalau memang tidak suka, cukup tinggalkan saja tanpa komentar negatif. Yang menarik, Nabi ﷺ juga pernah memuji makanan sederhana: beliau bersabda, “Sebaik-baik lauk adalah cuka” (HR. Muslim no. 2052). Beliau tidak meminta yang mewah-mewah, lauk cuka pun dipuji dan disantap dengan senang hati.

Ada juga sunnah yang mungkin jarang kita lakukan: menjilat sisa makanan di jari setelah makan. Dari Ibnu Abbas radhiyallahu ‘anhuma, Nabi ﷺ bersabda, “Jika salah seorang di antara kalian makan, janganlah ia mengusap tangannya sebelum ia menjilatnya atau dijilatkan kepada orang lain.” (HR. Bukhari no. 5456 dan Muslim no. 2031). Alasannya, kita tidak tahu di bagian makanan mana letak keberkahan itu berada. Makan dengan tiga jari juga termasuk sunnah dan menunjukkan sikap tawadhu’.

Yang juga patut kita perhatikan: jangan menyia-nyiakan makanan. Dalam hadits yang diriwayatkan Muslim, Rasulullah ﷺ melarang seseorang membuang sisa makanan yang masih bisa dimakan. Allah telah mencurahkan nikmat melalui setiap butir makanan; membuangnya berarti meremehkan karunia-Nya. Makan secukupnya, ambil sesuai kebutuhan, dan habiskan apa yang telah diambil — itu semua bagian dari rasa syukur.

Sunnah Minum: Duduk, Tiga Teguk, Tangan Kanan

Bukan hanya makan, adab minum pun diajarkan dengan sangat rinci oleh Rasulullah ﷺ. Dari Anas bin Malik radhiyallahu ‘anhu, beliau bersabda,

“Janganlah salah seorang di antara kalian minum sambil berdiri. Siapa yang lupa, hendaklah ia memuntahkannya.” (HR. Muslim no. 2024). Minum sambil berdiri dikhawatirkan mengganggu pencernaan dan menunjukkan sikap terburu-buru yang tidak sejalan dengan adab Islami. Selain itu, Rasulullah ﷺ mengajarkan untuk minum dengan tiga teguk, tidak sekali teguk langsung habis — karena minum bertahap lebih baik bagi tubuh dan juga merupakan bagian dari syukur atas nikmat yang diberikan Allah.

Adab minum yang benar: duduk, berdoa terlebih dahulu dengan mengucap bismillah, minum dengan tangan kanan, dan tiga kali teguk. Semuanya sederhana, tapi kalau dilakukan secara konsisten, makan dan minum kita berubah menjadi ibadah yang terus-menerus mendatangkan pahala.

Adab Setelah Makan: Memuji Allah

Ternyata selesai makan pun ada adabnya, yaitu memuji Allah. Dari Anas bin Malik radhiyallahu ‘anhu, Rasulullah ﷺ bersabda,

“Sesungguhnya Allah ridha terhadap seorang hamba yang menikmati makanan lalu memuji Allah setelahnya, atau meneguk minuman lalu memuji Allah setelahnya.” (HR. Muslim no. 2734)

Bayangkan, hanya karena mengucap hamdalah setelah makan, Allah ridha kepada kita. Masya Allah, begitu murahnya pahala yang Allah sediakan. Salah satu doa yang bisa dibaca setelah makan: “Alhamdulillaahil ladzii ath’amanaa wa saqaanaa wa ja’alanaa muslimiin” — “Segala puji bagi Allah yang telah memberi kami makan dan minum, dan menjadikan kami orang-orang muslim” (HR. Abu Dawud no. 3850).

Mengamalkan Adab Makan di Era Modern

Pertanyaannya: bagaimana mengamalkan adab makan ala Rasulullah ﷺ di tengah gaya hidup modern yang serba cepat? Saya menyadari bahwa budaya fast food dan makan sembarangan sudah sangat mengakar — makan sambil pegang HP, makan di mobil, bahkan lupa baca bismillah karena sudah terlalu lapar. Meal prep dan eating clean yang kini populer sebenarnya sangat selaras dengan konsep thoyyib: memilih bahan makanan yang baik, memasak sendiri, dan makan secara terukur.

Saya sendiri, setelah belajar kajian ini, berusaha membiasakan diri untuk: berdoa sebelum makan meskipun cuma satu suapan, tidak mencela makanan meskipun sederhana, makan dengan tangan kanan, dan mengucap hamdalah setelah selesai. Belum sempurna memang — terkadang masih lupa, masih makan sambil berdiri kalau sudah sangat terburu-buru. Tapi insya Allah dengan terus belajar dan mengingat hikmah di balik setiap adab ini, kebiasaan baik itu perlahan terbentuk.

Yang paling berkesan buat saya dari belajar hari ini: makan itu ternyata bukan sekadar mengisi perut, tapi bisa menjadi ibadah yang berpahala jika dilakukan dengan adab. Mulai dari bismillah dan doa sebelum makan, makan pakai tangan kanan, makan berjamaah, minum sambil duduk dengan tiga teguk, tidak mencela makanan, tidak menyia-nyiakan sisa, sampai memuji Allah setelahnya — semuanya sederhana, tapi kalau dibiasakan insya Allah hidup kita jadi lebih berkah. Semoga Allah memberi kita taufik untuk istiqamah mengamalkan sunnah-sunnah kecil ini. Aamiin.

Cara Kerja Agentic AI Coding (Studi Kasus: OpenCode)

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 kerjaMenjawab potongan kode sekali jalanLoop: model → panggil tool → lihat hasil → lanjut, sampai tugas selesai
AksesHanya teks di editorBisa baca/edit file, jalankan shell, cari di web, tanya user
KontrolUser yang mengeksekusiAgent yang mengeksekusi (dengan permission yang bisa dibatasi)
ContohCopilot autocompleteOpenCode, 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:

  1. Konteks — agent diberi instruksi + isi repo, aturan proyek (AGENTS.md/rules), dan riwayat sesi.
  2. Putuskan — model memilih: jawab langsung, atau panggil tool.
  3. Eksekusi — tool dijalankan (edit file, run test, fetch docs), output dikembalikan ke konteks.
  4. 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):

AgentTipeAksesFungsi
buildprimary (default)semua tooldevelopment, edit + run perintah
planprimaryread-only (edit: deny, bash: ask)analisis & buat rencana tanpa menyentuh kode
generalsubagentsemua tool kecuali todoriset multi-langkah, bisa jalan paralel
exploresubagentread-onlyjelajah/cari di codebase dengan cepat
scoutsubagentread-onlyriset dokumentasi/dependency eksternal
compaction, title, summaryhidden—kompaksi konteks, judul sesi, ringkasan (otomatis)

Tool Bawaan

Semua tool bisa di-allow/ask/deny satu per satu lewat konfigurasi permission:

ToolFungsi
basheksekusi perintah shell
read / write / edit / apply_patchoperasi file
grep / globpencarian (ditenagai ripgrep, hormati .gitignore)
lsp (eksperimental)go-to-definition, find-references, hover
skillmemuat SKILL.md (knowledge prosedural)
todowritetodo list saat tugas kompleks
webfetchambil konten halaman web
websearchcari web via Exa AI (tanpa API key, aktivasi via env)
questionbertanya 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:

  1. 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.
  2. Subagent delegation — agent utama bisa mendelegasikan sub-tugas ke subagent. Subagent punya konteks sendiri yang terpisah, jadi tidak membebani konteks utama.
  3. File-based memory — AGENTS.md, .opencode/rules/, dan SKILL.md persist antar sesi. Agent “membaca” file ini setiap kali mulai, seperti programmer yang baca README sebelum kerja.
  4. Todo list — untuk tugas kompleks, todowrite tool 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 bash mengembalikan error, agent membaca error message, menganalisis penyebab, lalu coba solusi lain. Sama seperti kita baca stack trace lalu fix.
  • Fallback ke tool lain — jika edit gagal karena context mismatch, agent bisa baca file dulu dengan read, lalu coba write dengan konten yang benar.
  • Ask user — tool question memungkinkan 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 bash menjalankan 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?

SkenarioPendekatan terbaik
Fix typo / rename variableAutocomplete / find-replace — tidak butuh agent
Buat function baru standaloneCopilot chat — cepat, langsung di editor
Refactor across 5+ fileAgentic — agent bisa baca semua file, edit konsisten, jalankan test
Investigasi bug dari error logAgentic — agent bisa baca log, trace kode, coba fix berulang
Setup CI/CD dari nolAgentic — banyak file, banyak iterasi, banyak test
Belajar konsep baruManual + 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