기능

Subagents

Bob이 어떻게 subagents를 사용하여 메인 대화를 오염시키지 않고 격리된 컨텍스트에서 집중적이고 자기 완결적인 작업을 처리하는지 알아보세요.

subagents란?

subagent는 Bob이 spawn하여 집중적이고 자기 완결적인 작업을 처리할 수 있는 독립 에이전트입니다. 자체 격리된 context window에서 실행되고, 할당된 작업을 수행하며, 결과 요약을 메인 대화로 반환합니다.

subagents는 진행 중인 대화에 많은 양의 관련 없는 콘텐츠를 추가할 수 있는 작업에 유용합니다. 예를 들어 Bob이 메인 작업을 계속하기 전에 코드베이스의 특정 섹션을 깊이 탐색하여 특정 정보를 수집하는 경우입니다.

subagents 작동 방식

Bob이 subagent를 spawn하면:

  1. 자체 context window를 가진 새로운 독립 에이전트가 생성됩니다.
  2. Bob이 수행할 집중 작업에 대한 설명을 전달합니다.
  3. 시작 전에 spawn을 승인하도록 요청받습니다. Bob은 확인할 때까지 기다립니다.
  4. subagent가 사용 가능한 tools를 사용하여 작업을 실행합니다.
  5. subagent가 발견한 내용의 요약을 Bob에게 반환합니다.
  6. Bob은 그 요약을 사용하여 메인 대화를 계속합니다.

subagent는 메인 대화와 별도로 실행됩니다. Bob이 설명에서 명시적으로 전달하지 않는 한 상태, 파일 또는 tool 결과를 Bob과 공유하지 않습니다.

Subagent 유형

각각 서로 다른 작업에 적합한 두 가지 subagent 유형이 있습니다:

유형설명최적 용도
explore읽기 전용 코드베이스 탐색, 가벼운 모델에서 실행코드 검색 및 요약, 관련 파일 찾기, 구조 이해
general전체 tool 액세스, 기본 모델에서 실행읽기, 쓰기 또는 명령이 필요한 모든 자기 완결적 작업

컨텍스트와 대화 기록

기본적으로 subagent는 부모 대화 기록을 볼 수 없습니다. 이를 통해 컨텍스트를 가볍고 현재 작업에 집중된 상태로 유지합니다.

subagent가 대화에서 이전에 표현된 결정, 제약 조건 또는 환경 설정을 이해해야 할 때, Bob은 fork_context: true를 설정하여 대화 기록을 subagent에 전달할 수 있습니다.

모드 제한

작업 중인 모드는 Bob이 spawn할 수 있는 subagent 유형을 제어합니다. 모든 subagent 유형을 허용하는 모드도 있고, 특정 유형으로 spawn을 제한하거나 완전히 금지하는 모드도 있습니다. 활성 모드에서 subagent spawn이 허용되지 않으면 Bob은 spawn 없이 직접 작업을 완료합니다.

Bob이 subagents를 사용하는 시기

Bob은 subagents를 드물게 사용합니다. 기본값은 항상 subagent를 spawn하지 않고 직접 작업을 수행하는 것입니다. subagent는 다음 조건이 모두 충족될 때만 고려됩니다:

  • 작업이 명확히 자기 완결적이며 요약만 반환하면 됩니다.
  • 메인 컨텍스트에 상당한 양의 관련 없는 콘텐츠를 추가할 것입니다.
  • 하나 또는 두 번의 직접적인 tool 호출로 완수할 수 없습니다.

Bob은 다음에 대해 subagents를 사용하지 않습니다:

  • 단순한 파일 읽기나 빠른 검색.
  • 단일 tool 작업.
  • 관련 컨텍스트가 이미 사용 가능한 작업.

Subagents vs. subtasks

Subagents와 subtasks는 관련이 있지만 서로 다른 개념입니다:

SubagentSubtask
가시성백그라운드에서 자동으로 실행됨자체 breadcrumb 및 대화와 함께 UI에 표시됨
상호작용비대화형 — 요약만 반환완전 대화형 — 진행 상황을 추적하고 대화를 계속할 수 있음
목적메인 컨텍스트를 오염시키지 않고 정보 수집 또는 격리된 작업 완료전용 추적과 별도 스레드의 이점을 받을 만큼 복잡한 작업 처리
출력Bob에게 반환되는 요약독립적인 대화 스레드

배경 정보 수집에는 subagents를 사용하세요. 가시성과 전용 대화의 이점을 받는 복잡한 작업에는 subtasks를 사용하세요.

subagent 동작 구성하기

.bob/agents/에 agent persona 파일을 만들어 subagent가 집중하는 내용, 출력 형식, 사용할 수 있는 tool을 제어할 수 있습니다. persona 파일은 subagent에 정의된 역할과 제약 조건을 부여합니다. 예를 들어, 심각도 순으로 정렬된 발견 사항 테이블을 생성하고 수정 사항을 제안하지 않도록 명시적으로 지시받은 코드 리뷰어가 있습니다.

설정 방법과 예시는 agent 페르소나를 참조하세요.

이 주제는 어떤가요?