Loop Engineering: Kenapa Lo Harus Desain Sistem, Bukan Prompting Manual
Lo pakai AI coding agent? Claude Code, Codex, Cursor, Grok, Opencode? Kalau iya, pasti pernah ngerasain ini: lo prompting satu-satu, agent kerja, hasilnya nggak sesuai, lo prompting lagi, bolak-balik kayak orang gila.
Masalahnya bukan agent-nya jelek. Masalahnya lo masih jadi prompter manual.
Ada framework namanya Loop Engineering, dibuat sama Cobus Greyling (creator OpenClaw). Konsepnya simpel tapi powerful: stop prompting. design the loop. Lo desain sistem yang discover work, assign, verify, dan persist state. Bukan lo yang ketik prompt satu-satu setiap kali.
Repo-nya: github.com/cobusgreyling/loop-engineering — 5.5k+ stars, MIT license, isinya lengkap banget.
Kenapa Prompting Manual Itu Masalah?
Bayangkan lo punya project besar. Tiap mau nge-fix bug atau nambah fitur, lo harus:
- Buka agent
- Kasih prompt deskriptif
- Tunggu agent kerja
- Cek hasilnya
- Kalau salah, prompt lagi
- Ulangi sampe bener
Ini namanya manual prompting. Lo sendiri yang jadi "scheduler" agent. Kalau lo tidur, agent juga tidur. Kalau lo sibuk, nggak ada yang jalan.
Loop Engineering ganti pola pikir ini. Lo bukan prompter lagi. Lo jadi systems designer yang bikin loop — sistem yang jalan otomatis, discover work sendiri, verify sendiri, dan cuma minta input lo di critical moments.
5 Primitives + Memory: Building Block-nya
Loop Engineering punya 6 building block. Lo nggak harus pakai semua sekaligus — mulai dari yang paling simpel, tambah yang lain kalau udah proven.
1. Automations / Scheduling
Ini heartbeat-nya loop. Tanpa scheduling, lo cuma punya one-off agent run — sama aja kayak prompting manual.
Contoh realisasi:
/loop 1ddi Grok- GitHub Actions + repository dispatch
- OpenClaw cron jobs
- Opencode via cron/systemd
- Hermes cron dengan
hermes cron create
Yang penting: loop harus punya cadence (interval), bisa survive restart, dan punya early exit kalau nggak ada yang perlu dikerjakan.
2. Worktrees
Kalau dua agent edit file yang sama secara paralel, hasilnya merge hell. Git worktrees kasih tiap agent working directory sendiri yang share history tapi nggak share working tree.
Ini critical buat unattended loops — agent bisa kerja di worktree terpisah tanpa ganggu agent lain.
3. Skills
Skill itu intent memory. Lo tulis satu kali, agent baca tiap run. Isinya:
- Konvensi project
- "Kenapa nggak boleh pakai cara X karena insiden Y"
- Build/test/lint commands
- Review standards
- Domain knowledge
Tanpa skills, loop harus re-derive semua dari awal tiap run. Ini yang disebut intent debt — agent tebak intent lo karena lo nggak pernah nulis rules-nya.
4. Plugins & Connectors (MCP)
Loop yang cuma bisa baca filesystem itu terbatas. Connectors bikin loop bisa:
- Baca/update Linear atau Jira tickets
- Post ke Slack atau Discord
- Query database atau internal API
- Create branches dan PR di GitHub
- Trigger deploys
MCP (Model Context Protocol) jadi substrate umum — connector yang ditulis untuk satu tool sering kali bisa dipakai di tool lain.
5. Sub-agents (Maker / Checker Split)
Ini pattern paling penting buat reliable loops.
Agent yang nulis kode adalah penilaian yang buruk untuk hasil kerjanya sendiri. Agent kedua (biasanya model lebih kuat, selalu dengan instruksi berbeda) melakukan verifikasi.
Common splits:
- Explorer → Implementer → Verifier
- Implementer → Security reviewer
- Implementer → Test writer + runner
Di unattended loops, verifier inilah yang bikin lo bisa walk away dengan confidence.
+ Memory / State
Model nggak punya long-term memory antar turn atau session. Loop harus baca dan tulis ke sesuatu yang durable — STATE.md, database row, atau Linear board.
State file yang baik menjawab:
- Lo lagi kerja apa?
- Terakhir coba apa dan hasilnya apa?
- Yang mana yang nunggu input manusia?
7 Patterns yang Bisa Lo Langsung Pakai
Loop Engineering udah menyediakan 7 production patterns. Tiap pattern punya scheduling, skills, state shape, dan verification approach yang udah ditentukan.
1. Daily Triage
Masalah: Tiap pagi lo bingung mau kerja apa. Issue banyak, CI kadang red, PR ada yang stuck.
Solusi: Loop triage recent changes, CI failures, open issues → produce prioritized list di STATE.md.
Cadence: 1d atau 2h
Risk: Low — report-only di L1
2. CI Sweeper
Masalah: CI red di main atau PR, nggak ada yang nge-fix.
Solusi: Loop detect CI failures → classify (flake vs real) → draft minimal fix di worktree.
Cadence: 5-15 menit
Risk: Medium
3. PR Babysitter
Masalah: PR nunggu review, CI, atau rebase berhari-hari.
Solusi: Loop monitor open PRs → nudge reviewers → fix trivial issues (merge conflicts, lint).
Cadence: 5-15 menit
Risk: Medium
4. Dependency Sweeper
Masalah: Dependabot PR berhamburan, CVE alerts nggak ditangani.
Solusi: Loop categorize dependency updates → auto-merge patch-level → escalate major bumps.
Cadence: 6h-1d
Risk: Medium
5. Post-Merge Cleanup
Masalah: Setelah merge, ada TODOs, debug logs, unused imports yang nggak kebersih.
Solusi: Loop scan recent merges → draft cleanup PRs untuk minor issues.
Cadence: 1d-6h
Risk: Low
6. Changelog Drafter
Masalah: Release notes ketinggalan, changelog nggak pernah diupdate.
Solusi: Loop scan merged PRs → draft changelog entries.
Cadence: 1d
Risk: Low
7. Issue Triage
Masalah: GitHub issues nggak ke-triage, duplikat dimana-mana.
Solusi: Loop scan new issues → label, assign, close dupes.
Cadence: 2h-1d
Risk: Low
Masing-masing pattern udah documented lengkap di repo-nya, termasuk tool-specific notes buat Grok, Claude Code, Codex, OpenClaw, Opencode, Cursor, Windsurf, dan Hermes.
Readiness Levels: Jangan Skip ke L3
Ini aturan paling penting di Loop Engineering: jangan langsung ke unattended mode.
- L0 (Draft) — Lo udah document intent. Belum ada scheduling.
- L1 (Report) — Loop jalan, triage ke state, tapi nggak auto-fix. Ini week one.
- L2 (Assisted) — Loop bisa auto-fix kecil-kecil, tapi masih pakai verifier dan worktree isolation.
- L3 (Unattended) — Loop jalan tanpa lo monitoring. Butuh budget, metrics, human gates, denylist.
Upgrade path-nya:
Report-only (L1) → 1-2 weeks stable → Small auto-wins (L2) → Connectors (L2+) → Unattended (L3)
Skip level ini dan lo bakal ngerasain kenapa — loop yang terlalu agresif tanpa verifikasi itu recipe untuk disaster.
Tools yang Bisa Lo Install Sekarang
Loop Engineering punya 5 npm tools yang siap pakai:
loop-init
Scaffold loop ke repo lo. Tinggal run:
npx @cobusgreyling/loop-init . --pattern daily-triage --tool grok
Ini bakal bikin skills, STATE.md, LOOP.md, loop-budget.md, dan loop-run-log.md. Plus kasih lo Loop Ready score.
loop-audit
Score 0-100 kesiapan loop lo. Include saran perbaikan:
npx @cobusgreyling/loop-audit . --suggest
loop-cost
Estimasi token spend sebelum lo schedule loop. Penting banget — CI Sweeper tiap 5 menit bisa burn token gila-gilaan:
npx @cobusgreyling/loop-cost --pattern daily-triage --level L1 --cadence 1d
loop-sync
Detect drift antara STATE.md dan LOOP.md. State rot itu real — loop referensi PR yang udah merged, ticket yang udah closed.
loop-context
Stateful memory manager + circuit breaker buat long runs. Prevent infinite fix loops.
Failure Modes: Kenapa Loop Bisa Rusak
Loop Engineering dokumentasiin 10+ failure modes yang udah terjadi di production. Ini yang paling penting buat dipahami sebelum lo enable unattended loops:
Infinite Fix Loop
Agent fix yang salah, verifier nggak detect, agent fix lagi, bolak-balik sampe token habis. Fix-nya: hard cap attempts (misal 3x), terus escalate ke manusia.
State Rot
STATE.md referensi PR yang udah merged atau ticket yang udah closed. Loop act on ghost items. Fix-nya: prune setiap run, validate IDs against live API.
Verifier Theater
Verifier "approve" tapi tests fail di CI. Kenapa? Verifier prompt terlalu vague, nggak run tests, atau sama session sama implementer. Fix-nya: verifier harus run tests, pakai model lebih kuat, instruksi "find reasons to reject."
Token Burn
Bill spike karena loop spawn sub-agents full chain tiap run, padahal nggak ada yang actionable. Fix-nya: triage pass dulu yang murah, spawn sub-agents hanya kalau ada item actionable.
Over-Reach
Loop refactor module yang nggakRelated, "fix" design issues, atau edit denylisted paths. Fix-nya: minimal-fix skill + path denylist + verifier checks touched files.
Cognitive Surrender
"Loop handles it" — lo berhenti punya opini soal correctness atau design. Ini yang paling berbahaya karena kelihatan efisien tapi sebenernya accumulate comprehension debt.
Full failure modes catalog ada di docs/failure-modes.md.
Safety Guardrails
Lo nggak boleh enable unattended loops tanpa guardrails ini:
Path Denylist — Loop nggak boleh auto-edit:
.envdan.env.***/secrets/**,**/credentials/****/*_key*,**/*_secret*.terraform/**,k8s/production/****/migrations/**auth/**,payments/**,billing/**
Human Gates — Selalu butuh manusia untuk:
- Security, authentication, authorization
- Payments, billing, PII handling
- Infrastructure / Terraform / K8s production
- Dependency upgrades (supply chain risk)
- Changes yang touch lebih dari 10 files
- Attempt ke-3 gagal di item yang sama
Auto-Merge Policy — Default: NO auto-merge. Kalau diizinkan, hanya untuk typo di comment/docs, lint auto-fix di test files, dan import ordering. Nggak boleh untuk behavior changes atau dependency bumps.
Loop Engineering vs Hermes Agent
Buat yang belum tahu, Hermes Agent (yang lo pakai sekarang) sebenernya udah implement banyak konsep Loop Engineering secara native:
- Scheduling —
hermes cron createdengan context chaining viacontext_from - Skills — SKILL.md under
~/.hermes/skills/ - Sub-agents —
delegate_taskdengan maker/checker split - State — Persistent memory + STATE.md di workdir
- Connectors — Telegram, Discord, Slack, WhatsApp via built-in home channels
Jadi kalau lo pakai Hermes, lo udah setengah jalan. Tinggal design the loop-nya.
Cara Mulai (5 Menit)
Practical steps buat mulai:
Step 1: Pick your pain. CI sering red? PR nunggu lama? Morning chaos? Pilih satu masalah.
Step 2: Scaffold.
npx @cobusgreyling/loop-init . --pattern daily-triage --tool grok
# atau --tool claude, codex, opencode
Step 3: Cek cost.
npx @cobusgreyling/loop-cost --pattern daily-triage --level L1 --cadence 1d
Step 4: Audit.
npx @cobusgreyling/loop-audit . --suggest
Step 5: Run week one report-only. Jangan auto-fix dulu. Baca apa yang loop tulis di STATE.md. Pahami dulu sebelum kasih kepercayaan lebih.
Week one rule: report only. No auto-fix, no auto-merge. Read what the loop writes before you let it act.
Kesimpulan
Loop Engineering itu bukan tentang bikin AI yang lebih pintar. Ini tentang desain sistem yang bikin AI lo work secara repeatable, verifiable, dan aman.
Konsepnya simpel: lo yang desain loop-nya, bukan prompting manual. Mulai dari L1 (report only), prove it works, baru upgrade ke L2 dan L3.
Yang paling valuable dari framework ini bukan tools-nya (walaupun bagus). Yang paling valuable adalah mental model-nya: maker/checker split, path denylists, attempt caps, early exit, state pruning, dan cognitive surrender awareness.
Mulai dari satu pattern. Jangan langsung scaffold semua. Baca output-nya. Punya opini. Kalau lo berhenti punya opini tentang apa yang loop kerjakan, lo udah di territory cognitive surrender.
Repo lengkap: github.com/cobusgreyling/loop-engineering
Quickstart: docs/QUICKSTART.md
Pattern picker: cobusgreyling.github.io/loop-engineering