W&B Weave 수출업체
·3분 읽기
원문: Koog Documentation — opentelemetry-weave-exporter 이 글은 Koog 공식 문서의 opentelemetry-weave-exporter 페이지를 한국어로 옮긴 번역본입니다. 문서 구조와 링크 의미를 유지하되, MkDocs 전용 UI 문법은 블로그에서 읽기 좋도록 정리했습니다.
W&B Weave 수출업체
Koog는 관측 가능성 데이터에 대한 공개 표준인 OpenTelemetry을 사용하여 에이전트 추적을 내보냅니다. 이러한 추적을 W&B Weave로 보내기 위해 Koog에는 내장된 OpenTelemetry 내보내기 기능이 포함되어 있습니다. 수동 계측이 필요하지 않습니다.
일단 연결되면 Weave의 OpenTelemetry support을 통해 시각화할 수 있습니다. 에이전트가 LLM, 도구 및 외부 API와 상호 작용하는 방식을 분석하고 디버깅합니다.
설정 지침
- https://wandb.ai에서 W&B 계정을 생성하세요.
- https://wandb.ai/authorize에서 API 키를 받으세요.
- W&B Dashboard에서 법인 이름을 찾으세요. 개인 계정의 사용자 이름이나 공유 작업 공간의 팀/조직 이름과 일치합니다.
- 프로젝트 이름을 선택하세요. 프로젝트가 아직 존재하지 않으면 첫 번째 추적이 전송될 때 자동으로 생성됩니다.
addWeaveExporter()에 대한 매개변수로 또는 환경 변수를 통해 엔터티, 프로젝트 이름 및 API 키를 제공합니다.
1export WEAVE_API_KEY="<your-api-key>"2export WEAVE_ENTITY="<your-entity>"3export WEAVE_PROJECT_NAME="koog-tracing"구성
OpenTelemetry 기능을 설치하고 addWeaveExporter()을 호출하여 Weave 내보내기를 활성화합니다.
기본 예
코틀린
1fun main() = runBlocking {2 val entity = System.getenv()["WEAVE_ENTITY"] 3 ?: throw IllegalArgumentException("WEAVE_ENTITY is not set")4 5 val projectName = System.getenv()["WEAVE_PROJECT_NAME"] 6 ?: "koog-tracing"7 8 val agent = AIAgent(9 promptExecutor = promptExecutor,10 llmModel = OpenAIModels.Chat.GPT4oMini,11 systemPrompt = "You are a code assistant. Provide concise code examples."12 ) {13 install(OpenTelemetry) {14 addWeaveExporter()15 }16 }1718 println("Running agent with Weave tracing")1920 val result = agent.run("Tell me a joke about programming")21 println("Result: $result\nSee traces on https://wandb.ai/$entity/$projectName/weave/traces")22}자바
1public static void main(String[] args) {2 var entity = Optional.ofNullable(System.getenv("WEAVE_ENTITY"))3 .filter(env -> !env.isBlank())4 .orElseThrow(() -> new IllegalArgumentException("WEAVE_ENTITY is not set"));56 var projectName = Optional.ofNullable(System.getenv("WEAVE_PROJECT_NAME"))7 .filter(env -> !env.isBlank())8 .orElse("koog-tracing");910 var agent = AIAgent.builder()11 .promptExecutor(promptExecutor)12 .llmModel(OpenAIModels.Chat.GPT4oMini)13 .systemPrompt("You are a helpful assistant.")14 .install(OpenTelemetry.Feature, config ->15 config.addWeaveExporter(16 null, // OTel endpoint URL (falls back to WEAVE_URL, defaults to https://trace.wandb.ai)17 entity,18 projectName19 )20 )21 .build();2223 System.out.println("Running agent with Weave tracing");2425 var result = agent.run("Tell me a joke about programming");26 System.out.println("Result: " + result + "\nSee traces on https://wandb.ai/" + entity + "/" + projectName + "/weave/traces");27}추적되는 내용
Weave 내보내기는 Koog의 일반 OpenTelemetry 통합과 동일한 활동을 캡처합니다. 캡처된 범위의 전체 목록과 LLM 프롬프트 및 응답 콘텐츠를 포함하는 방법은 What gets traced을 참조하세요.
W&B Weave에서 시각화하면 추적이 다음과 같이 나타납니다.

자세한 내용은 공식 Weave OpenTelemetry Docs을 참조하세요.
문제 해결
- 추적 없음:
WEAVE_API_KEY,WEAVE_ENTITY및WEAVE_PROJECT_NAME가 설정되어 있는지 확인하고 W&B 계정에 지정된 엔터티 및 프로젝트에 대한 액세스 권한이 있는지 확인하세요. - 인증 오류:
WEAVE_API_KEY이 유효하고 선택한 엔터티에 대한 쓰기 권한이 있는지 확인하세요. - 연결 문제: 환경이 W&B의 OpenTelemetry 수집 엔드포인트에 도달할 수 있는지 확인하세요.
일반적인 문제 해결은 Troubleshooting을 참조하세요.