Goal — Claude가 조건이 충족될 때까지 스스로 달리게 하기
검증 가능한 완료 조건을 설정하면 Claude가 한 라운드씩 달려 달성하고, 매번 계속하라고 재촉할 필요가 없어요
⏱ 예상 ~6분
01 · 읽기
큰 작업을 할 때 자주 "계속해", "다음 고쳐", "테스트 돌려", "다시 시도" 를 연달아 외쳐야 해요 — Claude가 한 라운드에 한 가지만 하고 멈춰서 여러분을 기다리니까요.
/goal 은 검증 가능한 완료 조건을 설정하게 해줘요. Claude가 스스로 한 라운드씩 달려 달성해요. 예를 들어 "test/auth 의 모든 테스트가 통과, lint 도 깨끗", 설정하고 Enter 를 누르면 커피를 마시러 가요. 돌아왔을 때 조건이 달성되어 자동 종료되었거나, Claude가 막혀서 결정을 기다리고 있어요.
💡 상상해 봐요엔지니어에게 ticket 과 인수 조건을 주는 것 같아요 "이 PR 이 초록불이 돼야 끝", 그가 스스로 반복, 수정, 테스트 실행, 다시 수정, 다시 실행을 해요. 매 작은 단계마다 여러분에게 확인할 필요가 없어요. 그가 완전히 막혔거나 완료했을 때만 여러분이 나타나요.
핵심 정리
- /goal <조건> 이 완료 조건을 설정하고 즉시 첫 라운드를 시작
- Claude 한 라운드 → 달성 여부 평가 → 미달성이면 또 한 라운드
- 달성하면 자동 종료; 미달성이어도 /goal clear 로 수동 중지 가능
- "명확한 인수 기준" 이 있는 작업에 좋아요 (테스트 통과, 파일 존재, queue 빔)
02 · 읽기
내부 작동: 각 라운드 종료 후 독립적인 작은 모델 (보통 Haiku) 이 대화 transcript 를 읽고 조건이 달성됐는지 판단해요. 명령을 실행하거나 파일을 읽을 수 없어요 — Claude가 대화에서 "보여" 준 것만 봐요.
즉 조건은 Claude가 대화에서 "보여줄" 수 있는 것이어야 해요: - "npm test exit code 0" (Claude가 테스트를 돌리고, 출력에 표시) - "git status 깨끗" (Claude가 git status 를 돌리고, 출력에 표시) - "코드 품질 좋음" (검증 불가, 평가기가 못 봄) - "버그 없음" (대화에서 증명할 방법 없음)
또 다른 중요한 점은 "실행 모델" 과 "평가 모델" 이 분리되어 있다는 거예요 — 작업하는 Claude가 스스로 완료를 선언해 속이지 못해요, Haiku 가 독립적으로 판단해요.
핵심 정리
- 평가기 (Haiku) 가 작업 모델과 분리되어 판단
- 평가기는 명령 실행, 파일 읽기 불가 — 대화 내용만 봐요
- 조건은 Claude가 대화에서 "보여줄" 수 있는 증거여야 해요
- 최대 4000 자, "또는 N 라운드 후 중지" 를 보험으로 추가 가능
03 · 코드 예제
핵심 명령 세 가지: 설정, 진행 보기, 비우기.
Claude Code session 안에서
# goal 설정 — 첫 번째 라운드를 바로 시작
/goal all tests in test/auth pass and lint is clean
# 현재 진행 상황 보기 (조건, 실행한 라운드 수, 사용한 토큰, 평가자의 최신 추론)
/goal
# 수동으로 지우기 (조건 충족 시 자동 정리됨, 거의 필요 없음)
/goal clear
# 별칭: stop, off, reset, none, cancel
# /clear (새 대화) 도 정리해요
헤드리스 / 한 번에 끝까지
# 비대화 모드, 완료된 후에만 shell 로 돌아옴
claude -p "/goal CHANGELOG.md 에 이번 주 PR 마다 항목 하나씩"
# 중단하려면 Ctrl+C
Goal active 일 때 prompt 옆에 ◎ /goal active 와 elapsed time 이 표시돼요. 헤드리스 모드 (-p) 는 CI 나 스케줄에 넣기 좋아요, 예를 들어 매일 "changelog 항목 생성" 을 완료까지 돌려요.
04 · 코드 예제
잘 쓴 조건 vs 잘못 쓴 조건, 차이가 커요 — 실제 예시 보기:
나쁜 조건 (평가기가 검증 불가)
/goal auth.js 를 더 잘 리팩토링
/goal 로그인 버그 고치기
/goal 코드 품질을 좋게 유지
/goal 모든 TODO 마무리
좋은 조건 (명확한 인수 + 시간 보험)
/goal auth.js 를 여러 모듈로 나누기, 각 300줄 이하, 모든 테스트 통과, 또는 20 라운드 후 정지
/goal 특수 문자 로그인 버그 고치기, `npm test test/auth` 가 완전히 그린, 또는 15 라운드 후 정지
/goal old-api 의 모든 import 를 new-api 로 교체, lint 깨끗, grep 으로 old-api 가 안 잡힘
좋은 조건의 세 가지 공통점: 정량적 종료 상태 (exit code, 파일 수, queue 빔), "어떻게 증명할지" 명시 (어떤 명령을 돌릴지), 시간 보험 ("또는 N 라운드 후 중지" 로 무한 토큰 소모 회피). 나쁜 조건의 흔한 문제는 "품질 좋음", "더 잘 쪼개기" 같은 주관적 단어 — 평가기가 못 읽어요.
05 · 읽기
Claude Code 에는 "자동 계속" 도구가 여러 개 있어요, 헷갈리지 마세요: - /goal — 조건을 설정하면 Claude가 한 라운드씩 달려 달성. 핵심은 "완료까지 달리기", 몇 라운드든 상관없어요. - /loop — 스케줄 설정 (예: "5 분마다 X 하기"), 시간이 되면 돌아요. 핵심은 "주기적 점검", 완료까지 달리는 게 아니에요. - Stop hook — 설정 파일에 작성된 스크립트, 각 라운드 종료 후 여러분의 판단 로직을 돌려요. 핵심은 "session 을 가로지르는 커스텀 규칙". - Auto mode — "매 도구 호출 전 yes 누르라" 는 prompt 제거. 핵심은 "권한 면제", Claude가 언제 멈출지 스스로 결정하는 게 아니에요.
같이 쓰면 최고: Auto mode 권한 면제 + /goal 완료까지 달리기 = 진짜로 Claude를 풀어서 자동으로 달리게 해요.
핵심 정리
- /goal = 조건 달성까지 달리기 (session 한정)
- /loop = 시간 스케줄 (주기적)
- Stop hook = session 을 가로지르는 커스텀 로직 (설정에 작성)
- Auto mode = yes 안 눌러도 됨
- Auto mode + /goal 같이 쓰면 진짜 백그라운드 실행 가능
06 · 퀴즈
Claude가 옛 버전 React class component 를 다 hooks 로 다시 쓰게 하려고 해요, 파일이 30 개예요. 아래 /goal 조건 중 완료까지 달릴 가능성이 가장 높은 건?
- /goal 모든 class component 를 hooks 로 다시 쓰기
- /goal 모든 class component 를 hooks 로 다시 쓰기, 각 파일이 원래 테스트 통과, grep 으로 extends React.Component 못 찾음, 또는 40 라운드 후 중지
- /goal 코드를 더 모던하고 유지보수하기 좋게
- /goal 내가 만족할 때까지 component 다시 쓰기
07 · 짝짓기
각 시나리오에 가장 잘 맞는 도구를 짝지어요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
⚠ 전체 인터랙티브 경험에는 JavaScript가 필요해요. JavaScript를 켜고 새로 고침해 주세요.
※ 이 사이트는 독립 운영되는 교육 프로젝트로, Anthropic의 공식 제품이 아니에요. Claude™ 는 Anthropic, PBC 의 상표예요.