본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 09. 06:32

Claude Code의 /goal을 사용해 보기 전에 조사한 내용 메모

요약

Claude Code의 내장 명령어인 `/goal`의 기능과 작동 메커니즘을 분석합니다. 작업 모델과 판정 모델을 분리하여 종료 조건을 자동으로 검증하는 방식과 효율적인 사용 가이드를 제공합니다.

핵심 포인트

  • 작업 모델과 판정 모델(Haiku)을 분리하여 객관적 종료 판정 수행
  • 측정 가능하고 검증 가능한 종료 조건을 설정하는 것이 핵심
  • 주관적인 조건 대신 테스트 통과 여부 등 명확한 지표 사용 권장
  • 토큰 무한 소모 방지를 위해 턴 수 제한 등 안전장치 포함 필요

2026년 6월 시점의 개인용 메모. Claude Code는 거의 매일 업데이트가 이루어지므로, 실제로 사용할 때는

claude --version

/release-notes

로 최신 버전을 확인할 것.

/goal

공식 Claude Code에 실제로 존재하는 내장 명령어였다. 2026년 5월 11일 v2.1.139에서 추가된 것. 하는 일은 심플하며,

"
완료 조건을 한 줄로 선언하면, 그 조건이 충족될 때까지 Claude가 턴을 넘기며 알아서 작업을 계속해 준다"

이것뿐이다. 평소라면 매 턴마다 "계속해"라고 말해야 하는 부분을, 종료 조건을 미리 정해두면 방치할 수 있다는 이야기다.

메커니즘이 흥미로운데, 작업하는 모델과 "끝났는지 판정하는 모델"이 분리되어 있다. 각 턴이 끝날 때마다 별도의 작고 빠른 모델(기본값은 Haiku)이 대화 로그를 읽고 "조건을 충족했는가? yes / no"를 반환한다. no라면 이유가 다음 턴의 지시사항으로 주입되어 한 바퀴 더 돌고, yes가 되면 goal이 자동으로 클리어된다.

VentureBeat의 기사에서 Sprinklr의 직원이 했던 말이 핵심을 찔렀다(의역). "자신의 숙제를 스스로 채점하게 해서는 안 된다. 작업 중인 모델이야말로 끝났는지 여부를 판단하는 판정자로서는 최악이다". 그래서 builder와 judge를 나누고 있다는 것이다.

/goal <조건> # 골을 설정. 즉시 실행됨 ("해줘"라고 할 필요 없음)
/goal # 인자 없음. 현재 상태(조건·경과 시간·턴 수·토큰·최근 판정 이유)를 표시
/goal clear # 해제. stop / off / reset / none / cancel로도 동일
  • 1세션당 골은 하나만 가능. 새로운 /goal은 기존 것을 덮어쓴다.
  • 조건은 최대 4,000자.
  • /clear로 대화를 리셋하면 goal도 함께 사라진다.
  • 인터랙티브 / -p (headless) / 데스크톱 앱 / 원격 제어에서 사용할 수 있다.
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

이것만으로 완주할 때까지 실행된다. 멈추고 싶다면 Ctrl+C. cron이나 CI에서 호출한다면 이 형태를 사용한다.

이 부분이 가장 중요해 보인다. "검증 가능한 종료 상태가 있는 태스크"에만 사용한다.

  • 좋은 예:
    all tests in test/auth pass (npm test exits 0), the module compiles and every call site is migrated

  • 나쁜 예:
    make it production-ready, make the UI better
    ← 주관적인 조건은 토큰을 계속 소모하며 영원히 끝나지 않는다.

개인용 템플릿으로서, 다음과 같은 4요소로 작성하는 것이 좋아 보인다 (공식에서 명시한 것은 처음 3가지. 4번째는 "무인 실행이라면 넣어두라" 정도의 뉘앙스):

/goal implement dark mode matching the Figma spec, # 1. 측정 가능한 종료 상태
all tests pass (npm test exits 0), # 2. 검증 방법
do not modify existing API contracts, # 3. 지켜야 할 제약
...
  • 토큰 예산은 내장되어 있지 않다. 모호한 조건으로 밤새 방치했다가 토큰을 다 써버리는 사고 보고가 있음. 조건에 or stop after N turns를 반드시 포함할 것.
  • 판정 모델은 로그만 읽는다. 툴을 직접 실행하거나 파일을 읽지는 않는다. 따라서 Claude가 "테스트를 통과한 것 같다"라고만 쓰고 실제로는 실행하지 않았더라도, judge는 잘못하여 yes를 반환할 수 있다. → 조건에 "npm test를 실행하여 exit 0을 확인"이라고 적어 증거를 강제할 것.
  • pause / resume은 없다. OpenAI의 Codex CLI 버전 /goal

