콘텐츠로 이동

01-개념

01. 개념 — 분리 컨텍스트가 핵심

섹션 제목: “01. 개념 — 분리 컨텍스트가 핵심”

“Subagents are specialized AI assistants that handle specific types of tasks. Each subagent runs in its own context window with a custom system prompt, specific tool access, and independent permissions.”
의역: “서브에이전트는 특정 종류의 작업을 처리하는 전문 AI 어시스턴트다. 각 서브에이전트는 자기만의 컨텍스트 윈도우, 커스텀 시스템 프롬프트, 한정된 도구 접근권, 독립 권한으로 동작한다.”
— Anthropic, Create custom subagents

핵심은 분리된 컨텍스트다. Simon Willison의 표현이 명확하다:

“When a parent agent uses a subagent, it ‘effectively dispatches a fresh copy of itself to achieve a specified goal, with a new context window that starts with a fresh prompt.’”
의역: “부모 에이전트가 서브에이전트를 쓰면, 사실상 자기 자신의 새 사본을 띄워 새 컨텍스트 윈도우와 새 프롬프트로 특정 목표를 수행하게 만드는 것이다.”

이게 왜 중요한가? 컨텍스트 한계 때문이다. 메인 대화에 대규모 검색 결과나 긴 파일 내용을 넣으면 토큰이 빠르게 소진된다. 서브에이전트가 그것을 자기 컨텍스트에서 처리하고 결과 요약만 부모에게 돌려주면, 부모의 컨텍스트는 깨끗하게 유지된다.

  • Preserve context — 탐색·구현을 메인 대화 밖으로 빼낸다.
  • Enforce constraints — 도구 권한을 한정한다.
  • Reuse configurations — 사용자 레벨로 두고 프로젝트 간 재사용.
  • Specialize behavior — 특정 도메인을 위한 시스템 프롬프트.
  • Control costs — Haiku 같은 더 싼 모델로 라우팅.
서브에이전트모델도구용도
ExploreHaiku읽기 전용코드베이스 검색·이해
Plan부모 상속읽기 전용Plan 모드에서 컨텍스트 수집
general-purpose부모 상속전체복잡한 다단계 작업

Explore가 가장 자주 자동 호출된다. 코드베이스를 처음 이해할 때 부모는 Explore에게 “thoroughness”(quick/medium/very thorough)를 명시해 위임한다.

Simon Willison의 경고:

“The root agent remains ‘perfectly capable of debugging or reviewing its own output provided it has the tokens to spare.’”
의역: “루트 에이전트는 토큰만 있으면 자기 출력을 디버깅·리뷰하는 데 충분히 능숙하다.”

sshh도 같은 입장이다 — 서브에이전트는 컨텍스트를 게이트하고 워크플로우를 경직시킨다. 그래서 그는 빌트인 Task()로 메인 에이전트가 자기 위임을 관리하게 둔다 (“Master-Clone” 아키텍처).

: 컨텍스트 비용이 명확히 큰 작업(대규모 탐색, 반복적 검증)에만 커스텀 서브에이전트를 만든다. 그 외엔 메인이 처리.