~/VibeHandbook
무료 PDF

챕터 19 · 03

헤매지 못하도록 과업의 범위를 정하기

자율 에이전트는 특정한 방식으로 실패한다. 표류한다. 한 가지를 요청했는데 "친절하게" 다른 셋을 리팩터링하고, 언급한 적 없는 파일을 건드리고, 읽을 수 없는 디프를 들고 돌아온다. 해법은 더 똑똑한 에이전트가 아니라 — 더 빡빡한 브리프다.

좋은 자율 과업은 네 부분으로 이루어진다: 명확한 목표, 명시적인 제약, 구체적인 완료 기준, 그리고 에이전트가 스스로 돌릴 수 있는 가드레일. 가드레일이 가장 중요한 부분인데, 그게 에이전트가 당신 모르게 넘을 수 없는 울타리이기 때문이다.

Goal: Make the failing tests in tests/checkout/ pass.

Constraints:
- Only edit files under src/checkout/. Do not touch src/auth/,
  the database schema, or anything in config/.
- Do not add new dependencies.
- Do not change the tests themselves — the tests define correct behavior.

Done when:
- `npm test tests/checkout/` is fully green.
- `npm run typecheck` passes.
- `git diff --stat` shows changes only under src/checkout/.

If you get stuck after two real attempts, stop and report what you
tried and what's still failing. Don't paper over a failure to make
the suite go green.

이 브리프가 효과적인 것은 에이전트를 가둬놓기 때문이다: 제약이 건드려도 되는 것에 벽을 치고, 완료 기준은 에이전트가 돌릴 수 있는 명령이며, 검증 루프가 그것을 정직하게 유지한다:

 ┌───────────────────────── 범위 울타리 ─────────────────────────┐
 │  편집 가능:  src/checkout/                                    │
 │  ✗ 금지: src/auth/ · db 스키마 · config/ · 테스트             │
 │                                                               │
 │     ┌─────────┐   편집    ┌──────────────┐                    │
 │     │ 에이전트│──────────▶│ src/checkout/ │                   │
 │     │         │◀──────────┤              │                    │
 │     └────┬────┘테스트 실행└──────────────┘                    │
 │          │                                                    │
 │          ▼  npm test + typecheck                              │
 │     ┌─────────────┐   green ──▶ 완료                          │
 │     │  검증 루프  │   red   ──▶ 재시도 (최대 2)               │
 │     └─────────────┘   stuck ──▶ 중단 & 보고                  ─┼─▶ 당신
 └───────────────────────────────────────────────────────────────┘

세 가지가 이 브리프에서 헤매기 어렵게 만든다. 제약은 에이전트가 건드려도 되는 파일 주위에 벽을 친다. 완료 기준은 분위기가 아니라 누구나 돌릴 수 있는 명령이다. 그리고 마지막 단락은 허우적대는 대신 멈추고 묻도록 허가를 준다 — 에이전트가 20분 동안 계속 "고치다가" 트리를 처음보다 더 나쁘게 남겨두는 슬로모션 재앙을 막아주는 것이 바로 이것이다.

진짜 울타리는 테스트다. 자기 테스트를 돌릴 수 있는 에이전트는 빡빡하고 정직한 피드백 루프를 가지며 대체로 그 안에 머문다. 자기 일을 확인할 방법이 없는 에이전트는 망가진 것을 자신만만하게 건넨다. 이 장에서 한 가지 습관만 가져간다면: 에이전트에게 스스로 검증할 방법을 주고, 그것을 통과하는 것을 완료의 정의로 삼아라.

오프라인으로 보고 싶으세요?

책 전체를 PDF나 EPUB으로 무료로 내려받으세요.