Agentic AI in Practice

Cara Saya Coding Sehari-hari
dengan Claude Code

Endy Muhardin, ArtiVisi Intermedia

Dari Komentar Vlog #48

"Claude tercantum sebagai kontributor di repo ArtiVisi. Bahas dong agentic AI-nya."


Asal Nama Claude di Daftar Kontributor

GitHub menghitung kontributor dari trailer, yaitu baris seperti Co-Authored-By di akhir pesan commit, yang ditambahkan Claude Code secara otomatis.

1.023
commit sejak 19 Nov 2025
857
memuat trailer Claude (83,8%)
3.706
anotasi @Test di 222 file test
23
tag rilis, Des 2025 saja ada 8

BulanCommitDengan Trailer ClaudeBaris ditambahBaris dihapus
Nov–Des 2025477320211.94689.164
Jan–Mar 2026398392116.54924.087
Apr–Mei 202610610421.9871.497
Jun–Agu 202642419.7414.721

git log, clone lokal, 18 September 2026. Fase pengembangan selesai sekitar Mei, setelah itu tinggal perawatan. Trailer mencatat sembilan nama model, dari Claude Opus 4.5 hingga Claude Opus 5, tetapi alur kerjanya tidak berubah.

Ringkasan Cara Kerja dan Hasilnya

1
orang, dengan Claude Code sepanjang pengerjaan
237
function point per bulan aktif, gabungan dua repo
1,3×
baris test Java dibandingkan kode utama Balaka
84%
commit Balaka dikerjakan bersama Claude

Agent menulis kode dan menjalankan test. Saya memverifikasi hasilnya lewat test dan pengetahuan domain. Batas produktivitasnya ada di kepala saya.

Sebagai gambaran skala, Capers Jones (2017) mencatat 6–10 function point per orang-bulan untuk aplikasi Java pada tim konvensional. Cara menghitung dan batasannya dibahas di bagian akhir. Data per 18 September 2026.

Tiga Cara Menggunakan AI untuk Coding

Chat di browserAgent di IDEAgent di CLI
KonteksFile yang diunggah satu per satuRepo yang dibuka di editorSeluruh folder: 1.470 file Balaka, repo lain, Downloads
EksekusiSaya menjalankan, lalu menyalin errorAgent, di terminal editorAgent: mvn, psql, git, ssh
PengawasanMembaca jawabanMembaca diff di editorHasil test dan CI
ParalelSatu percakapanSatu jendela per proyekBeberapa sesi, satu worktree per tugas
JejakRiwayat chatRiwayat chat dan commitCommit, trailer, memory

Contoh agent di IDE: GitHub Copilot, Cursor, Antigravity. Contoh agent di CLI: Claude Code, Codex CLI, Gemini CLI.

Alur Kerja Harian

TugasTujuan dan batasannya. Langkahnya diserahkan ke agent
→
Worktree + sesiSatu folder kerja dan satu sesi Claude Code per tugas
→
Loop agentBaca kode, ubah, jalankan test, ulangi hingga lulus
→
VerifikasiSaya memeriksa hasil test dan mencecar AI soal cakupan test
→
Commit + CITest terkait, commit, lalu CI menjalankan semua test
→
RilisTag rilis dan deployment

Satu Bug dari Screenshot hingga Deployment

WIBPelakuLangkah
16:38SayaMengirim screenshot halaman rekonsiliasi yang kosong, dengan pesan "nothing appears"
16:39AgentMembaca importer mutasi bank. Batas hari rekonsiliasi ternyata menggunakan UTC, sedangkan mutasi bank menggunakan WIB
16:40AgentMemprediksi hasil rekonsiliasi dengan data production: dua transaksi akan tampil sebagai selisih, padahal hanya efek batas hari
16:41AgentMengubah batas hari ke zona Jakarta dan menulis test baru. Semua test lulus
16:42AgentMengembalikan bug untuk menguji test tersebut. Test tetap lulus, berarti test belum bisa membedakan kode lama dan kode baru
16:42AgentMenulis ulang test. Sekarang test gagal pada kode lama dan lulus pada kode baru
16:43AgentSeluruh 146 test lulus, lalu commit 78c1860
16:44AgentDeployment ke production sesuai izin yang saya berikan pukul 16:34. Aplikasi merespons normal setelah 31 detik, tanpa error

Payment-gateway, 25 Agustus 2026. Pengecekan di baris 16:42 adalah pertanyaan yang biasanya saya ajukan saat verifikasi: apakah test ini gagal kalau bug-nya dikembalikan?

Kesalahan Agent dan Cara Tertangkapnya

Di antara 1.023 commit Balaka terdapat sembilan commit revert, dan alasan setiap revert tertulis di pesan commit. Keputusan bisnis, fakta domain, dan verifikasi cakupan test tetap menjadi pekerjaan saya.

