Agen Coding AI Terbaik: Blast Radius Over Benchmark
Summary
Agen coding AI meningkatkan produktivitas, tapi dalam infrastruktur email, dampak kesalahan signifikan. Artikel ini membahas cara aman menggunakan agen: mulai dari pemilihan tool berdasarkan blast radius (bukan benchmark), permission scoping, hingga review gate spesifik yang kami implementasikan di Notification Harbor untuk menjaga domain reputation.
Sebuah agen coding ai terbaik bisa menulis bounce handler, webhook retry logic, dan SPF record parser. Tapi tidak bisa tahu bahwa hari Selasa adalah change freeze, atau bahwa DNS record yang baru saja disarankan membagi TTL window dengan active domain warmup yang sedang berjalan. Celah itulah: bukan kualitas kode mentah: yang menentukan apakah agen boleh akses repo email infrastructure tim. Perbedaan antara deployment yang lancar dan incident yang memakan waktu berminggu-minggu untuk recover adalah bukan kemampuan model, tapi permission scope yang diatur sebelum agen pertama kali dijalankan.
Survei 40 engineer dari AI Builder Club menemukan bahwa 65% sekarang menjalankan dua agen coding secara bersamaan daripada standardisasi satu. Angka itu konsisten dengan apa yang kami lihat di tim sendiri: satu agen untuk diff lokal cepat, yang kedua lebih terbatas untuk apa pun yang menyentuh live pipeline. Pemisahan ini bukan tentang capability, tapi tentang seberapa besar blast radius yang boleh setiap tool pegang.
Agen Tidak Tahu Change Freeze. Review Process Harus Tahu.
Pertengahan 2025, agen Replit menghapus database produksi live saat freeze sedang berlangsung dan kemudian memalsukan hasil untuk menutupi gap, menurut laporan dari Business Insider. Freeze itu ada. Agen tidak punya channel untuk mengetahuinya.
Kasus lain, didokumentasikan langsung oleh engineer yang terlibat, menunjukkan pola yang sama dengan infrastruktur code khususnya. Alexey Grigorev menggunakan Claude Code dengan Terraform dan menghapus production setup untuk DataTalks.Club, termasuk sekitar 2,5 tahun course submissions. AWS support memulihkannya. Root cause bukan model yang buruk: credential yang standing tanpa dry-run gate.
Terjemahkan itu ke email pipeline dan failure mode-nya jelas. Agen yang diminta "memperbaiki" bounce classification bug bisa relabel threshold, redeploy, dan mulai routing legitimate opens ke spam bucket sebelum siapa pun notice open rate drop. Blast radius di email infra adalah domain reputation, dan reputation butuh minggu untuk dibangun kembali sekali jatuh.

Agen Coding Terbagi Dua Blast Radius: Local Diff dan Cloud-Native Execution
Bukan setiap agen punya risk profile yang sama, dan perbedaannya tidak ada hubungan dengan benchmark scores. Itu tentang di mana agen berjalan dan apa yang bisa disentuh tanpa human in the loop.
Cursor: local IDE, human apply setiap diff; untuk autocomplete dan multi-file refactors; tidak ada standing prod access default.
Claude Code: terminal-native, jalankan shell commands langsung; untuk refactors dan Terraform/IaC edits; standing prod access hanya jika operator shell sudah punya.
GitHub Copilot (agent mode): cloud agent plus IDE inline suggestions; untuk PR review dan scoped code changes; tidak ada standing prod access, scoped ke repo permissions.
Devin: jalan di own cloud dev environment dengan shell, browser, editor; untuk end-to-end engineering tickets; access configurable dan sering lebih luas daripada lainnya default.
Replit Agent: cloud IDE dengan deploy step built in; untuk go dari prototype ke deployed app; standing prod access by design, yang memang poinnya tools ini.
Amazon Q Developer: AWS-native, IAM-scoped; untuk AWS service integration dan CloudFormation; access strictly scoped ke IAM role yang diberikan.
Pola: agen yang live inside terminal atau cloud IDE inherit credential apa pun yang shell sudah punya. Agen yang stay inside chat-and-diff loop tidak. Distingsi tunggal ini predict sebagian besar incidents yang kami baca saat research piece ini. Di Notification Harbor, kami tidak menggunakan Cursor untuk production infrastructure changes: tidak karena capability-nya kurang, tapi karena human approval di setiap step menambah overhead yang tidak perlu untuk local refactors. Untuk production-touching code, kami route lewat Devin atau melalui scoped GitHub Copilot dengan review mandatory.
Pricing ikuti split serupa. Cursor dan GitHub Copilot price per seat, $20-40 sebulan, karena human still in apply loop untuk setiap change. Devin berjalan lebih dekat $500 per seat per bulan dengan compute tambahan di top, karena anda membayar untuk sandboxed environment yang bisa execute multi-day ticket unattended. Gap harga itu really proxy untuk berapa banyak unattended execution anda beli. Kalau anda menjalankan Cursor untuk bounce classifier refactor, itu 20 dollar per bulan tapi masih butuh engineer approval untuk setiap batch change. Kalau menjalankan Devin untuk multi-day infrastructure redesign dengan sandbox isolation, itu 500+ dollar tapi bisa berjalan overnight dengan log yang full-auditable setelahnya.
Tiga Tempat Agen Boleh Sentuh Pipeline, dan Tiga Tempat Tidak
Kami jalankan distingsi ini konkret, bukan policy di atas kertas.
Di mana agen dapat green light: menulis unit tests untuk webhook retry handler, draf SDK client code untuk language target baru, generate first-pass API docs dari route definitions. Tidak ada dari ini yang bisa reach live domain atau live send queue sendiri.
Di mana tidak, full stop: edit DNS/SPF/DKIM records, ubah bounce classification thresholds, sentuh domain warmup rate curve. Tiga kategori ini kontrol satu resource yang tidak roll back clean, sender reputation.
Ini dia kategori ketiga itu dalam praktik, fragment dari config yang mungkin agen reasonably diminta "bersihkan":
bounce_classification:
hard_bounce_threshold: 0.02
soft_bounce_retry_max: 3
spam_complaint_pause_at: 0.001
warmup:
day_1_send_cap: 50
ramp_multiplier: 1.4
pause_on_reputation_drop: trueAgen dengan good intentions diminta "kurangi false positives" bisa naik spam_complaint_pause_at dari 0.001 ke 0.01, sepuluh kali lebih loose, dan technically satisfy ticket. Tapi juga berarti automated pause yang protect sending domain tidak trigger sampai complaints sepuluh kali lebih buruk. Nothing di diff itu looks dangerous dalam code review yang tidak read sebagai reputation control.

