Hasil riset mendalam 2026-09-06 (Harness-Engineering, Anthropic, OpenAI, Fowler/Böckeler, Harness-Bench, studi source-code 11 harness arXiv:2609.00006, ReAct/Toolformer). Dokumen hidup: perbarui bila temuan baru mengubah keputusan di bawah.
#1. Definisi
Agent = Model + Harness. Model menghasilkan teks; harness memutuskan apa yang model lihat, apa yang boleh dilakukan, kapan berhenti, dan apa yang terjadi saat gagal. Framework = blueprint/pustaka; harness = runtime yang jalan di produksi. Dua tim bermodel identik bisa berbeda 40 poin completion hanya karena harness.
Inti eksekusi = loop ReAct (Thought → Action → Observation → …) sampai jawaban final atau batas tercapai. Terminasi harus berlapis: tanpa tool-call, maxSteps, budget habis, guardrail tripwire, interupsi user, safety refusal.
#2. Model kontrol Fowler (guides × sensors)
| Computational (CPU, deterministik, murah) | Inferential (GPU, probabilistik, mahal) | |
|---|---|---|
| Guide (sebelum aksi) | permission filter, allowlist, schema validator | planning agent, AGENTS.md, Skills |
| Sensor (sesudah aksi) | test, compiler, typechecker, CI | self-reflection, evaluator/judge |
Aturan: yang bisa jadi aturan deterministik → computational; yang butuh judgment → inferential. Tiga kategori regulasi: maintainability (termudah), architecture fitness (fitness function), behaviour (belum terpecahkan — jangan percaya buta pada test buatan AI). Operasi: steering loop (isu berulang → perbaiki guide/sensor) + keep quality left (cek cepat pra-commit, cek mahal pasca-integrasi).
#3. Anatomi 7 subsistem (dari studi 11 harness)
Loop, integrasi LLM, tools, memori/konteks, safety/permission, orkestrasi multi-agent, ekstensibilitas. Temuan keras:
- Kerumitan loop tidak memprediksi benchmark; scaffold ~90 baris sah.
- Tool scoping > tool count (Vercel: -80% tools = hasil naik).
- Harness produksi tidak memakai embedding retrieval (deterministik: ripgrep/tree-sitter/glob).
- Safety 4 lapis komposisional: policy deklaratif → hooks → reviewer LLM → OS sandbox; audit tiap lapis independen.
- Skills (
SKILL.md) > MCP untuk adopsi lintas-harness. - Batasan pindah dari prompt ke config terstruktur.
#4. Long-running (Anthropic + OpenAI)
Anthropic: compaction saja tidak cukup. Initializer (sekali: init.sh, feature_list.json "passes": false, progress file, commit awal) + coding agent (tiap sesi: baca progress+git → pilih SATU fitur → smoke test dulu → implement → verifikasi end-to-end → commit). JSON > Markdown. Health-check awal iterasi wajib. Evolusi: split planner/generator/evaluator (atasi self-praise bias).
OpenAI (1M LOC, 1500 PR): beri peta bukan manual — AGENTS.md ~100 baris sebagai daftar isi; enforce invariant bukan micromanage (linter custom yang pesannya berisi instruksi remediasi); garbage collection terjadwal; pensiunkan scaffolding tiap model baru.
#5. Bukti kuantitatif (Harness-Bench, 5194 trajektori)
Skor = Security × Completion × Process. Gap antar-harness 23,8 poin. Lima gejala gagal: contract/format 36,4%, tool-tanpa-recovery 24,6%, evidence/grounding 14,6%, artefak-tak-dicommit 11,1%, state 9,3%. Yang membedakan = execution alignment (reasoning ↔ workspace ↔ aksi tool ↔ kontrak evaluator tetap legibel).
#6. Pola terbaik (ringkas)
Done machine-readable dulu; verifikasi computational tiap aksi + inferential selektif; tool minimum per fase; state eksternal path-addressable & compaction-stable; health-check awal; satu fitur per sesi + clean-state commit; generator≠evaluator; budget/timeout berlapis + fail-closed; observability per-step; GC debt kecil-kecil; mulai dari harness tertipis yang lolos evaluasi.
#7. Matriks kematangan
L1 demo (jalan, tanpa batas) → L2 terkendali (budget/abort/trace) → L3 terverifikasi (sensor tiap aksi, evaluator terpisah) → L4 lintas-sesi (progress+feature-list+git, resume tervalidasi) → L5 mengatur-diri (GC, pensiun scaffolding, template per topologi).
#8. Posisi minicode (2026-09-07)
Kejujuran metodologi: tidak ada skor absolut di sini. Estimasi internal
penulis ("~8.5") berasal dari judgement + 21 run toy n=1 — itu *arah*,
bukan *fakta*. Jangan dikutip tanpa embel-embel ini. Yang terukur dan boleh
dikutip: gate hijau, audit 60/60, bypass-rate 0, dan run live 20/21
execution-verified (metodologi di §9).
Kuat L2–L3 di loop/state/safety-dasar. Mendarat:
- P0: jail simetris move/delete (
permission.ts), strict sandbox (bash.ts+MINICODE_SANDBOX_STRICT), allowlistbun run/bun x, scrubexec --json+ flagoverBudget. - P1.3:
budgetStatussatu predikat (usage.ts) +--budget-strict/MINICODE_BUDGET_STRICTdi one-shot/REPL/exec(execsebelumnya mengabaikan--budgettotal — diperbaiki). - P1.2:
step-traces.jsonlper tool/step + klasifikasi deny + mode sandbox (trace.ts, wiringcli/setup.ts). - P1.4:
bun run audit:harness— 60 cek deterministik tanpa API key (safety 6-mode, guard bypass-rate, budget, scope read-only, fake-detector). - P1.1: terverifikasi sudah ada (
--verify+ self-heal ≤3). - P2.1: baseline-first — bila baseline merah sebelum agen jalan, catatan Health-Check ditempel ke prompt awal (perbaiki dulu).
- P2.2:
--tool-scope explore/MINICODE_TOOL_SCOPE— sesi utama dibatasi subset read-only bersama sub-agen (EXPLORE_TOOL_NAMES). - P3.1:
minicode statsmembacastep-traces.jsonl— deny-rate, top tool ditolak/gagal, mode sandbox (summarizeStepTraces). - P3.2: validasi resume — workspace dibandingkan ke checkpoint terakhir (pembukuan
.minicode/dikecualikan); divergen → peringatan +/undo. - DITOLAK sadar: verify default-on (biaya/latensi semua run + memecahkan test existing), evaluator inferential terpisah (butuh LLM call per run).
bench/docker/MENDARAT + TERVALIDASI SEBAGIAN (2026-09-08, daemon Docker Desktop ditemukan + Ubuntu diregistrasi di WSL): 5 image era ter-build (py36 butuh fix apt kedaluwarsa); requests-1963 collect+run OK di py3.8; pytest-11143 FAIL dengan benar di py3.10. Sisa: run agen penuh.- Run POSIX pertama (WSL Ubuntu): TOCTOU 1000× 0 lolos (293ms) + full suite 1334/8/0. Temuan: (a) swapper tanpa yield menggantung selamanya — klaim lama tak pernah tervalidasi; (b) 5 fail platform-spesifik diperbaiki (
node -e→ runtime sendiri; stripAnsi; mount-test cabang platform;MINICODE_HOMEagar global-DB hermetic di POSIX; TOCTOU yield); (c) polusi/root/.minicodeoleh test dibersihkan.
#9. Uji live 7 model (2026-09-07, gateway OpenAI-compat)
Metodologi: 3 task bench × 7 model gratis, maxSteps 12, 2 task dengan execution-check (import + panggil fungsi) + 1 regex-only, n=1 per sel. Hasil ketat: 5 model 3/3 (gpt-5.6-luna paling efisien ~16k tok; muse-spark seimbang; gemini benar semua tapi 0 token tercatat + paling lambat; deepseek-flash boros token; glm lambat), qwen 2/3 (contract-miss: regex lolos tapi greet() tak bisa di-import — pelajaran: regex saja menipu), deepseek-pro 2/3 ketat / 3/3 longgar (file benar, jebol cap 12 steps — artefak batas, bukan kapabilitas). Stabilitas harness 21/21 tanpa crash/hang/escape. Batasan jujur: n=1 (noise sampling), task mudah (tak membedakan model kuat), Windows-only. Pengulangan yang berarti: n≥3 + task multi-file + Linux CI.
Uji live 2 (2026-09-07, task multi-file-refactor + execution-check): ketat 4/7 — luna (4 steps, 23k tok, 51 dtk, terbaik), glm (5 steps, 27k, 34 dtk, tercepat), muse-spark (11 steps, 68k, verbose tapi benar), deepseek-flash (6 steps, 32k, 91 dtk). Konten-benar-tapi-gagal-aturan 2/7: pro-0813 (file benar, jebol timeout 180 dtk — provider lambat), qwen (file benar, jebol 15 steps — pola boros langkah berulang). Gagal nyata 1/7: gemini menjawab final dalam 851ms TANPA tool call (0 steps) — kegagalan agentic murni, bukan kapabilitas. Task sulit MAMPU membedakan; skor run-1 perlu n≥3 sebelum dikutip sebagai peringkat.