← 목록으로

멀티 에이전트 소환

/goal 한 줄을 선언하면, Claude가 에이전트 팀을 꾸려 끝까지 갑니다

하네스 엔지니어링 도구 멀티 에이전트 소환
한 세션의 한계

모든 명령을 한 대화 세션에 다 넣으면, 세 가지 문제가 발생합니다

"자료 전체를 검수해 고쳐라" 수준의 업무를 한 번에 맡겼을 때 나타나는 현상입니다

에이전트 게으름

일을 끝까지 하지 않고 절반쯤에서 "다 했다"며 멈춥니다.

Agentic laziness · 10개를 시켰는데 3개만 하고 마무리

자기 편향

다른 가능성보다 자기가 먼저 낸 결론을 계속 옳다고 여깁니다.

Self-preferential bias · 자기 답을 자기가 후하게 평가

목표 표류

대화가 길어지는 사이에 처음 받은 목표에서 조금씩 멀어집니다.

Goal drift · 긴 작업 끝에 다른 일을 하고 있음

처방은 두 가지입니다. 목표를 선언해 고정하고, 일을 팀으로 나눕니다.
이 두 가지를 포괄하는 명령이 /goal입니다.

출처: Anthropic, "A harness for every task: dynamic workflows in Claude Code" · 원문

/goal 선언

지시가 아니라 목표를 선언합니다

보통의 지시는 "이것을 해 주세요"입니다. Claude가 답을 한 번 내놓으면 거기서 끝납니다. /goal은 종료 기준 자체를 바꿉니다. 목표를 선언하면 Claude는 "답을 다 했습니다"가 아니라 "조건이 달성됐습니다"를 끝으로 삼습니다. 멈추려 할 때마다 목표가 정말 달성됐는지 검사받기 때문에, 중간에 그만두지 못하고 끝까지 갑니다.

지시: 한 번 답하면 끝

"보고서 초안 주세요"
  • 초안 하나를 내놓으면 임무 완료
  • 품질이 기준에 미치는지는 묻지 않음
  • 부족하면 사람이 다시 시켜야 함

목표 선언: 조건 달성까지

"이번 분기 시장 조사 자료를 임원 보고 수준으로 정리하라"
  • 멈추려 할 때마다 달성 여부를 검사받음
  • 미달이면 스스로 다음 작업을 이어감
  • 사람은 목표와 최종 판정만 맡음
한 문장으로

/goal은 "무엇을 해라"가 아니라 "어떤 상태가 되면 끝났다고 인정하겠다"를 거는 명령입니다. 일의 단위가 답변 한 개에서 목표 달성으로 바뀝니다.

팀 설계

다이내믹 워크플로우Claude Code

용어 정리

하네스는 AI에게 일을 시키는 구조 전체입니다. 역할·기준, 맥락, 도구, 작업 흐름, 가드레일 다섯 요소로 이루어지고(하네스 엔지니어링), 워크플로우는 그중 작업 흐름입니다. /goal을 선언하면 Claude가 이 작업 흐름을 그 자리에서 직접 짭니다. 코드나 설정은 필요 없습니다.

작업 흐름에 반복해 쓰이는 패턴은 여섯 가지입니다. 앞의 둘은 배치 뼈대, 뒤의 넷은 품질 장치입니다. 조합은 Claude가 하므로 결과를 검토할 수 있을 정도만 알면 됩니다.

이 기능은 Claude Code 전용입니다. Codex는 서브에이전트로 대응하며, 역할을 미리 정의해 두고 불러 씁니다.

1펼치고 합치기 (Fan-out)
과제 종합 (Synthesize)
검수와 수정 단계가 이렇게 움직입니다

일을 독립된 조각으로 펼쳐 여러 에이전트가 동시에 처리하고, 결과를 하나로 모읍니다. 여섯 관점의 검수도, 파일별 수정도 이 방식이라 사람이 순서대로 기다릴 필요가 없습니다.

2파이프라인 (Pipeline)
1단계 2단계 3단계 조각 A 조각 B 조각 C
여러 단계 작업이 이렇게 흐릅니다

조각마다 단계를 독립적으로 통과합니다. 빠른 조각은 앞 단계가 끝나는 즉시 다음 단계로 넘어가므로, 가장 느린 조각을 전원이 기다리는 일이 없습니다.

3적대적 검증 (Adversarial verification)
검증자 (Verifiers) 작업자 (Worker)
검증 단계가 이렇게 움직입니다

