createOtelExtension 인테그레이션을 사용해 Pi Session, LLM Call, 도구 실행을 자동으로 트레이스합니다. 이 페이지에서는 Pi 애플리케이션에서 Weave 트레이싱을 활성화하여 에이전트 동작을 관찰하고, run을 디버그하고, token 사용량과 비용을 분석하는 방법을 설명합니다.
사전 요구 사항
Pi는 Python 버전이 없는 TypeScript 및 Node.js 프레임워크입니다. Pi는 ESM 모듈 시스템이 필요하므로 프로젝트에서
package.json에 "type": "module"을 사용하거나 TypeScript를 ESM 출력으로 컴파일해야 합니다. CommonJS 프로젝트에서는 오류가 발생합니다. ESM 프로젝트 설정에 대한 자세한 내용은 TypeScript SDK integration을 참조하세요.패키지 설치
Pi 프롬프트와 응답 트레이스하기
weave.init()을 호출한 다음, createOtelExtension()을 확장 팩토리로 전달하세요. Weave는 대화, 각 프롬프트와 응답 사이클(invoke_agent), 개별 LLM Call(chat), 도구 실행(execute_tool)을 포함한 에이전트의 전체 라이프사이클을 트레이스합니다. SessionManager.inMemory()가 Session ID를 자동으로 생성합니다.
tsx를 사용해 스크립트를 컴파일하고 실행하세요. [FILENAME]은 TypeScript 파일 이름으로 바꾸세요:
https://wandb.ai/[YOUR-TEAM]/[YOUR-PROJECT]/weave/agents에 트레이스가 표시됩니다. Weave는 애플리케이션의 모든 run에 대해 Pi 세션, LLM Call, 도구 실행을 캡처합니다.
다음 단계
session.prompt()를 호출할 때마다 각각 별도의 invoke_agent span으로 트레이스하며, 모두 하나의 루트 span 아래에 중첩됩니다. 에이전트는 프롬프트 간 컨텍스트를 자동으로 유지합니다.
코드를 실행한 후 Agents 탭에서 중첩된 LLM Call, 도구 실행, token 사용량, 비용이 포함된 전체 멀티턴 타임라인을 확인할 수 있습니다.