AI 생성 이미지
Claude Code의 /goal은 긴 작업에서 “계속해줘”를 반복하지 않도록 돕는 목표 기반 실행 명령입니다. 사용자가 완료 조건을 설정하면 Claude는 그 조건이 충족될 때까지 턴을 이어갑니다. 이 기능은 Claude Code v2.1.139 이상에서 사용할 수 있습니다.1
중요한 변화는 단순한 자동 반복이 아닙니다. /goal은 작업을 시작하기 전에 “무엇을 하면 끝났다고 볼 것인가”를 명확히 쓰게 만듭니다. AI 코딩 에이전트를 잘 쓰는 기준이 프롬프트의 길이보다 완료 조건의 품질로 옮겨가는 셈입니다.
/goal이 하는 일
/goal은 현재 세션에 하나의 완료 조건을 설정합니다. 예를 들어 “auth 관련 테스트가 모두 통과하고 lint 오류가 없으면 완료”처럼 적으면, Claude는 각 턴을 마친 뒤 목표 달성 여부를 평가받습니다.1
이 평가는 작업을 수행한 Claude가 직접 판단하지 않습니다. 매 턴이 끝날 때 작은 고속 모델이 /goal 조건과 대화 내용을 검토해 “예” 또는 “아니오”로 판단합니다. 기본 평가 모델은 Haiku입니다.1
평가 결과가 “아니오”이면 Claude는 사용자 입력 없이 다음 턴을 시작합니다. “예”이면 목표가 자동으로 해제되고, 달성 기록이 대화 transcript에 남습니다.1
즉 /goal은 Claude가 몇 시간 동안이라도 필요한 작업을 계속하게 만들 수 있지만, 그 전제는 명확한 종료 조건입니다. 조건이 흐리면 자동화의 이점보다 불필요한 반복과 변경 범위 확대가 더 커질 수 있습니다.
좋은 /goal 조건의 기준
/goal의 성패는 조건이 얼마나 검증 가능한지에 달려 있습니다. 평가 모델은 파일을 직접 읽거나 명령을 실행하지 않습니다. 따라서 Claude가 실행 결과나 확인 근거를 대화에 남겨야 평가자가 목표 달성 여부를 판단할 수 있습니다.1
좋은 조건에는 보통 세 가지가 들어갑니다.
측정 가능한 종료 상태
그 상태를 확인할 명령이나 증거
바꾸면 안 되는 제약
예를 들어 “코드를 깔끔하게 리팩터링”은 모호합니다. 반면 “테스트 종료 코드가 0이고, lint가 통과하며, public API는 변경하지 않는다”는 평가하기 쉽습니다. Claude가 무엇을 해야 하는지뿐 아니라 무엇을 하면 안 되는지도 분명해집니다.
조건은 최대 4,000자까지 작성할 수 있습니다. 다만 한 세션에서 동시에 활성화할 수 있는 목표는 하나뿐입니다. 이미 목표가 활성화된 상태에서 새 /goal을 입력하면 기존 목표는 새 조건으로 대체됩니다.1
어디에 쓰면 좋은가
/goal은 끝 상태가 분명한 작업에 잘 맞습니다. 예를 들면 다음과 같은 경우입니다.
실패하는 테스트를 고쳐 전체 테스트를 통과시키기
특정 API 마이그레이션을 완료하고 관련 검사 통과시키기
정해진 이슈 목록을 처리하고 결과를 요약하기
lint, typecheck, 테스트를 기준으로 코드 변경 마무리하기
반대로 사람의 판단이나 승인이 핵심인 작업에는 단독으로 쓰기 어렵습니다. 제품 방향 결정, 보안 승인, 배포 권한 변경처럼 결과의 타당성을 사람이 검토해야 하는 일은 /goal의 자동 반복에 맡기기보다 중간 확인 지점을 두는 편이 안전합니다.
실무에서는 조건에 멈춤 기준을 함께 넣는 것이 좋습니다. 예를 들어 “20턴 안에 완료하지 못하면 남은 blocker를 요약하고 멈춘다”처럼 상한을 두면 비용과 변경 범위를 관리하기 쉽습니다.
핵심은 “무엇이면 끝인가”다
/goal은 Claude에게 일을 더 많이 시키는 기능이라기보다, 사람이 정한 완료 조건까지 꾸준히 진행하게 만드는 기능입니다. 그래서 이 기능을 잘 쓰려면 작업 지시보다 종료 기준을 먼저 생각해야 합니다.
앞으로 Claude Code에서 중요한 질문은 “무엇을 시킬까”만이 아닙니다. 더 실용적인 질문은 “무엇이면 끝났다고 판단할 수 있을까”입니다. /goal은 그 질문을 명령어 수준으로 끌어올린 기능입니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
