현장에서 서브에이전트 설계가 꼬이는 순간은 비슷하다. 처음에는 리서처, 작성자, 검토자처럼 보기 좋은 이름을 붙인다. 며칠 뒤에는 같은 파일을 서로 고치고, 같은 질문을 반복하고, 최종 책임자가 없는 결과물이 쌓인다. 문제는 에이전트 수가 아니다. 경계를 어디에 그었는지다.
쪼개는 기준은 역할명이 아니다
서브에이전트는 사람의 직무를 복사하는 단위가 아니다. 실행 중 분리해야 할 상태, 권한, 실패 모드가 있을 때 자른다.
Claude Code의 공식 문서는 서브에이전트에 별도 system prompt, 도구 제한, 모델 선택, memory scope를 둘 수 있다고 설명한다. 즉 서브에이전트는 작은 챗봇이 아니라 실행 환경이 분리된 작업자다. Anthropic의 고급 패턴 자료도 잘 정의된 역할, 명확한 tool access, 성공 기준, 가벼운 결과 반환이 있을 때 서브에이전트가 맞는다고 정리한다. (code.claude.com)
서브에이전트를 나누는 질문은 누가 할 일인가가 아니라, 무엇을 격리해야 하는가다.
실무 기준은 네 가지다.
- context가 커져서 한 대화 안에서 판단 품질이 떨어진다.
- tool 권한을 다르게 줘야 한다.
- 산출물이 독립적으로 검증된다.
- 실패해도 전체 흐름을 멈추지 않고 재시도할 수 있다.
이 네 가지가 없으면 합친다. 이름만 다른 서브에이전트는 비용과 추적 난이도만 늘린다.
합쳐야 할 일도 분명하다
절차가 고정된 업무를 무조건 그래프로 쪼개면 운영이 무거워진다. 2026년 arXiv에 공개된 한 논문은 여행 예약, Zoom 기술 지원, 보험 청구 같은 절차형 과제에서 외부 오케스트레이터보다 절차 전체를 system prompt에 넣는 방식이 더 나은 결과를 보였다고 주장한다. 이 결론을 모든 업무에 일반화할 수는 없다. 그러나 하나는 분명하다. 절차형 업무는 먼저 단일 에이전트로 버텨보고, 병목이 확인된 뒤 분리한다. (arxiv.org)
| 판단 질문 | 쪼갠다 | 합친다 |
|---|---|---|
| context | 서로 다른 증거 묶음이 필요하다 | 같은 근거를 계속 본다 |
| 권한 | 읽기, 쓰기, 배포 권한이 다르다 | 같은 tool set을 쓴다 |
| 산출물 | 부분 결과가 독립 검수된다 | 최종 문맥 안에서만 의미가 있다 |
| 실패 처리 | 일부 실패를 재시도하거나 무시한다 | 한 단계 실패가 전체 실패다 |
| 책임 | manager가 취합하고 판정한다 | 한 agent가 끝까지 답해야 한다 |
서브에이전트는 병렬 처리를 위한 장식이 아니다. 책임 경계가 없는 병렬화는 빠른 혼란이다.
오케스트레이션은 상태 계약이다
OpenAI Agents SDK 문서는 두 가지 패턴을 구분한다. manager agent가 specialist를 tool처럼 호출하는 방식과, triage agent가 specialist에게 handoff해 대화 주도권을 넘기는 방식이다. 전자는 한 agent가 최종 답을 책임질 때 맞고, 후자는 specialist가 이후 턴을 직접 처리해야 할 때 맞다. (openai.github.io)
Google ADK도 workflow agent를 통해 sequential, parallel, loop 흐름을 명시하고, 동시에 agent-coordinated dynamic routing을 지원한다. 최근 Google Cloud 문서는 ADK가 multi-agent architecture와 실행 궤적 평가를 함께 다룬다고 설명한다. (google.github.io)
여기서 AX Ops의 설계 원칙은 단순하다. LLM에게 맡길 판단과 코드로 고정할 판단을 섞지 않는다. routing 기준, 입력 schema, output key, retry 조건, human approval 조건은 운영 규칙이다. 프롬프트 문장으로 숨기지 않는다.
기준은 실행 규칙으로 박아야 한다
서브에이전트 설계의 시작 산출물은 agent 목록이 아니다. 분리 기준표와 상태 계약서다. 어떤 작업은 manager가 끝까지 잡고, 어떤 작업은 handoff하고, 어떤 작업은 workflow로 고정할지 먼저 결정한다.
운영에 넣기 전 최소한 세 가지를 확인한다.
- 같은 요청을 반복 실행했을 때 routing이 흔들리지 않는다.
- subagent output이 다음 단계 입력으로 바로 들어간다.
- 실패 로그가 agent별이 아니라 업무 단계별로 남는다.
참고:
- Anthropic Claude Code Docs, Create custom subagents, 2026 현재 문서: https://code.claude.com/docs/en/sub-agents
- Anthropic, Claude Code Advanced Patterns: Subagents, MCP, and Scaling to Real Codebases, 2026: https://resources.anthropic.com/hubfs/Claude%20Code%20Advanced%20Patterns_%20Subagents%2C%20MCP%2C%20and%20Scaling%20to%20Real%20Codebases.pdf
- OpenAI, Agent Orchestration, Agents SDK Docs, 2026 현재 문서: https://openai.github.io/openai-agents-js/guides/multi-agent/
- Google Cloud, Agent Development Kit, last updated 2026-06-12: https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/adk
- Dennis et al., In-Context Prompting Obsoletes Agent Orchestration for Procedural Tasks, 2026: https://arxiv.org/abs/2604.27891
서브에이전트를 쪼개기 전에 운영 책임부터 쪼개야 한다. 그 기준을 설계하는 작업이 AX Ops의 agent-design 출발점이다. AX Ops 방법론 →
