메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

/goal 명령은 완료 조건을 설정하고 Claude가 사용자가 각 단계를 프롬프트하지 않아도 그 조건을 향해 계속 작동하도록 합니다. 각 턴 후에 작은 빠른 모델이 조건이 충족되었는지 확인합니다. 충족되지 않으면 Claude는 제어를 사용자에게 반환하는 대신 다른 턴을 시작합니다. 조건이 충족되면 목표는 자동으로 지워집니다. 검증 가능한 최종 상태가 있는 실질적인 작업에 목표를 사용합니다:
  • 모든 호출 사이트가 컴파일되고 테스트가 통과할 때까지 모듈을 새로운 API로 마이그레이션
  • 모든 수용 기준이 충족될 때까지 설계 문서 구현
  • 각각이 크기 예산 이하가 될 때까지 큰 파일을 집중된 모듈로 분할
  • 큐가 비워질 때까지 레이블이 지정된 이슈 백로그 처리
이 페이지에서 다루는 내용:

다른 자율 워크플로우와 비교

세 가지 접근 방식이 프롬프트 사이의 현재 세션을 계속 실행합니다. 다음 턴을 시작해야 할 때를 기준으로 선택합니다:
접근 방식다음 턴 시작 시기중지 시기
/goal이전 턴이 완료될 때모델이 조건이 충족되었음을 확인할 때
/loop시간 간격이 경과할 때사용자가 중지하거나 Claude가 작업이 완료되었다고 판단할 때
Stop hook이전 턴이 완료될 때사용자의 스크립트 또는 프롬프트가 결정할 때
/goal과 Stop hook은 모두 매 턴 후에 실행됩니다. /goal은 세션 범위의 단축키입니다: 조건을 입력하면 현재 세션에서만 활성화됩니다. Stop hook은 설정 파일에 있고 범위 내의 모든 세션에 적용되며 결정론적 확인을 위해 스크립트를 실행하거나 모델 평가를 위해 프롬프트를 실행할 수 있습니다. 자동 모드는 단일 턴 내에서 도구 호출을 승인하지만 새로운 턴을 시작하지는 않습니다. Claude는 작업이 완료되었다고 판단할 때 중지합니다. /goal은 매 턴 후에 조건을 확인하는 별도의 평가자를 추가하므로 완료는 작업을 수행하는 모델이 아닌 새로운 모델에 의해 결정됩니다. 두 가지는 상호 보완적입니다: 자동 모드는 도구별 프롬프트를 제거하고 /goal은 턴별 프롬프트를 제거합니다.
위의 접근 방식은 현재 세션을 계속 실행합니다. 야간 테스트나 아침 분류와 같이 열린 세션과 무관하게 실행되는 작업을 예약할 수도 있습니다. 클라우드 루틴 및 데스크톱 예약된 작업에 대해 예약 옵션을 참조하세요.

/goal 사용

세션당 하나의 목표만 활성화될 수 있습니다. 동일한 명령이 인수에 따라 설정, 확인, 지웁니다.

목표 설정

/goal 다음에 만족하려는 조건을 입력합니다. 목표가 이미 활성화되어 있으면 새 목표가 이를 대체합니다.
/goal all tests in test/auth pass and the lint step is clean
목표를 설정하면 조건 자체를 지시문으로 하여 즉시 턴을 시작합니다. 별도의 프롬프트를 보낼 필요가 없습니다. 목표가 활성화되어 있는 동안 ◎ /goal active 표시기가 목표가 실행된 시간을 표시합니다. 각 턴 후에 평가자는 조건이 충족되었는지 여부를 설명하는 짧은 이유를 반환합니다. 가장 최근의 이유는 상태 보기 및 대화 기록에 나타나므로 Claude가 다음에 작업할 내용을 볼 수 있습니다.
목표는 조건이 충족되거나 /goal clear를 실행할 때까지 계속 실행됩니다. 인수 없이 /goal을 실행하면 지금까지 소비한 턴과 토큰을 볼 수 있습니다.

효과적인 조건 작성

