Skip to main content
이 가이드에서는 W&B Weave를 사용하여 하위 에이전트를 트레이스하는 방법을 보여줍니다. 이를 통해 위임된 에이전트 호출이 상위 턴과 동일한 트레이스 내에서 중첩된 span으로 나타납니다. 하위 에이전트를 트레이스하면 상위 에이전트가 호출한 전문 에이전트, 그들이 수행한 작업, 최종 답변에 기여한 방식을 포함하여 에이전트의 전체 추론 계층 구조를 확인할 수 있습니다. 이 가이드는 Weave로 멀티 에이전트 시스템을 계측하는 개발자를 위한 것입니다. 하위 에이전트는 턴 내에서 실행되는 위임된 에이전트 호출입니다. 감독 에이전트가 전문 에이전트를 디스패치하는 경우와 같이, 한 에이전트가 다른 에이전트로 작업을 넘길 때 하위 에이전트를 사용하세요. Weave로 계측하면 하위 에이전트는 상위 턴과 동일한 트레이스 내에서 중첩된 invoke_agent OpenTelemetry (OTel) span을 내보냅니다. Agents 뷰에서 이 중첩은 이를 트리거한 턴 아래에 하위 에이전트 호출로 렌더링되며, 자체 LLM Call과 도구 Call이 그 아래에 그룹화됩니다.

하위 에이전트 데이터 모델

코드에 계측을 추가하기 전에 Weave가 트레이스에서 하위 에이전트를 어떻게 표현하는지 이해하면 도움이 됩니다. weave.start_subagent span은 OTel invoke_agent span에 매핑되며 상위 turn과 동일한 오퍼레이션 이름을 내보냅니다. Weave는 트레이스의 부모-자식 관계를 통해 둘을 구분합니다:
하위 에이전트는 활성 대화의 conversation_id를 상속하므로 Agents 뷰에서 대화의 나머지 항목과 함께 그룹화됩니다.
weave.start_subagent는 OTel 컨텍스트에서 현재 활성 상태인 span의 하위 span이 자동으로 되는 invoke_agent span을 생성합니다. 일반적으로 상위 span은 상위 turn 또는 위임을 트리거한 LLM Call입니다. OTel 컨텍스트 전파가 상위-하위 관계를 처리하므로 명시적으로 위임할 필요가 없습니다.

단일 하위 에이전트 트레이스

다음 예시는 요청을 받아 Wikipedia 검색 도구로 답을 찾는 조사 전문 하위 에이전트에 위임하는 감독 에이전트를 실행합니다. Weave는 대화를 weave.start_conversation으로 감싼 다음 conversation.start_turn으로 감싸 전체 계층 구조를 캡처합니다. 그런 다음 전문 에이전트의 weave.start_subagent 블록을 사용해 하위 에이전트 트레이스를 캡처하고, 각 LLM Call과 도구 실행을 하위 span으로 기록합니다. 이 예시에서는 에이전트 간 트레이스에 집중하기 위해 라우팅 로직을 의도적으로 생략했습니다.
Agents 뷰에서 하위 에이전트는 턴 내부에 중첩된 invoke_agent 블록으로 표시되며, 자체 LLM Call과 도구 Call이 그 아래에 그룹화됩니다. 감독 에이전트의 직접 LLM Call은 하위 에이전트와 동일한 계층에 유지됩니다.

여러 하위 에이전트 트레이스

다음 예시는 단일 요청을 처리하기 위해 동일한 부모를 가진 세 하위 에이전트에 순서대로 작업을 위임하는 콘텐츠 파이프라인 에이전트를 실행합니다. researcher는 사실을 수집하고, writer는 게시물 초안을 작성하며, reviewer는 최종 출력을 다듬습니다. Weave는 각 하위 에이전트에 대해 별도의 weave.start_subagent 블록을 열어 세 하위 에이전트 모두를 같은 턴 아래의 형제 관계로 캡처합니다. 각 하위 에이전트가 활성 턴의 OTel 컨텍스트를 상속하므로, 하위 에이전트는 서로의 하위가 아니라 해당 턴 아래에 중첩된 동등한 invoke_agent span으로 표시됩니다.
Agents 뷰에서 턴에는 동일한 부모를 공유하는 세 개의 하위 에이전트 호출이 포함되어 있으며, 각 호출 아래에는 해당 LLM Call이 중첩되어 있고, researcher에는 도구 Call이 포함되어 있습니다. 하위 에이전트 중 어느 것도 다른 하위 에이전트의 자식이 아닙니다.

중첩된 하위 에이전트 트레이스

하위 에이전트는 자체적으로 다른 하위 에이전트에게 위임할 수 있습니다. 각 start_subagent 호출은 OTel 컨텍스트에서 현재 활성인 span 아래에 중첩됩니다.
이 예시는 턴 아래에 3단계의 중첩 구조를 생성합니다.
Agents 뷰에서 research-coordinator는 턴의 하위 에이전트로 표시되고, anthropic-researcher와 openai-researcher는 coordinator 아래의 sibling으로 표시되며, anthropic-summarizer는 anthropic-researcher의 하위 에이전트로 표시됩니다.
마지막 수정일 2026년 9월 30일