Lewati ke konten utama

EP11. Skills Generasi Berbasis Arsitektur

🏛️ Empat Unit Spesialis dan Mematahkan Default Diam

Episode terakhir: mengapa generasi tanpa arsitektur berbahaya, dan bagaimana ASR dan ADR menambatkan dokumen samar.

Episode ini membuka empat skill inti di bawah .opencode/skills/*/SKILL.md—masing-masing dengan prinsip dan kendala keras.


1. adr-writing: "Mengapa Kita Memutuskan Ini"

  • Aturan inti: 1 file ADR = 1 concern

ADR di sini bukan hanya "Architecture Decision Record" perangkat lunak—ini Any Decision Record: langkah pembuka laporan, alur slide, pilihan struktural apa pun yang mempengaruhi artefak.

  • Tanpa alternatif palsu: "Straw man B agar A bersinar" dilarang. Masing-masing dari 2–3 opsi harus nyata dengan trade-off seimbang.
  • Tanpa dinding prosa: Blok naratif panjang memblokir keputusan. Nama + 2–4 bullet ringkas per opsi untuk perbandingan sekilas.
  • Gerbang persetujuan: ADR baru dimulai sebagai proposed di adr/; hanya setelah persetujuan eksplisit pengguna ("OK, pakai B") menjadi approved—jejak audit.

2. spec-writing: "Apa yang Kita Sepakati untuk Dibangun"

  • Aturan inti: Self-containment

Setelah keputusan ADR, spec-writing menulis blueprint akhir. Satu file spec harus cukup untuk tahu apa yang dibangun dan bagaimana.

  • Tanpa referensi ADR di dalam spec: Tautan seperti "lihat adr/01-database.md" dilarang. ADR adalah riwayat mengapa; spec adalah apa sekarang—hanya persyaratan final, tanpa debat di balik layar.
  • Bullet dapat diverifikasi: Satu bullet = satu persyaratan atau kendala—agar verifikasi dapat lulus/gagal dengan jelas.

3. spec-driven-generation: "Bangun Sesuai Blueprint"

  • Aturan inti: Spec adalah satu-satunya konstitusi dan otoritas

Menghasilkan teks atau kode—tapi tahu kapan berhenti sebelum menghasilkan.

🛑 Gerbang Kesiapan ASR

"Berikan output sekarang, tanpa desain" memicu gerbang. Alih-alih menghasilkan, Cocrates menuntut keputusan arsitektural di delapan kategori ASR universal:

Delapan kategori ASR universal: ① tujuan & audiens, ② bentuk artefak, ③ batas ruang lingkup, ④ standar kualitas, ⑤ kendala, ⑥ struktur & komposisi, ⑦ integrasi & dependensi, ⑧ proses & tahap

Jika prompt pertama bertentangan dengan spec nanti, spec selalu menang—blueprint yang dideliberasi adalah intent sebenarnya.


4. spec-driven-verification: "Bandingkan dengan Blueprint"

  • Aturan inti: Verifikasi dual-purpose (Deviasi & ASR Tidak Terdokumentasi)

Setelah generasi, mode mikroskop: apakah kita cocok dengan spec (Deviasi)? Apakah AI menambahkan struktur tidak dideklarasikan (ASR Tidak Terdokumentasi)?

- Deviasi: Melanggar spec eksplisit (mis. "PostgreSQL" tapi MongoDB digunakan) → [harus diperbaiki]
- ASR Tidak Terdokumentasi: Tidak di spec tapi ada di output (mis. subbagian yang ditambahkan AI) → [pilihan pengguna]

🧐 Menangani ASR Tidak Terdokumentasi

Improvisasi AI tidak selalu salah—kadang lebih baik. Kejahatannya adalah membuat kotak hitam tanpa kesadaran pengguna. Verifikasi melaporkan ke verification/ dan bertanya: Konfirmasi? Perbarui spec? Perbaiki?


📊 Matriks Ringkasan Empat Skill

SkillPeran intiPath outputLarangan keras
adr-writingAlternatif & keputusan per concernadr/{concern-slug}.mdAlternatif palsu, esai prosa
spec-writingGabungkan keputusan disetujui ke satu blueprintspec/{requirement-slug}.mdTautan ADR di dalam spec
spec-driven-generationHasilkan hanya dari spec finalFile isi artefakHasilkan tanpa spec (gerbang wajib)
spec-driven-verificationCocokkan spec + pemindaian struktur tidak terdokumentasiverification/{requirement-slug}.mdPerbaiki tanpa konfirmasi pengguna

🎬 Selanjutnya

ADR → Spec → Generation → Verification berlaku fleksibel untuk artefak apa pun.

Bagaimana jika domain sangat spesifik dan berulang—deck slide, seri blog? Alih-alih meninjau delapan kategori universal setiap kali, cetak skill khusus di tempat.

Berikutnya: generating-skill-creation—meta-engine yang menskillifikasi arsitektur itu sendiri.

"Siapa menguasai arsitektur memegang kedaulatan atas output. Arsitektur terbaik dikodekan sebagai skill otomatis."


Seri ini memperkenalkan framework Cocrates Harness. Cocrates adalah agent harness yang dirancang untuk dialog Sokratik agar pengguna menjaga kendali dan berkembang.