Sesi Paralel dan Izin Agent

Beberapa tugas sekaligus

  • Satu git worktree untuk setiap tugas, sehingga beberapa sesi dapat berjalan tanpa saling mengganggu
  • Semua sesi masih berjalan di laptop. Tmux dan PC khusus baru diperlukan kalau proyeknya lebih besar dari yang sekarang
  • Batas saya sekitar dua sampai tiga domain bisnis, dihitung per domain dan tidak per repo. Payment-gateway, account-receivable, dan Balaka berada dalam satu domain keuangan, sehingga empat repo dengan satu proyek klien masih nyaman saya awasi. Kalau ditambah domain yang tidak berkaitan, misalnya akreditasi kampus, saya mulai kewalahan

Agent bekerja tanpa banyak bertanya

  • .claude/settings.local.json Balaka berisi 388 aturan allow: perintah yang boleh dijalankan agent tanpa meminta izin
  • Test suite lengkap Balaka berisi 3.224 test dan butuh sekitar dua jam di GitHub Actions, atau 60–90 menit di mesin lokal lewat script wrapper. Karena itu agent hanya menjalankan test yang terkait sebelum commit, dan saya mengerjakan tugas lain selama test lengkap berjalan
  • Setiap push ke GitHub menjalankan enam job CI: seluruh test termasuk Playwright, deteksi secret, SpotBugs, CodeQL, Semgrep, dan pemeriksaan dependency

Pola worktree dibahas di artikel "Workflow Git Worktree untuk Multitasking dengan AI" di blog ini.

Kage Bunshin no Jutsu ala Developer

Naruto dengan banyak kage bunshin yang berlatih bersamaan

Fukasaku: maksimal 5 bunshin. 3 bertarung, 2 mengumpulkan energi alam.

Saya: maksimal 2–3 domain bisnis.

Koordinasi Antartim lewat Surat Antar-Agent

Developer aplikasi SPMB dan SIAKAD di pihak klien juga bekerja dengan Claude. Integrasi aplikasi mereka dengan payment-gateway dan account-receivable dibahas lewat surat yang ditulis agent di kedua sisi.

Alurnya

  • Surat dari pihak lain berupa berkas terstruktur, 150–400 baris. Saya menaruhnya di folder, lalu memberi agent perintah satu baris, misalnya "SPMB sudah membalas, cek folder Downloads"
  • Agent membaca surat, memeriksa kode dan kontrak, lalu menulis balasan dalam format yang sama: contoh JSON, tabel butir yang belum selesai, dan batasan permintaan
  • Saya meneruskan balasan tersebut. Dari membaca surat hingga draf balasan selesai butuh 10–20 menit
  • Keputusan dari surat langsung diimplementasikan di kode dan dicatat di memory proyek

26 Agustus – 29 September 2026

  • 5 surat masuk dan 8 surat balasan
  • Topik: kontrak integrasi v2 (pemetaan field dan kode error), skema cicilan pendaftaran, perubahan tagihan, serta pencatatan beasiswa dan potongan
  • Satu sesi di folder payment-gateway menangani tiga repo sekaligus: payment-gateway, account-receivable, dan repo deployment klien

Hambatan terbesar justru ada di sisi manusia: balasan tertanggal 15 September tidak pernah terkirim, sehingga isinya digabungkan ke surat berikutnya.

Batas Produktivitas Ada pada Perpindahan Konteks

Developer di depan laptop dikelilingi beberapa sesi agent untuk domain berbeda, semua benang konteksnya bertemu di kepalanya

Hasilnya dalam Function Point

Function point (FP) mengukur fungsionalitas yang dilihat pengguna: data yang disimpan, serta input, output, dan query yang diproses aplikasi. Ukuran ini tidak bergantung pada bahasa pemrograman.

RepoStackFPHari aktifFP per bulan aktif
BalakaJava 25, Spring Boot 4, PostgreSQL, Thymeleaf dengan htmx dan Alpine.js1.297110248
payment-gatewayJava 25, Spring Boot 4, PostgreSQL, Thymeleaf, Flyway14821148
Gabungan1.445128237

Hari aktif dihitung dari hari dengan minimal satu commit, hingga 18 September 2026.

Cara Menghitung dan Batasannya

Rasio backfiring untuk template Thymeleaf belum pernah dikalibrasi tersendiri, sehingga angka ini merupakan perkiraan. Pembanding: Capers Jones, "Software Economics and Function Point Metrics", IFPUG 2017, Tabel 6 dan 16.

Agent Bekerja di Bawah Pengawasan Manusia


github.com/artivisi/balaka · github.com/artivisi/payment-gateway