모든 명령을 한 대화 세션에 다 넣으면, 세 가지 문제가 발생합니다
"자료 전체를 검수해 고쳐라" 수준의 업무를 한 번에 맡겼을 때 나타나는 현상입니다
에이전트 게으름
일을 끝까지 하지 않고 절반쯤에서 "다 했다"며 멈춥니다.
자기 편향
다른 가능성보다 자기가 먼저 낸 결론을 계속 옳다고 여깁니다.
목표 표류
대화가 길어지는 사이에 처음 받은 목표에서 조금씩 멀어집니다.
출처: Anthropic, "A harness for every task: dynamic workflows in Claude Code" · 원문
지시가 아니라 목표를 선언합니다
보통의 지시는 "이것을 해 주세요"입니다. Claude가 답을 한 번 내놓으면 거기서 끝납니다. /goal은 종료 기준 자체를 바꿉니다. 목표를 선언하면 Claude는 "답을 다 했습니다"가 아니라 "조건이 달성됐습니다"를 끝으로 삼습니다. 멈추려 할 때마다 목표가 정말 달성됐는지 검사받기 때문에, 중간에 그만두지 못하고 끝까지 갑니다.
지시: 한 번 답하면 끝
- 초안 하나를 내놓으면 임무 완료
- 품질이 기준에 미치는지는 묻지 않음
- 부족하면 사람이 다시 시켜야 함
목표 선언: 조건 달성까지
- 멈추려 할 때마다 달성 여부를 검사받음
- 미달이면 스스로 다음 작업을 이어감
- 사람은 목표와 최종 판정만 맡음
/goal은 "무엇을 해라"가 아니라 "어떤 상태가 되면 끝났다고 인정하겠다"를 거는 명령입니다. 일의 단위가 답변 한 개에서 목표 달성으로 바뀝니다.
다이내믹 워크플로우Claude Code
하네스는 AI에게 일을 시키는 구조 전체입니다. 역할·기준, 맥락, 도구, 작업 흐름, 가드레일 다섯 요소로 이루어지고(하네스 엔지니어링), 워크플로우는 그중 작업 흐름입니다. /goal을 선언하면 Claude가 이 작업 흐름을 그 자리에서 직접 짭니다. 코드나 설정은 필요 없습니다.
작업 흐름에 반복해 쓰이는 패턴은 여섯 가지입니다. 앞의 둘은 배치 뼈대, 뒤의 넷은 품질 장치입니다. 조합은 Claude가 하므로 결과를 검토할 수 있을 정도만 알면 됩니다.
이 기능은 Claude Code 전용입니다. Codex는 서브에이전트로 대응하며, 역할을 미리 정의해 두고 불러 씁니다.
일을 독립된 조각으로 펼쳐 여러 에이전트가 동시에 처리하고, 결과를 하나로 모읍니다. 여섯 관점의 검수도, 파일별 수정도 이 방식이라 사람이 순서대로 기다릴 필요가 없습니다.
조각마다 단계를 독립적으로 통과합니다. 빠른 조각은 앞 단계가 끝나는 즉시 다음 단계로 넘어가므로, 가장 느린 조각을 전원이 기다리는 일이 없습니다.
고친 에이전트와 별개의 에이전트가 결과를 깨뜨리려고 달려듭니다. 자기 답을 자기가 후하게 평가하는 자기 편향을 막는 장치입니다. 그래도 통과하면 신뢰도가 올라갑니다.
서로 다른 관점으로 초안 여러 개를 동시에 만들고, 별도 심사 에이전트들이 점수를 매깁니다. 1등안을 뼈대로 삼고 나머지 안의 좋은 점을 가져와 합칩니다.
찾는 작업을 반복해서 돌리고, 새 발견이 두 차례 연속 나오지 않을 때 비로소 멈춥니다. "10개 찾으면 끝" 같은 고정 횟수로는 놓치는 꼬리까지 긁어냅니다.
같은 대상을 서로 다른 방법으로 동시에 수색합니다. 각자는 다른 쪽이 뭘 찾았는지 모른 채 움직이고, 한 방식이 못 찾는 것을 다른 방식이 건져 올립니다.
Claude Code와 Codex에서 /goal을 활용해 봅니다
목표 문장 하나를 다듬는 것이 이 실습의 전부입니다
슬래시 명령창에 /goal을 치고 목표 문장을 적습니다. 두 도구 모두 명령 이름이 같고, Codex에서는 /goal pause, resume, clear로 멈추고 되살립니다. 설치가 되어 있지 않다면 바이브 코딩 101에서 먼저 설치합니다.
좋은 목표 문장의 조건은 세 가지입니다. 완료를 검증할 수 있게(끝났는지 기계적으로 판정 가능), 품질 기준 명시(어느 수준이면 합격인지), 범위 명시(어디까지 건드려도 되는지).
발견을 모은 시점, 수정 계획이 선 시점처럼 방향을 점검할 지점에서 보고하게 합니다. 진행 중에도 사람이 끼어들 자리를 미리 만들어 두는 것입니다.
목표 달성 보고가 오면 결과를 직접 확인하고 판정합니다. 실행은 맡기되 판단은 넘기지 않는 것이 /goal 사용의 기본 자세입니다.
나쁜 목표 문장
- "좋게"가 무엇인지 판정할 수 없음
- 품질 기준이 없어 어디서든 멈출 수 있음
- 범위가 없어 엉뚱한 파일까지 손댈 수 있음
좋은 목표 문장
- 완료 조건을 기계적으로 판정 가능
- 품질 기준이 숫자로 명시됨
- 건드릴 범위가 분명함
- 완료 조건을 항목별로 대조했다. 하나라도 미달이면 완료가 아니다
- 수정된 파일이 목표에 명시한 범위 안에 있다
- 수치와 출처는 보고에 의존하지 않고 원본에서 확인했다
- 발송, 배포, 결제 등 되돌릴 수 없는 동작은 사람 승인을 거쳤다
복사해서 바로 쓰는 /goal 템플릿
목표와 완료 조건, 범위는 두 도구가 같습니다. 진행 방식만 갈라 씁니다
Codex 템플릿에 나오는 explorer와 worker는 내장 역할이라 미리 만들어 둘 것이 없습니다. 그 밖의 역할이 필요할 때만 ~/.codex/agents/에 정의합니다.
/goal (달성할 목표를 한 줄로 적는다) 예) 이 폴더의 시장 조사 자료를 임원 보고 수준으로 정리하라 # 완료 조건 (이게 전부 충족돼야 끝난 것이다) · 모든 수치에 출처가 달려 있다 · 오탈자와 깨진 링크가 0건이다 · 페이지마다 핵심 메시지가 첫 화면에 보인다 # 범위 · 이 폴더 안의 파일만. 다른 폴더는 건드리지 않는다 # 진행 방식 · 이 작업에 맞는 다이내믹 워크플로우를 직접 설계해 실행하라 · 검수는 관점별로 펼쳐서 병렬로 돌리고, 수정본은 수정하지 않은 에이전트가 적대적으로 검증하게 하라 · 발견을 모두 수집하면 통합 보고를 먼저 하고, 수정은 승인 후 진행하라
/goal (달성할 목표를 한 줄로 적는다) 예) 이 폴더의 시장 조사 자료를 임원 보고 수준으로 정리하라 # 완료 조건 (이게 전부 충족돼야 끝난 것이다) · 모든 수치에 출처가 달려 있다 · 오탈자와 깨진 링크가 0건이다 · 페이지마다 핵심 메시지가 첫 화면에 보인다 # 범위 · 이 폴더 안의 파일만. 다른 폴더는 건드리지 않는다 # 진행 방식 (배치를 직접 지정한다) · 검수는 explorer 에이전트를 관점별로 나눠 병렬로 돌려라 · 수정은 worker 에이전트에 파일 단위로 맡겨라 · 수정본은 수정을 맡지 않은 에이전트가 다시 검증하게 하라 · 발견을 모두 수집하면 통합 보고를 먼저 하고, 수정은 승인 후 진행하라
자주 묻는 질문
/goal을 처음 쓸 때 가장 많이 나오는 질문들
마지막 과제는 목표 문장 한 줄입니다
맡길 업무 하나를 골라, 완료 조건과 범위를 포함한 목표 문장으로 옮겨 적습니다.