병렬 도구 호출·서브에이전트 오케스트레이션 Anthropic 공식 가이드
문제 제기: 에이전트가 파일을 하나씩 읽고 있다
에이전트를 써보면 이런 상황이 있다.
10개 파일을 분석해달라고 했는데 하나씩 순서대로 읽는다.
3개의 API를 동시에 호출할 수 있는데 하나씩 기다린다.
이것이 왜 문제인가.
파일 하나 읽는 데 1초라면, 10개를 순차로 읽으면 10초, 병렬로 읽으면 1초다.
복잡한 리서치 작업에서 이 차이는 수분 단위가 된다.
Anthropic 공식 문서에 따르면
Claude 최신 모델들은 병렬 도구 실행을 뛰어나게 잘 한다.
다만 최적화하려면 프롬프트 설정이 필요하다.
공감: "병렬로 해줘"라고 말해도 잘 안 된다
단순히 "병렬로 실행해줘"라고 지시하면 잘 작동하지 않는 경우가 있다.
Claude가 어떤 작업을 병렬로 할 수 있고 어떤 작업은 순차로 해야 하는지 명확한 기준을 모르기 때문이다.
의존성이 있는 도구 호출은 병렬로 하면 안 된다.
A의 결과가 B의 입력이 되는 경우이다.
의존성이 없는 도구 호출은 병렬로 할 수 있다.
이 구분을 명확히 알려줘야 한다.
해결 1: 병렬 도구 호출 최대화 프롬프트
Anthropic 공식 최대 병렬화 프롬프트:
<use_parallel_tool_calls>
여러 도구를 호출하려고 하고 도구 호출 간에 의존성이 없다면,
모든 독립적인 도구 호출을 병렬로 실행하세요.
순차적으로 하는 것보다 가능할 때마다 동시에 도구를 호출하는 것을 우선시하세요.
예를 들어, 3개의 파일을 읽을 때는 3개의 도구 호출을 병렬로 실행해
3개 파일을 동시에 컨텍스트에 읽어오세요.
가능한 곳에서 병렬 도구 호출 사용을 극대화해 속도와 효율을 높이세요.
단, 일부 도구 호출이 이전 호출 결과에 의존하는 경우에는
이 도구들을 병렬로 호출하지 말고 순차적으로 호출하세요.
도구 호출에서 누락된 파라미터를 추측하거나 플레이스홀더를 사용하지 마세요.
</use_parallel_tool_calls>
반대로 병렬 실행을 줄이고 싶다면:
각 단계 사이에 짧은 멈춤을 두고 순차적으로 작업을 실행하세요.
해결 2: 서브에이전트 사용 제어
서브에이전트는 강력하지만 잘못 사용하면 오히려 느려진다.
Opus 4.8 기본 동작:
기본적으로 서브에이전트를 덜 생성하도록 설계되었다.
그러나 프롬프트로 조정 가능하다.
서브에이전트를 더 생성하도록 (Opus 4.8에서):
코딩 use case에서 서브에이전트가 언제 바람직한지 명시적인 가이드라인:
단일 응답에서 직접 완료할 수 있는 작업(예: 이미 볼 수 있는 함수 리팩터링)에
서브에이전트를 생성하지 마세요.
항목 전체에 걸쳐 분산 작업을 할 때나 여러 파일을 읽을 때는
같은 턴에 여러 서브에이전트를 생성하세요.
서브에이전트 과도 생성 방지 (Opus 4.6에서):
<subagent_guidelines>
다음 경우에 서브에이전트를 사용하세요:
- 병렬로 실행할 수 있는 작업
- 격리된 컨텍스트가 필요한 작업
- 상태를 공유할 필요 없는 독립적인 워크스트림
다음 경우에는 서브에이전트 대신 직접 작업하세요:
- 단순한 작업, 순차적 작업
- 단일 파일 편집
- 여러 단계에 걸쳐 컨텍스트를 유지해야 하는 작업
</subagent_guidelines>
해결 3: 장기 에이전트를 위한 상태 관리
복잡한 장기 작업에서 에이전트가 중간에 컨텍스트를 잃는 문제가 있다.
컨텍스트 자동 압축 환경 프롬프트:
컨텍스트 창이 한계에 가까워지면 자동으로 압축되어
중단된 곳에서 계속 작업할 수 있습니다.
따라서 토큰 예산 우려로 작업을 일찍 멈추지 마세요.
예산 한도에 가까워지면 컨텍스트 창이 새로 고침되기 전에
현재 진행 상황과 상태를 메모리에 저장하세요.
항상 최대한 자율적이고 끈기 있게 작업을 완전히 완료하세요.
남은 컨텍스트와 무관하게 작업을 인위적으로 일찍 멈추지 마세요.
상태 추적 베스트 프랙티스(Anthropic이 특히 효과적이라고 강조):
- 구조화된 데이터(테스트 결과, 작업 상태)는 JSON 사용
- 일반 진행 상황은 자유 형식 텍스트 사용
- git으로 상태 추적 — git은 무엇이 완료됐는지 로그와 복원 가능한 체크포인트 제공
- 점진적 진행에 집중: 한 번에 몇 가지에 꾸준히 진행
해결 4: 안전과 자율성의 균형
Opus 4.6은 가이드 없이 파일 삭제, force-push, 외부 서비스에 게시하는 등 되돌리기 어려운 작업을 할 수 있다.
Anthropic 공식 가이드라인 프롬프트:
<action_safety>
행동의 가역성과 잠재적 영향을 고려하세요.
파일 편집이나 테스트 실행 같은 로컬·가역 작업은 취해도 좋습니다.
되돌리기 어렵거나 공유 시스템에 영향을 주거나 파괴적일 수 있는 작업에 대해서는
진행 전에 사용자에게 확인하세요.
확인이 필요한 작업 예시:
- 파괴적 작업: 파일·브랜치 삭제, DB 테이블 드롭, rm -rf
- 되돌리기 어려운 작업: git push --force, git reset --hard, 게시된 커밋 수정
- 다른 사람에게 보이는 작업: 코드 push, PR 댓글, 메시지 전송, 공유 인프라 수정
</action_safety>
실전: 복잡한 리서치 에이전트 프롬프트
Anthropic이 제시하는 복잡한 리서치용 에이전트 프롬프트:
이 정보를 구조적으로 검색하세요.
데이터를 수집하면서 여러 경쟁 가설을 개발하세요.
진행 상황 노트에서 신뢰도 수준을 추적해 보정을 개선하세요.
정기적으로 접근 방식을 자기 비판하고 계획하세요.
가설 트리나 리서치 노트 파일을 업데이트해 정보를 유지하고 투명성을 제공하세요.
이 복잡한 리서치 작업을 체계적으로 분해하세요.
마치며
병렬 도구 호출과 서브에이전트 오케스트레이션은 에이전트의 속도와 능력을 한 단계 끌어올린다.
Claude 최신 모델들은 이 능력을 갖고 있지만,
프롬프트 없이는 최적화된 방식으로 동작하지 않을 수 있다.
- 의존성 구분을 명확히 알려주는 병렬 도구 호출 프롬프트,
- 적절한 서브에이전트 사용 기준,
- 안전 가이드라인을 더하면
에이전트가 훨씬 효율적이고 안전하게 작동한다.
📎 참고 출처
- Anthropic 공식 Prompting Best Practices: https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices
'AI' 카테고리의 다른 글
| Anthropic이 공식으로 밝힌 프롬프트 품질을 3배 높이는 5가지 기법 - 실전 예제 포함 (0) | 2026.06.10 |
|---|---|
| 인코더를 없앴더니 성능은 올라가고 메모리는 절반이 됐다 — Gemma 4 12B 아키텍처의 진짜 의미 (1) | 2026.06.08 |
| 클라우드 없이도 된다 — Gemma 4 12B, 16GB 노트북에서 돌아가는 멀티모달 AI의 실체 (0) | 2026.06.06 |
| '이거 전체 다 해줘' — AI에게 큰 작업을 통째로 맡기는 사람들의 비밀 (1) | 2026.06.04 |
| 월 100달러 AI 구독 전쟁 — Google AI Ultra, Claude Max, ChatGPT Pro 중 무엇을 골라야 하는가? (0) | 2026.06.02 |