클레어가 목표를 향해 계속 노력하도록 하세요
Claude Code /goal은 완료 조건이 충족될 때까지 클로드가 매 턴 알아서 작업을 이어가는 자율 실행 명령어입니다. Anthropic이 2026-05 공식 docs에 추가했고, OpenAI Codex도 같은 시기에 /goal 워크플로우를 정식 출시했습니다.
흥미로운 점은 이 기능이 "더 똑똑한 모델"의 산물이 아니라는 것입니다. 작년부터 커뮤니티에서 돌던 Ralph Wiggum 루프 — bash 무한 루프에서 같은 repo 컨텍스트를 매번 다시 로드시키는 패턴 — 을 두 회사가 거의 동시에 제품화한 결과입니다.
이 글은 nurijanian의 원본 글을 기반으로 합니다. 단순한 명령어 사용법이 아니라, /goal이 PM과 개발자의 일을 어떻게 바꾸는지, 그리고 약한 goal과 강한 goal의 6가지 차이를 한국 시장 맥락에서 정리 합니다.
이 글을 읽으면 얻는 것
/goal이 단순한 자동화가 아니라 "doing vs judging 분리" 구조라는 점을 이해합니다.약한 goal과 강한 goal의 차이를 6가지 항목으로 비교한 표를 확보합니다.
바로 복붙해서 쓸 수 있는 강한 goal 템플릿을 가져갈 수 있습니다.
/goal이 잘 작동하는 5가지 영역과 위험한 영역을 구분할 수 있습니다.
PM이 요구사항 작성을 어떻게 바꿔야 하는지 실전 변환 예시를 확인합니다.
준비물
Claude Code v2.1.80+ 또는 Codex CLI 0.128.0+
작업 대상 레포지토리(테스트가 돌아가는 상태가 이상적)
완료 조건을 검증할 수 있는 명령어(테스트, 린트, 타입체크 등)
변경 범위를 정의할 수 있는 디렉토리/파일 경로
/goal 명령어가 뭔가요?
/goal은 한 번의 프롬프트에 완료 조건을 걸어두면, 클로드가 그 조건이 충족될 때까지 매 턴 다음 작업을 알아서 이어가는 슬래시 명령어입니다.
핵심은 매 턴이 끝날 때마다 별도의 빠른 모델(평가자)이 "이 조건이 만족되었는가?"를 판정하는 구조라는 점입니다. 단순히 길게 일하는 것이 아니라, 검증 가능한 완료 상태를 향해 움직입니다.
# 기본 형태
/goal [완료 조건을 자연어로 명확히 기술]기본 사용 예시는 다음과 같습니다.
/goal --tokens 250K test/auth 폴더의 모든 테스트가 통과하고 lint도 깨끗할 것평가자는 도구를 직접 쓸 수 없고, Claude가 대화에 표시한 출력만 봅니다. 따라서 작업하는 에이전트가 테스트 결과·린트 출력·diff·상태 보고서를 명시적으로 대화에 표시해야 평가자가 판단할 수 있습니다. doing(작업)과 judging(완료 판단)이 완전히 분리된 구조입니다.
Ralph Wiggum 루프 — /goal의 원형
/goal 이전에 커뮤니티에서 먼저 돌던 패턴이 Ralph Wiggum 루프입니다. 심슨의 라프 위검에서 따온 이름으로, "끈질기게 같은 일을 반복하는" 캐릭터에서 영감을 받았습니다.
핵심 동작은 단순합니다.
bash 무한 루프(
while true)에 에이전트를 넣습니다.매 반복마다 같은 repo 컨텍스트(spec, plan, task list, test suite, status notes)를 다시 로드합니다.
에이전트는 spec과 plan을 읽고, 다음 미완료 작업을 선택하고, 구현하고, 테스트를 돌리고, 통과하면 task를 완료 처리한 뒤 다시 시작합니다.
여기서 핵심은 모델이 더 똑똑해진 것이 아니라 fresh context의 힘이라는 점입니다. 60,000 토큰까지 부풀어 오른 채팅 메모리 대신, 매 턴 외부 파일(spec.md, plan.md, status.md)을 다시 읽기 때문에 컨텍스트 로트(Context Rot)에서 자유롭습니다.
/goal은 이 패턴에 제품 디자인을 입힌 것입니다. 평가자를 분리하고, 토큰 한 도와 턴 한도를 기본으로 두고, 평가 결과에 따라 자동 종료하는 구조까지 들어왔습니다.
약한 /goal vs 강한 /goal — 6가지 차이
여기가 이 글의 핵심입니다. 같은 /goal 명령어라도 작성 방식에 따라 결과가 극명하게 갈립니다.
약한 goal 예시:
/goal improve onboarding에이전트는 무엇이든 할 수 있습니다. 버튼 이름을 바꾸고, 체크리스트를 추가하고, 카피를 다듬고, 화면을 단순화하고, 테스트를 만들고, 그럴듯한 PR을 올립니다. 하지만 온보딩이 실제로 개선되었는지 판정할 방법이 없습니다. 그래서 에이전트는 "증명하기 쉬운 것"을 최적화하기 시 작합니다. 스크린샷이 깔끔해 보이게, 테스트가 통과하게, 단계가 줄어들게 — 제품이 진짜 좋아졌는지와 무관합니다.
강한 goal 예시:
/goal docs/onboarding-spec.md에 정의된 새 온보딩 체크리스트 구현.
spec의 모든 acceptance criteria 통과.
npm test -- onboarding 종료 코드 0.
npm run lint 종료 코드 0.
app/onboarding, components/onboarding, test/onboarding 외 파일 수정 금지.
20턴 후 어떤 criterion이 차단되면 status report와 함께 정지.이 둘의 차이를 6가지 항목으로 정리하면 다음과 같습니다.
항목
약한 goal
강한 goal
목표 상태
"더 좋게 만들어줘"(주관적 형용사)
"X 동작이 가능하고 Y 테스트가 통과"(관찰 가능한 상태)
진실의 원천
채팅 메모리에 의존
외부 파일(spec.md, plan.md, status.md)을 매 턴 reload
수락 기준
없음
객관적으로 확인 가능한 항목 리스트(긍정/부정/회귀 케이스 포함)
검증 방법
"