Specify 33 min

Define the Work Surface

Mengubah permintaan coding yang kabur menjadi unit kerja yang kecil, jelas, dan bisa diverifikasi.

Failure pattern

Developer meminta coding agent “fix onboarding.” Agent lalu menyentuh auth, email copy, dashboard, analytics, dan test sekaligus. Hasilnya terlihat aktif, tetapi scope-nya tidak bisa direview dengan sehat.

Work surface untuk coding agent adalah batas pekerjaan: behavior apa yang diubah, file mana yang masuk akal, command apa yang membuktikan hasil, dan apa yang harus ditolak.

Incident: Onboarding bug yang melebar

Bug sebenarnya sederhana: invited user menerima link, tetapi redirect terlalu cepat sebelum workspace membership siap. Karena request hanya berbunyi “fix onboarding,” agent memperbaiki copy email, mengubah checklist, menambah analytics event, dan menyentuh billing trial state.

Patch besar itu sulit ditolak satu per satu. Reviewer tidak tahu apakah behavior utama benar-benar fixed.

Agent task

Brief yang lebih baik:

Behavior: invited user lands in workspace setup after accepting valid invite.
In scope: token validation, membership creation, redirect target, acceptance test.
Out of scope: email copy, billing trial, dashboard checklist, analytics.
Evidence: failing test before patch, passing acceptance test after patch.

Ini cukup sempit untuk dikerjakan dan cukup jelas untuk direview.

Harness principle

Work surface bukan sekadar prompt. Ia ditegakkan oleh test, allowed commands, branch policy, dan review gate. Agent boleh menemukan masalah lain, tetapi harus menaruhnya di queued atau blocked, bukan diam-diam memperluas patch.

Operating practice

Gunakan brief table:

FieldContoh
User-visible behaviorinvite acceptance redirect
Entry point/invite/:token
In scoperoute, membership event, focused e2e
Out of scopeemail copy, billing, dashboard
Evidencefailing/passing test pair
Stop conditionupstream auth bug ditemukan

Jika stop condition terjadi, agent berhenti dan melaporkan work surface baru.

Coding-agent example

Harnessed agent membuat patch kecil: route fix dan regression test. Ia tidak memperbaiki seluruh onboarding. Ia menulis evidence:

Before: invite acceptance e2e fails on redirect.
After: invite acceptance e2e passes.
Regression: expired token path still passes.

Patch ini bisa direview.

Common mistakes

Kesalahan umum adalah menjadikan nama produk sebagai scope. “Onboarding” terlalu luas. “Invite acceptance redirects before membership exists” adalah work surface.

Kesalahan lain adalah membiarkan agent mengambil cleanup oportunistik. Cleanup boleh dicatat, tetapi tidak otomatis masuk active work.

Practical exercise

Ambil satu issue dari repo. Tulis ulang menjadi work-surface brief dengan behavior, in scope, out of scope, evidence, dan stop condition.

Key takeaways

  • Coding agent butuh batas behavior, bukan hanya goal.
  • Scope drift harus punya tempat: queued, blocked, atau rejected.
  • Completion harus dibuktikan lewat evidence yang disebut sejak awal.