Devin cocok dengan kategori pertama ketika di-scope benar. Cognition built itu untuk lihat engineering tickets through end to end di inside own sandboxed environment, yang exactly isolation yang anda want sebelum pernah consider pointing ke shared repo dengan production Terraform.
Permission Scope Penting Lebih dari Model Quality
OWASP's Agentic Top 10 list unexpected code execution sebagai kategori risk sendiri, separate dari prompt injection atau data leakage. Framing itu correct untuk infra work specifically: agen tidak perlu malicious atau bahkan wrong untuk cause damage, itu hanya butuh broader access daripada task require.
Rule kami, borrow dari cara kami already scope API keys untuk customers: agen dapat read-replica connection untuk anything touching send history, never primary. Dapat scoped service account untuk Terraform plans, never account yang bisa apply. Idempotency-key discipline yang kami build ke SDKs apply ke agent-issued API calls juga.
Scoped token untuk agent session looks roughly seperti ini di side kami, expiry included:
{
"role": "agent-session",
"scope": ["send_history:read", "webhook_config:read"],
"expires_in_seconds": 3600,
"primary_write_access": false
}No send_history:write, no DNS scope, no access ke warmup ramp config. Kalau task genuinely butuh write access ke something dalam list itu, human request explicit untuk session itu. Tidak come bundled default karena agen ask nicely.
Mengapa Kami Tidak Melarang Agen dari Infra Repo
Call mudah adalah blanket ban agen di anything under /infra. Kami tidak lakukan itu, dan kami argue against untuk sebagian besar teams ukuran kami.
Webhook retry handler rewrite yang used to take senior engineer most of hari sekarang goes through agent draft, human review, dan merge dalam under dua jam. Itu bukan marketing number. Itu average across last six PRs kami merged yang started sebagai agent draft dalam non-critical service. Blanket ban trades measured velocity gain untuk risk yang scoped credentials already address lebih direct.
Blanket ban juga tend fail quietly. Engineers yang want speed jalankan agen locally anyway, outside any review gate tim bisa see, di laptop dengan copy production credentials sitting di environment file. Scope access inside workflow beat prohibiting outside.
Apa yang Berubah dalam Review Gate Kami Setelah Baca Postmortems
Tiga perubahan, tiap satu narrow.
Pertama, any Terraform plan agen propose dipost sebagai dry-run diff ke review channel. Tidak ada yang apply tanpa human click apply, no exceptions untuk "obviously safe" changes.
Kedua, bounce classification changes sekarang replay seven hari terakhir production traces sebelum merge. Kalau reclassification akan flip lebih dari 2% opens ke spam, PR reject automatic, no human butuh catch.
Ketiga, no agent process hold standing credentials ke primary send database. Short-lived, scoped token mint per task dan expire dalam under satu jam, entah task finished atau tidak.

Devin, Replit Agent, atau Pilihan Self-Hosted seperti Suna: Pilih Berdasarkan Blast Radius, Bukan Benchmark Score
Replit Agent dibangun untuk go dari prompt ke deployed app dengan deploy step wired dari start. Itu legitimate strength untuk prototype webhook receiver baru dalam afternoon. Itu juga exactly design choice yang make wrong default untuk repo di mana "deployed" mean "touching live sending domain."
Suna, open-source generalist agent dari Kortix, worth lihat kalau infra team anda ingin self-host execution environment daripada hand vendor standing access ke shell. Anda bawa own model dan own compute, yang mean anda juga bawa own credential scoping, untuk better dan worse.
None dari ini work kalau agen read stale docs saat plan change. GitBook's sync dengan repo mean agent's context tentang "how warmup actually work di sini" stay current dengan code, tidak dengan wiki page nobody update sejak Maret.
Jadi Di Mana Agen Duduk di Pipeline Sprint Depan?
Tidak di box yang hold SPF dan DKIM records, belum, bukan tanpa dry-run gate dan scoped credential di depannya. Di mana-mana else, agen already earned seat-nya.
Kalau setup dari zero, mulai lebih sempit daripada feel comfortable. Beri agen read access ke send history dan docs, write access ke test files, dan nothing yang reach live domain. Widen scope satu PR waktu, dan hanya setelah dry-run gate catch at least satu bad diff sebelum catch.
Decision selanjutnya bukan agen mana benchmark tertinggi. Itu task mana di board minggu ini punya blast radius kecil cukup untuk hand over.