평가자는 Claude가 대화에서 표시한 내용에 대해 조건을 판단합니다. 독립적으로 명령을 실행하거나 파일을 읽지 않으므로 Claude의 자체 출력이 입증할 수 있는 것으로 조건을 작성합니다. “test/auth의 모든 테스트 통과”는 Claude가 테스트를 실행하고 결과가 평가자가 읽을 수 있도록 대화 기록에 나타나기 때문에 작동합니다. 많은 턴에 걸쳐 유지되는 조건은 일반적으로 다음을 포함합니다:
  • 하나의 측정 가능한 최종 상태: 테스트 결과, 빌드 종료 코드, 파일 수, 빈 큐
  • 명시된 확인: Claude가 이를 증명하는 방법(예: “npm test 종료 0” 또는 “git status가 깨끗함”)
  • 중요한 제약 조건: 그 과정에서 변경되지 않아야 하는 모든 것(예: “다른 테스트 파일은 수정되지 않음”)
조건은 최대 4,000자까지 가능합니다. 목표가 실행되는 시간을 제한하려면 조건에 턴 또는 시간 절을 포함합니다(예: or stop after 20 turns). Claude는 매 턴마다 해당 절에 대한 진행 상황을 보고하고 평가자는 대화에서 이를 판단합니다.

상태 확인

인수 없이 /goal을 실행하여 현재 상태를 확인합니다.
/goal
목표가 활성화되어 있으면 상태는 다음을 표시합니다:
  • 조건
  • 실행된 시간
  • 평가된 턴 수
  • 현재 토큰 소비
  • 평가자의 가장 최근 이유
목표가 활성화되지 않았지만 세션 초반에 달성된 경우 상태는 달성된 조건과 함께 지속 시간, 턴 수, 토큰 소비를 표시합니다.

목표 지우기

/goal clear를 실행하여 조건이 충족되기 전에 활성 목표를 제거합니다.
/goal clear
stop, off, reset, none, cancelclear의 별칭으로 허용됩니다. /clear를 실행하여 새 대화를 시작하면 활성 목표도 제거됩니다.

활성 목표로 재개

세션이 종료될 때 여전히 활성 상태였던 목표는 --resume 또는 --continue로 해당 세션을 재개할 때 복원됩니다. 조건은 유지되지만 턴 수, 타이머, 토큰 소비 기준선은 모두 재개 시 재설정됩니다. 이미 달성되었거나 지워진 목표는 복원되지 않습니다.

비대화형으로 실행

/goal비대화형 모드원격 제어에서 작동합니다. -p로 목표를 설정하면 단일 호출에서 루프를 완료까지 실행합니다:
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"
Ctrl+C로 프로세스를 중단하여 조건이 충족되기 전에 비대화형 목표를 중지합니다.

평가 작동 방식

/goal은 세션 범위의 프롬프트 기반 Stop hook 주위의 래퍼입니다. Claude가 턴을 완료할 때마다 조건과 지금까지의 대화가 구성된 작은 빠른 모델로 전송되며, 기본값은 Haiku입니다. 모델은 예 또는 아니오 결정과 짧은 이유를 반환합니다. “아니오”는 Claude에게 계속 작동하도록 지시하고 다음 턴의 지침으로 이유를 포함합니다. “예”는 목표를 지우고 대화 기록에 달성된 항목을 기록합니다. 평가자는 세션이 구성된 공급자에서 실행됩니다. 도구를 호출하지 않으므로 Claude가 이미 대화에서 표시한 내용만 판단할 수 있습니다.
평가 토큰은 공급자에 대해 구성된 작은 빠른 모델에서 청구되며 일반적으로 주 턴 소비에 비해 무시할 수 있습니다.

요구 사항

/goal은 평가자가 hooks 시스템의 일부이기 때문에 신뢰 대화를 수락한 워크스페이스에서만 실행됩니다. disableAllHooks가 모든 설정 수준에서 설정되거나 관리 설정에서 allowManagedHooksOnly가 설정되면 /goal을 사용할 수 없습니다. 각 경우에 명령은 조용히 아무것도 하지 않는 대신 이유를 알려줍니다.

참고 항목