클로드 코드 /goal을 auto 모드로 돌려 완료 조건까지 맡기는 법
클로드 코드(Claude Code)의 /goal은 완료 조건을 정해 두면 그 조건이 맞을 때까지 클로드가 다음 턴을 스스로 이어 가게 하는 명령이다. 턴이 끝날 때마다 다른 모델이 조건을 확인하고, 아직이면 턴을 하나 더 시작한다. 호출부를 전부 새 API로 옮기거나 이슈 백로그를 비우는 일처럼 끝 상태를 확인할 수 있는 큰 작업에 쓴다.
- auto 모드로 바꾸고 조건을 적는다. 목표를 정하는 순간 첫 턴이 시작되니 프롬프트를 따로 보내지 않아도 된다. 권한 모드는 그대로라서 수동 모드에서는 허용하지 않은 도구를 쓸 때마다 묻는다.
/goal all tests in test/auth pass and the lint step is clean
-
조건은 클로드의 출력으로 증명할 수 있게 쓴다. 평가 모델은 명령을 돌리거나 파일을 열지 않고 대화에 나온 내용만 본다. 끝 상태 하나(테스트 결과, 종료 코드, 빈 대기열)와 확인 방법(
npm test가 0으로 끝난다), 지켜야 할 제약(다른 테스트 파일은 고치지 않는다)을 넣으면 턴이 길어져도 흔들리지 않는다. 너무 오래 돌지 않게 하려면or stop after 20 turns처럼 턴이나 시간 제한을 붙인다. 조건은 4,000자까지다. -
상태를 보거나 목표를 지운다. 인자 없이 치면 조건, 경과 시간, 평가한 턴 수, 토큰 사용량, 평가 모델이 마지막으로 남긴 이유가 나온다.
/goal
/goal clear
- 대화창 없이 한 번에 돌리려면
-p에 넘긴다. 기본 텍스트 출력은 루프가 끝나야 한 번 찍혀서 멈춘 것처럼 보이니 stream-json 출력을 붙인다.
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week" --output-format stream-json --verbose
평가는 설정된 소형 고속 모델(기본은 하이쿠)이 맡는다. 모델을 바꾸려면 ANTHROPIC_DEFAULT_HAIKU_MODEL을 설정한다. 이 값은 대화 요약 같은 백그라운드 작업과 haiku 별칭에도 같이 적용된다. X에 '소네트가 만들고 하이쿠가 턴마다 평가하고 오퍼스가 마무리한다'는 구성이 돌고 있는데, 오퍼스가 마지막에 확인하는 단계는 /goal에 없다(원하면 어드바이저를 따로 붙인다).
인증 실패, 크레딧 소진, 자동 압축으로도 못 줄인 컨텍스트 초과, 쓸 수 없는 모델 같은 오류가 나면 목표가 지워지고 Run /goal again to continue가 뜬다. 원인을 고친 뒤 다시 정한다. /goal은 훅 시스템 위에서 돌기 때문에 신뢰하지 않은 폴더, disableAllHooks가 true인 환경, 관리 설정에 allowManagedHooksOnly를 둔 환경에서는 쓸 수 없다.