고친 에이전트와 별개의 에이전트가 결과를 깨뜨리려고 달려듭니다. 자기 답을 자기가 후하게 평가하는 자기 편향을 막는 장치입니다. 그래도 통과하면 신뢰도가 올라갑니다.

4심사위원단 (Judge panel)
A B C 독립 초안 3개 심사위원단 채택 장점 통합 (Synthesize)
정답이 하나로 정해지지 않은 설계에 씁니다

서로 다른 관점으로 초안 여러 개를 동시에 만들고, 별도 심사 에이전트들이 점수를 매깁니다. 1등안을 뼈대로 삼고 나머지 안의 좋은 점을 가져와 합칩니다.

5바닥까지 반복 (Loop-until-dry)
수색 찾기 (Find) 새 발견? 있음 → 다시 수색 없음 2회 연속 종료
빠짐없이 찾아야 하는 일에 씁니다

찾는 작업을 반복해서 돌리고, 새 발견이 두 차례 연속 나오지 않을 때 비로소 멈춥니다. "10개 찾으면 끝" 같은 고정 횟수로는 놓치는 꼬리까지 긁어냅니다.

6다각도 수색 (Multi-modal sweep)
대상 파일 구조로 수색 본문 내용으로 수색 고유명사로 수색 시간 순서로 수색
한 가지 검색 방식으로 부족할 때 씁니다

같은 대상을 서로 다른 방법으로 동시에 수색합니다. 각자는 다른 쪽이 뭘 찾았는지 모른 채 움직이고, 한 방식이 못 찾는 것을 다른 방식이 건져 올립니다.

직접 해보기

Claude Code와 Codex에서 /goal을 활용해 봅니다

목표 문장 하나를 다듬는 것이 이 실습의 전부입니다

1
Claude Code나 Codex를 열고 /goal을 입력합니다

슬래시 명령창에 /goal을 치고 목표 문장을 적습니다. 두 도구 모두 명령 이름이 같고, Codex에서는 /goal pause, resume, clear로 멈추고 되살립니다. 설치가 되어 있지 않다면 바이브 코딩 101에서 먼저 설치합니다.

2
목표 문장을 검증 가능하게 적습니다

좋은 목표 문장의 조건은 세 가지입니다. 완료를 검증할 수 있게(끝났는지 기계적으로 판정 가능), 품질 기준 명시(어느 수준이면 합격인지), 범위 명시(어디까지 건드려도 되는지).

3
중간 보고를 받습니다

발견을 모은 시점, 수정 계획이 선 시점처럼 방향을 점검할 지점에서 보고하게 합니다. 진행 중에도 사람이 끼어들 자리를 미리 만들어 두는 것입니다.

4
최종 승인은 사람이 합니다

목표 달성 보고가 오면 결과를 직접 확인하고 판정합니다. 실행은 맡기되 판단은 넘기지 않는 것이 /goal 사용의 기본 자세입니다.

나쁜 목표 문장

"이 자료 좀 더 좋게 만들어줘"
  • "좋게"가 무엇인지 판정할 수 없음
  • 품질 기준이 없어 어디서든 멈출 수 있음
  • 범위가 없어 엉뚱한 파일까지 손댈 수 있음

좋은 목표 문장

"이 폴더의 시장 조사 자료를 임원 보고 수준으로 정리하라. 수치마다 출처가 있고, 오탈자와 깨진 링크가 0건이면 완료다. 이 폴더 밖은 건드리지 마라"
  • 완료 조건을 기계적으로 판정 가능
  • 품질 기준이 숫자로 명시됨
  • 건드릴 범위가 분명함
완료 판정 체크리스트
  • 완료 조건을 항목별로 대조했다. 하나라도 미달이면 완료가 아니다
  • 수정된 파일이 목표에 명시한 범위 안에 있다
  • 수치와 출처는 보고에 의존하지 않고 원본에서 확인했다
  • 발송, 배포, 결제 등 되돌릴 수 없는 동작은 사람 승인을 거쳤다
템플릿

복사해서 바로 쓰는 /goal 템플릿

목표와 완료 조건, 범위는 두 도구가 같습니다. 진행 방식만 갈라 씁니다

Codex 템플릿에 나오는 explorerworker는 내장 역할이라 미리 만들어 둘 것이 없습니다. 그 밖의 역할이 필요할 때만 ~/.codex/agents/에 정의합니다.

