Cheat sheet

Cheat sheet harness agen: komponen, file, masalah, dan daftar periksa peluncuran

Diperbarui: · Skillaria.Top

Harness agen terdiri dari lima subsistem: instruksi, alat, lingkungan, status, dan umpan balik. Kumpulan file minimal adalah AGENTS.md sebagai router singkat, skrip pemeriksaan (make check, verify.sh), file progres, dan daftar fitur dengan status; status selesai ditetapkan oleh skrip, bukan oleh agen.

Lima subsistem harness

SubsistemApa ituArtefakGejala kerusakan
InstruksiApa yang harus diketahui agen tentang proyekAGENTS.md / CLAUDE.md, skills, docs/, ADRMelanggar konvensi yang sudah diketahui
AlatApa yang bisa dilakukan agenshell, tes, linter, browser, server MCP«Ingin tetapi tidak bisa»
LingkunganDi mana agen bekerjafile lock, Docker/devcontainer, git worktree, sandbox, init.shSesi dimulai dengan memperbaiki lingkungan
StatusApa yang bertahan setelah dimulai ulangPROGRESS.md, DECISIONS.md, feature_list.json, commitSesi baru tidak tahu di mana pekerjaan berhenti
Umpan balikBagaimana agen mengetahui kesalahannyamake check, E2E, hook, arch-check, penilai«Selesai», tetapi tidak berfungsi

Urutan penerapan dari nol: umpan balik → instruksi → status → lingkungan → alat.

File harness

FileFungsiAturan
AGENTS.md / CLAUDE.mdPintu masuk: apa proyeknya, cara menjalankannya, cara memeriksanyaRouter singkat (sekitar 80 baris), tautan ke dokumen dengan kondisi «kapan dibaca»
docs/*.mdRincian per topikDibaca sesuai kebutuhan, tidak seluruhnya
.claude/skills/*/SKILL.mdProsedur yang berulang (deploy, review)Dimuat ketika tugas cocok dengan deskripsinya
PROGRESS.mdStatus, yang sudah selesai, hambatan, langkah berikutnyaDiperbarui di akhir setiap sesi
DECISIONS.mdKeputusan, alasan, opsi yang ditolakCatat jalurnya, bukan hanya kesimpulannya
feature_list.jsonFitur: behavior, verification, stateTepat satu fitur active (WIP=1)
scripts/verify.shMemeriksa fitur dan memindahkannya ke passingSatu-satunya yang menetapkan passing, dengan SHA commit
scripts/arch-check.shBatas arsitekturKode keluar 1 + WHY dan FIX dalam keluaran
scripts/init.shPemeriksaan lingkungan sebelum bekerjaLingkungan, git bersih, make check hijau, fitur aktif
sprint contractKontrak per fitur sebelum kodeDalam lingkup / di luar lingkup / pertanyaan terbuka
.claude/settings.jsonIzin dan hook Claude CodePemeriksaan pada peristiwa, bukan dalam ingatan agen

Kerangka AGENTS.md

# Proyek: backend pembayaran (FastAPI, PostgreSQL)

## Menjalankan
docker compose up -d && ./scripts/init.sh

## Pemeriksaan
make check   # lint, tipe, unit, arch-check
make e2e     # skenario end-to-end

## Definition of Done
- make check dan make e2e — kode 0
- fitur dipindahkan ke passing oleh skrip scripts/verify.sh
- PROGRESS.md diperbarui

## MUST
- kueri ke basis data hanya lewat repository
- rahasia hanya dari variabel lingkungan

## Dokumen
- docs/payments.md — ketika tugas menyentuh pembayaran dan pengembalian dana
- docs/migrations.md — ketika skema basis data berubah

Status fitur

StatusArtiSiapa yang memindahkan
pendingDalam antreanPerencana
activeSedang dikerjakan (hanya satu)Agen saat memulai
passingPemeriksaan lulusHanya verify.sh
blockedMembutuhkan keputusan manusiaAgen, dengan alasan

Tingkat verifikasi

TingkatApaKapan
1Lint, tipeSelalu
2Tes unit dan integrasiSelalu
3E2EPerubahan lebih dari satu lapisan; sebelum «selesai»
4arch-checkImpor antarlapisan yang baru

Hak untuk menyatakan «selesai» hanya setelah tingkat teratas. Tes unit yang hijau bukan kesiapan.

Mekanisasi aturan

TingkatAlatBiaya
Guard grepSkrip pencarian pola dengan pesan WHY/FIXMenit
Aturan linterimport-linter (Python), dependency-cruiser, eslint-plugin-boundaries (JS/TS)Satu jam
Tes arsitekturTes di CI yang gagal saat lapisan dilanggarLebih banyak, tetapi terlihat di make check
#!/usr/bin/env bash
fail=0
if grep -rn "from app.db" app/services/; then
  echo "WHY: service tidak mengakses basis data secara langsung"
  echo "FIX: gunakan repository dari app/repositories/"
  fail=1
fi
exit $fail