에는 create/pause/resume/clear가 있지만, Claude Code 버전은 「active → 달성 시 자동 clear 또는 수동 clear」뿐이다. 혼동하지 말 것. -
복합 목표에 취약함. 「인증 로직 재작성 + OAuth 추가 + 테스트 + 문서 업데이트」와 같이 한꺼번에 몰아넣은 작업은 judge가 처리하지 못한다. 검증 가능한 end state (종료 상태) 단위로 분할할 것. -
trust dialog (신뢰 대화) 승인이 완료된 워크스페이스가 필요함. disableAllHooks가 설정되어 있으면 사용할 수 없다 (judge가 hooks 메커니즘을 사용하기 때문).

기능역할/goal과의 관계
/plan (plan mode)읽기 전용으로 계획만 수립. 구현은 하지 않음/goal은 계획 이후의 「실행 루프 (execution loop)」. 대체재가 아닌 상보적 관계
/loop일정 시간 간격으로 동일한 프롬프트를 재실행 (배포 모니터링 등)/goal은 조건 기반. 종료 후 멈추는 용도는 이쪽
auto mode턴 내의 도구 승인을 자동으로 허용함auto mode + /goal이 완전 자율 주행의 정석 조합
Stop hook설정 파일에서 영구적으로 정의하는 메커니즘/goal은 해당 세션 한정 버전 (내용은 prompt-based Stop hook)
Agent View (claude agents)여러 백그라운드 세션을 관리하는 대시보드v2.1.139에서 동시 구현. /bg와 조합하면 병렬 모니터링 가능

공식(Boris Cherny) 권장 워크플로우는 「Plan mode로 계획을 구체화 → auto-accept로 전환하여 실행」하는 2단계 방식이다. /goal은 이 실행 단계에 끼워 넣는 이미지다.

환경 확인: claude --version으로 v2.1.139 이상인지 확인. 낮다면 claude update. 대상 디렉토리에서 한 번 실행하여 trust를 승인할 것. -
작게 시작하기: 30분 이내에 끝나는 검증 태스크로 진행. 먼저 git status를 통해 클린 상태를 만들고 현재 테스트 실패 횟수를 기록해둘 것. /goal all tests in test/auth pass (npm test exits 0), do not modify files outside test/auth or src/auth, do not delete or skip tests, or stop after 15 turns -
auto mode와 조합: Shift+Tab으로 permission mode를 auto까지 돌린다. 이렇게 하면 승인 클릭이나 「계속(continue)」 입력이 필요 없어진다. -
모니터링 운영: /bg로 백그라운드화 → claude agents로 목록 모니터링. 진행 상황은 인자 없이 /goal을 입력하여 judge의 최근 이유를 읽는다. 폭주하면 /goal clear, 안 되면 Ctrl+C. -
야간 배치: claude -p "/goal <턴 상한이 포함된 조건>"를 cron 또는 GitHub Actions에서 실행.

중단 시점의 기준:

  • judge의 이유가 3턴 연속으로 동일함 → 루프(loop)에 빠짐. 수동 개입 필요.
  • 토큰 사용량이 예상의 2배를 초과함 → 조건이 모호함. clear 후 다시 작성.
  • 조건에 「production-ready」, 「looks good」 같은 주관적인 단어가 포함됨 → 애초에 /goal에 적합하지 않음.

사실 OpenAI의 Codex CLI가 11일 더 빠르다. Codex CLI v0.128.0(2026년 4월 30일)에 /goal이 포함되었고, Claude Code의 v2.1.139는 5월 11일이다. 양사 모두 「코딩 에이전트의 장시간 자율 주행」을 표준 기능으로 가져가려는 흐름 속에 있다. Anthropic의 차별점은 기능의 선점 여부가 아니라, builder/judge 분리 구현의 정교함이라는 평가였다.

공식 커맨드 해설:
https://code.claude.com/docs/en/goal ("Keep Claude working toward a goal") -
커맨드 목록:
https://code.claude.com/docs/en/commands

  • CHANGELOG:
    https://code.claude.com/docs/en/changelog

(v2.1.139 항목)

  • VentureBeat "Claude Code의 '/goals'는 작업하는 에이전트와 완료를 결정하는 에이전트를 분리한다"
  • Codex CLI 측:
    https://github.com/openai/codex/releases/tag/rust-v0.128.0

⚠️ 메모 주의사항: 4요소 템플릿, "3턴 연속 동일 이유" 임계값, 토큰 소진 (Token burn) 사례 등은 커뮤니티 블로그/Medium에서 유래한 2차 정보임. 공식적으로 명시된 것은 "측정 가능한 종료 상태 / 검증 방법 / 준수해야 할 제약"의 3요소까지임.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0