Claude Code 템플릿
/goal (달성할 목표를 한 줄로 적는다)
  예) 이 폴더의 시장 조사 자료를 임원 보고 수준으로 정리하라

# 완료 조건 (이게 전부 충족돼야 끝난 것이다)
  · 모든 수치에 출처가 달려 있다
  · 오탈자와 깨진 링크가 0건이다
  · 페이지마다 핵심 메시지가 첫 화면에 보인다

# 범위
  · 이 폴더 안의 파일만. 다른 폴더는 건드리지 않는다

# 진행 방식
  · 이 작업에 맞는 다이내믹 워크플로우를 직접 설계해 실행하라
  · 검수는 관점별로 펼쳐서 병렬로 돌리고, 수정본은 수정하지 않은 에이전트가 적대적으로 검증하게 하라
  · 발견을 모두 수집하면 통합 보고를 먼저 하고, 수정은 승인 후 진행하라
Codex 템플릿 · 사전 준비 없음
/goal (달성할 목표를 한 줄로 적는다)
  예) 이 폴더의 시장 조사 자료를 임원 보고 수준으로 정리하라

# 완료 조건 (이게 전부 충족돼야 끝난 것이다)
  · 모든 수치에 출처가 달려 있다
  · 오탈자와 깨진 링크가 0건이다
  · 페이지마다 핵심 메시지가 첫 화면에 보인다

# 범위
  · 이 폴더 안의 파일만. 다른 폴더는 건드리지 않는다

# 진행 방식 (배치를 직접 지정한다)
  · 검수는 explorer 에이전트를 관점별로 나눠 병렬로 돌려라
  · 수정은 worker 에이전트에 파일 단위로 맡겨라
  · 수정본은 수정을 맡지 않은 에이전트가 다시 검증하게 하라
  · 발견을 모두 수집하면 통합 보고를 먼저 하고, 수정은 승인 후 진행하라
FAQ

자주 묻는 질문

/goal을 처음 쓸 때 가장 많이 나오는 질문들

일반 대화와 무엇이 다릅니까?
일반 대화는 한 세션 안에서 묻고 답하면 거기서 끝납니다. /goal은 목표를 선언하는 순간 에이전트 팀이 꾸려지고, 목표를 달성할 때까지 계획·실행·검증을 반복합니다. 짧은 질문은 대화로, 끝까지 완수해야 하는 큰 일은 /goal로 구분해 쓰는 것이 기본입니다.
진행 중에 멈추거나 방향을 바꿀 수 있습니까?
가능합니다. 목표 문장에 중간 보고 지점을 적어 두면 그 시점마다 사람이 진행 상황을 확인하고 방향을 조정할 수 있습니다. 보고 시점이 아니어도 언제든 직접 개입해 작업을 멈추거나 지시를 더할 수 있습니다.
비용은 얼마나 듭니까?
에이전트를 여럿 띄우는 만큼 일반 대화보다 토큰을 몇 배에서 수십 배까지 씁니다. 그래서 모든 일에 걸지 않고, 결과의 가치가 비용을 넘어서는 작업에만 겁니다. 자료 전체 검수, 대규모 문서 정리, 여러 출처 교차 확인 같은 일이 여기에 해당합니다. 처음에는 작은 목표로 한 번 돌려 사용량을 확인한 뒤 범위를 넓히는 편이 안전합니다.
틀리면 누가 책임집니까?
사람입니다. /goal은 실행을 맡기는 것이지 판단까지 넘기는 것이 아닙니다. 그래서 중간 보고 지점과 최종 승인 단계를 목표 문장에 미리 적어 둡니다. 사람의 최종 판정 없이는 결과를 내보내지 않는 것이 원칙입니다.
어디까지 맡겨도 됩니까?
되돌릴 수 있는 일은 넓게, 되돌릴 수 없는 일은 좁게 맡깁니다. 문서 작성, 코드 수정, 분석처럼 결과를 검토하고 되돌릴 수 있는 작업은 끝까지 맡겨도 됩니다. 발송, 배포, 결제처럼 되돌리기 어려운 동작은 반드시 사람 승인을 사이에 둡니다.
출처

마지막 과제는 목표 문장 한 줄입니다

맡길 업무 하나를 골라, 완료 조건과 범위를 포함한 목표 문장으로 옮겨 적습니다.