Masalah umum dan solusinya

MasalahSubsistemSolusi
Aturan di CLAUDE.md tidak dipatuhiInstruksiPangkas file, ubah aturan menjadi pemeriksaan atau hook
Agen tidak bisa menjalankan tesAlatIzinkan perintahnya, pasang dependensi di image
Perilaku berbeda di tiap mesinLingkunganFile lock, Docker/devcontainer, versi runtime yang tetap
Amnesia antarsesiStatusPROGRESS.md, serah terima sesi, membaca di awal sesi
Tiga fitur dimulai, tidak ada yang selesaiStatusWIP=1 di feature_list.json
«Selesai», tetapi tidak berfungsiUmpan balikDoD, E2E, verify.sh, penilai independen
Tes hijau, fitur rusakUmpan balikE2E dengan basis data dan konfigurasi sungguhan
Agen menyalin pola yang burukUmpan balikarch-check sejak hari pertama
Tidak jelas apa yang dikerjakan agenStatusCommit kecil, laporan di PROGRESS.md, DECISIONS.md
Agen merusak lingkungan semalamLingkunganSandbox, git worktree, titik simpan, rollback lewat init.sh
Komentar yang sama dari review dua kaliHarness secara umumUbah menjadi pemeriksaan di make check, hapus teksnya dari instruksi

Peran untuk tugas panjang

PeranMelakukanTidak melakukan
PerencanaFitur dengan kriteria penerimaanTidak menulis kode
GeneratorMengimplementasikan satu fitur, menjalankan tesTidak memutuskan apakah sudah selesai
PenilaiVonis berdasarkan rubrik dengan rujukan ke file, baris, logTidak melihat penalaran generator
MergeCommit ketika review == passIni kode, bukan agen

Anggaran kerja otonom

  • Tujuan — satu kalimat (misalnya membawa semua fitur ke passing).
  • WIP=1, batas waktu dan percobaan per fitur.
  • Metrik naik secara monoton; regresi berarti rollback segera.
  • Migrasi, infrastruktur, uang — eskalasi ke manusia.
  • Setelah beberapa review yang gagal, mulai fitur dengan konteks bersih.

Daftar periksa peluncuran agen

  1. Ada AGENTS.md: stack, cara menjalankan, perintah pemeriksaan, DoD.
  2. make check lulus pada klon yang bersih.
  3. Lingkungan dapat direproduksi: file lock, Docker, atau devcontainer.
  4. Perintah yang diperlukan tersedia untuk agen; yang berbahaya dilarang atau dijalankan di sandbox.
  5. Ada E2E minimal untuk skenario utama.
  6. Ada PROGRESS.md dan aturan membacanya di awal sesi.
  7. Fitur ada dalam daftar dengan status, hanya satu yang aktif.
  8. Status passing ditetapkan oleh skrip.
  9. Pesan pemeriksaan memuat WHY dan FIX.
  10. Tugas dirumuskan dengan kriteria penerimaan dan batas lingkup.
  11. Sudah ditetapkan apa saja yang membutuhkan keputusan manusia.
  12. Verification gap sudah dihitung sebelum perubahan, sebagai pembanding.

Metrik harness

MetrikCara menghitung
Verification gapProporsi «selesai» tanpa konfirmasi pemeriksaan pada 10 tugas
MTTRWaktu dari kerusakan sampai kembali ke kondisi kerja
Cold startApakah sesi baru bisa menjawab «di mana kita, apa berikutnya» tanpa menebak
AblasiPenurunan saat satu subsistem dimatikan pada kumpulan tugas yang tetap

Kesimpulan

Harness adalah lingkaran, bukan satu file: instruksi, alat, lingkungan, status, dan umpan balik. Mulailah dari pemeriksaan, jaga AGENTS.md tetap singkat, serahkan status selesai kepada skrip, dan tinjau harness secara berkala. Semua ini dirangkai menjadi satu kesatuan pada proyek contoh di kursus harness engineering.

Pertanyaan umum

Apa bedanya AGENTS.md dengan CLAUDE.md?

Fungsinya sama, yaitu file instruksi untuk agen. CLAUDE.md dibaca oleh Claude Code, AGENTS.md adalah format umum untuk berbagai agen; di CLAUDE.md cukup merujuk ke AGENTS.md.

Berapa baris yang sebaiknya ada di AGENTS.md?

Tidak ada batas baku, tetapi file masukan sebaiknya tetap singkat, sekitar seratus baris seperti daftar isi. Rincian dipindahkan ke dokumen terpisah.

Apakah feature_list.json diperlukan untuk proyek kecil?

Untuk perubahan sekali jalan tidak perlu. Ia terbayar ketika agen mengerjakan beberapa fitur berurutan atau dalam beberapa sesi.

Di mana menyimpan rahasia yang perlu diakses agen?

Di variabel lingkungan atau pengelola rahasia, bukan di file instruksi maupun di kode. Agen diberi akses ke lingkungan, bukan ke nilai rahasia yang tertulis di teks.