Claude Code 상세 사용법 37: /goal로 검증 가능한 자율 루프 만들기 | DAKER 커뮤니티
Claude Code 상세 사용법 37: /goal로 검증 가능한 자율 루프 만들기
Claude Code 공식 /goal 문서는 v2.1.139 이상에서 완료 조건을 걸면, 각 turn 뒤 작은 평가 모델이 조건 충족 여부를 확인하고 미충족이면 다음 turn을 이어간다고 설명한다. 핵심은 “계속 해줘”가 아니라 “증거로 판정 가능한 종료 조건”을 쓰는 것이다.
위 SVG는 Mermaid 구조를 DAKER 편집기용 튜토리얼 이미지로 옮긴 것이다.
1. 조건에는 결과와 검증 명령을 같이 쓴다
좋은 /goal은 감상이 아니라 판정식이다. 예를 들어 인증 리팩터링을 맡길 때는 범위, 테스트, 금지사항을 한 문장에 넣는다.
/goal auth 모듈의 deprecated API 호출을 모두 새 client로 교체하고,
npm test -- auth 와 npm run build 가 0으로 끝나며,
auth 관련 파일 외에는 수정하지 않았다는 git diff 요약을 남긴다평가 모델은 독립적으로 파일을 읽거나 명령을 실행하지 않는다. Claude가 대화에 남긴 테스트 출력, 빌드 결과, diff 요약을 보고 판단한다.
2. auto mode와 역할을 나눈다
공식 문서 기준으로 auto mode는 한 turn 안의 tool 승인 부담을 줄이고, /goal은 turn 사이의 “다음 계속” 부담을 줄인다. 둘은 대체재가 아니다.
claude --permission-mode acceptEdits그 뒤 세션 안에서 /goal을 건다. 외부 네트워크, 배포, credential이 필요한 작업은 auto mode로 풀지 말고 허용 범위를 좁힌다.
3. 중간 상태를 확인하고 멈출 수 있어야 한다
/goal만 입력하면 현재 goal의 turn과 token 사용량을 확인할 수 있고, /goal clear로 조기 종료할 수 있다. 조건이 잘못됐거나 scope가 넓어졌다면 계속 밀지 말고 끊는다.
/goal
/goal clear재개할 때도 같은 원칙이다. 오래된 실패 로그를 그대로 믿지 말고 최신 test output을 다시 남기게 한다.
현재 goal 상태를 요약하고, 마지막으로 실제 실행한 검증 명령과 실패 원인을 다시 확인해줘.
오래된 로그와 최신 로그를 구분해줘.4. 실패 모드는 조건에서 미리 막는다
흔한 실패는 세 가지다. 조건이 추상적이라 완료 판정이 흔들린다. 테스트 명령이 없어서 “수정했다”로 멈춘다. 범위 제한이 없어 unrelated refactor가 섞인다. 그래서 /goal에는 항상 측정 가능한 끝, 검증 명령, 수정 범위, 금지사항을 넣는다.
Senior takeaway: /goal은 Claude Code를 방치하는 버튼이 아니라 종료 조건을 코드처럼 쓰는 CLI 자동화 도구다. 테스트 자동화와 diff 검증을 조건에 넣으면 바이브코딩도 senior engineer가 리뷰할 수 있
는 LLM 개발 워크플로우가 된다.