Skip to main content
AutoGen은 Microsoft의 AI 에이전트 및 애플리케이션 구축을 위한 프레임워크입니다. 복잡한 멀티 에이전트 시스템 생성을 간소화합니다. AutoGen은 대화형 AI(AgentChat), 핵심 멀티 에이전트 기능(Core), 외부 서비스 인테그레이션(Extensions)을 위한 컴포넌트를 제공합니다. AutoGen은 또한 노코드 에이전트 프로토타이핑을 위한 Studio를 제공합니다. 자세한 내용은 공식 AutoGen 문서를 방문하세요.
이 가이드는 AutoGen에 대한 기본적인 이해를 전제로 합니다.
Weave는 AutoGen과 통합하여 멀티 에이전트 애플리케이션의 실행을 트레이스하고 시각화하는 데 도움을 줍니다. Weave를 초기화하면 autogen_agentchat, autogen_core, autogen_ext 내의 상호작용을 자동으로 트레이스합니다. 이 가이드는 Weave를 AutoGen과 설정하는 방법과 모델 클라이언트, 도구가 있는 에이전트, 그룹 채팅, 메모리, RAG 워크플로, 에이전트 런타임, 순차 워크플로, 코드 실행기를 다루는 예시를 안내합니다. 끝까지 따라오면 Weave에서 AutoGen 애플리케이션의 상세한 트레이스를 캡처하여 에이전트 동작을 디버그하고, LLM 사용량을 모니터링하며, 복잡한 워크플로에서 에이전트가 어떻게 상호작용하는지 이해할 수 있습니다.

사전 요구 사항

시작하기 전에 AutoGen과 Weave가 설치되어 있어야 합니다. 또한 사용하려는 LLM 공급자의 SDK도 필요합니다(예: OpenAI 또는 Anthropic).
모델 클라이언트가 다음 예시에서 사용되는 LLM 공급자에 인증할 수 있도록 API 키를 환경 변수로 설정하세요:

기본 설정

스크립트 시작 부분에서 Weave를 초기화하여 트레이스 캡처를 시작하세요. Weave를 초기화하면 이후 스크립트에서 발생하는 AutoGen Call이 자동으로 계측됩니다.
이 스니펫을 실행한 후, Weave는 autogen-demo 프로젝트로 트레이스를 전송하도록 설정되며, Weave는 스크립트에서 발생하는 후속 AutoGen 활동을 자동으로 캡처합니다.

모델 클라이언트용 트레이스

다음 섹션에서는 AutoGen 내에서 모델 클라이언트에 직접 이루어진 Call을 Weave가 트레이스하는 방법을 설명합니다. 여기에는 단일 Call, 스트림 응답, 캐시된 응답이 포함됩니다.

클라이언트 create 호출의 트레이스

이 예제는 OpenAIChatCompletionClient 호출을 트레이싱하는 방법을 보여줍니다.
autogen-simple-client.png

스트리밍을 사용하는 클라이언트 create call의 트레이스

Weave는 스트림된 응답의 트레이싱도 지원합니다.
autogen-streaming-client.png

캐시된 클라이언트 Call에 대한 트레이스

AutoGen의 ChatCompletionCache를 사용할 수 있으며, Weave는 이러한 상호작용을 트레이스하여 응답이 캐시에서 왔는지 아니면 새로운 Call에서 왔는지를 보여줍니다.
autogen-cached-client.png

도구 호출을 사용하는 에이전트의 트레이스

이 섹션에서는 Weave로 에이전트와 에이전트의 도구 사용을 트레이스하여, 에이전트가 도구를 어떻게 선택하고 실행하는지 파악하는 방법을 보여 줍니다. 다음 예시에서는 날씨 도구를 정의하고 이를 AssistantAgent에 연결합니다.
autogen-agent-tools.png

라운드 로빈 GroupChat의 트레이스

Weave는 RoundRobinGroupChat과 같은 그룹 채팅 내의 상호작용을 트레이스하므로 에이전트 간 대화 흐름을 따를 수 있습니다. 모든 에이전트 턴을 단일 상위 트레이스 아래에 그룹화하여 간소화된 검사를 위해 그룹 채팅 함수를 @weave.op으로 래핑하세요. 이 단계는 선택 사항이지만 권장됩니다.
round_robin_group_chat.png

메모리용 트레이스

Weave는 AutoGen의 메모리 컴포넌트를 트레이스할 수 있습니다. 가독성을 높이기 위해 @weave.op()를 사용하여 메모리 오퍼레이션을 단일 트레이스로 그룹화하십시오. 이렇게 하면 메모리 추가 및 검색 Call이 이를 사용하는 에이전트 run과 함께 표시됩니다.
autogen-memory.png

RAG 워크플로용 트레이스

Weave는 ChromaDBVectorMemory와 같은 메모리 시스템을 사용한 문서 인덱싱 및 검색을 포함하여 RAG(Retrieval Augmented Generation) 워크플로를 트레이스할 수 있습니다. 인덱싱, 검색, 그리고 그 결과로 이어지는 LLM Call이 하나의 트레이스에 함께 표시되도록 전체 플로우를 시각화하려면 RAG 프로세스에 @weave.op() 데코레이터를 적용하세요.
RAG 예시를 실행하려면 chromadb가 필요합니다. pip install chromadb 명령으로 설치하세요.
autogen-rag.png

에이전트 런타임용 트레이스

Weave는 AutoGen의 에이전트 런타임(예: SingleThreadedAgentRuntime) 내의 오퍼레이션을 트레이스할 수 있습니다. 런타임 실행 함수를 @weave.op()로 래핑하여 관련 트레이스를 그룹화하면 런타임 run 중에 실행되는 메시지 핸들러의 전체 시퀀스를 확인할 수 있습니다.
autogen-runtime.png

순차적 워크플로를 위한 트레이스

에이전트 상호작용의 순서를 정의하는 복잡한 에이전트 워크플로를 트레이스할 수 있습니다. @weave.op()를 사용해 전체 워크플로에 대한 상위 수준 트레이스를 제공하면 각 에이전트의 기여가 단일 부모 Call 아래에 중첩됩니다. 다음 예시는 개념 추출기, 작성기, 형식 및 교정 에이전트, 사용자 에이전트를 연결하여 세련된 마케팅 카피를 생성합니다.
autogen-sequential-workflow.png

코드 실행기를 위한 트레이스

도커 필요 이 예제는 도커를 사용하는 코드 실행을 포함하므로 일부 환경(예: Colab에서 직접 실행)에서는 작동하지 않을 수 있습니다. 이 예제를 사용해 보려면 로컬에서 도커가 실행 중인지 확인하세요.
Weave는 AutoGen 에이전트의 코드 생성 및 실행을 트레이스합니다. assistant 에이전트가 생성한 코드와, 해당 코드가 실행될 때 executor 에이전트가 반환하는 출력을 모두 검사할 수 있습니다.
autogen-codegen.png

자세히 알아보기

Weave 트레이싱과 Op를 더 깊이 이해하려면 다음 가이드를 참고하세요. 이 가이드를 시작점으로 Weave와 AutoGen을 통합해 보세요. Weights & Biases UI에서 에이전트 상호작용, 모델 Call, 도구 사용에 대한 상세 트레이스를 확인할 수 있습니다.
마지막 수정일 2026년 9월 30일