AI Coding & Agents

[Claude Code #6] /goal, AI에게 달성 조건을 걸어두는 법

Claude Code /goal은 달성 조건을 걸면 별도 심판 모델이 매 턴 판정해 조건 충족까지 작업을 이어 갑니다. 조건 작성법, auto mode 조합, 헤드리스 완주까지 정리했습니다.

4분 읽기
[Claude Code #6] /goal, AI에게 달성 조건을 걸어두는 법 대표 이미지

AI에게 큰 작업을 맡기면 중간에 자꾸 멈춥니다. “테스트 3개가 아직 실패하는데 계속할까요?” 하고 물으면서요.

그때마다 “응, 계속해”를 입력하는 게 일이 됩니다. 자리를 비우기라도 하면 작업은 그 자리에 서 있고요.

Claude Code의 /goal은 이 문제를 조건 선언으로 풉니다. 달성 조건을 걸어 두면 그 조건이 충족될 때까지 Claude가 턴을 이어 가며 계속 일합니다.

Claude Code 5편/rewind가 안전망이라면, /goal은 완주 장치입니다.

동작 원리: 심판이 따로 있습니다

공식 /goal 문서의 설명이 핵심을 짚습니다. 매 턴이 끝나면 작고 빠른 별도 모델이 조건 충족 여부를 검사합니다. 충족되지 않았으면 Claude가 사용자에게 돌아오는 대신 다음 턴을 시작하고요.

일하는 모델이 “다 했습니다”라고 자평하는 구조가 아닙니다. 제3의 심판 모델(Claude API 기준 Haiku)이 매 턴 판정하고 짧은 이유도 함께 남깁니다. 평가 토큰은 본 작업에 비하면 무시할 수준이에요.

조건이 충족되면 목표는 자동으로 해제됩니다.

Claude Code /goal의 턴 반복과 심판 모델 판정 루프 다이어그램
조건이 충족될 때까지 턴이 이어지는 구조예요

기본 사용법

/goal 뒤에 조건을 적으면 바로 턴이 시작됩니다. 별도 프롬프트가 필요 없어요.

/goal test/auth의 모든 테스트가 통과하고 린트가 깨끗할 것

활성 상태에서는 ◎ /goal active 표시로 경과 시간을 보여 줍니다.

  • /goal (인자 없이): 조건·경과 시간·턴 수·토큰 사용량·최근 판정 이유 확인
  • /goal clear: 조건 충족 전에 목표 해제 (stop·cancel 등도 통함)

목표는 세션당 하나입니다. 새로 걸면 기존 목표를 대체해요.

조건을 잘 쓰는 게 절반입니다

심판 모델은 명령을 직접 실행하거나 파일을 읽지 않습니다. Claude가 대화에 남긴 출력만 보고 판정해요.

그래서 조건은 Claude의 출력으로 증명 가능한 형태여야 합니다. 공식 문서가 권하는 요소는 세 가지입니다.

  • 측정 가능한 종료 상태 하나: 테스트 결과, 빌드 종료 코드, 빈 큐
  • 검증 방법 명시: “npm test가 0으로 종료” 같은 확인 수단
  • 지켜야 할 제약: “다른 테스트 파일은 수정하지 않을 것” 등

무한정 도는 게 걱정되면 조건에 “또는 20턴 후 중단” 같은 절을 넣으면 됩니다. 다만 시스템이 강제하는 상한은 아닙니다. 심판 모델이 대화 속 진행 보고를 보고 판정하는 조건의 일부예요.

권한은 별개입니다

/goal이 권한까지 열어 주지는 않습니다. 기본 권한 모드라면 허용 안 된 도구 호출마다 여전히 물어봐요.

무인 완주를 원한다면 auto mode와 짝을 맞추는 게 정석입니다. auto mode가 도구 승인 프롬프트를 없애고 /goal이 턴 사이 프롬프트를 없애는 분업이죠.

비슷한 장치와 뭐가 다른지도 정리해 둘게요. /loop는 시간 간격으로 다시 도는 반복이고, /goal은 조건 충족까지 이어 가는 완주입니다.

세션이 끊겨도 목표는 남습니다

목표가 활성인 채 세션이 끝나면 --resume이나 --continue로 재개할 때 조건이 그대로 복원됩니다. 턴 수와 타이머, 토큰 기준점만 새로 시작해요.

터미널 없이 돌리고 싶다면 헤드리스 모드도 됩니다.

claude -p "/goal 이번 주 머지된 모든 PR이 CHANGELOG.md에 반영될 것"

호출 한 번으로 조건이 충족될 때까지 루프가 돌아갑니다. 기본 출력에서는 완료 전까지 아무것도 안 찍혀서 멈춘 듯 보입니다. 진행을 보려면 --output-format stream-json --verbose를 붙이세요.

WRITE THE CONDITION 문구와 목표 조건 체크리스트를 쓰는 손 일러스트
종료 상태, 검증 방법, 제약. 조건에는 이 셋이 들어갑니다

정리

/goal은 “계속해”를 대신 눌러 주는 명령어입니다. 조건을 선언하면 별도 심판 모델이 매 턴 판정하고, 될 때까지 작업이 이어집니다.

관건은 조건 설계입니다. 측정 가능한 종료 상태와 검증 방법을 명시하고 턴 제한 절도 조건에 함께 적어 두세요.

다음 편에서는 세션을 통째로 백그라운드로 보내는 /background/tasks를 다룹니다. 완주 장치에 이어 이번엔 분업 장치입니다.

출처 및 확인 기준

이어서 읽기

Claude Code 시리즈

관련 주제