weave)의 createOtelExtension 인테그레이션을 사용하여 Pi 세션, LLM Call, 도구 실행을 자동으로 트레이스합니다. 이 인테그레이션은 GenAI 시맨틱 규칙을 준수합니다. 이 페이지에서는 Pi 애플리케이션에서 Agent Lens 트레이싱을 활성화하는 방법을 설명합니다. 트레이싱을 활성화하면 에이전트 동작을 관찰하고, run을 디버그하고, 토큰 사용량과 비용을 분석할 수 있습니다.
CoreWeave Forge SDK는 아직 Pi 인테그레이션을 지원하지 않으므로 이 페이지에서는 Weave SDK를 사용합니다. 두 제품은 동일한 트레이스 데이터를 공유하므로 Weave로 전송한 트레이스는 Agent Lens에도 표시됩니다.
사전 요구 사항
- Node.js (v22.19 이상). Node 20에서는
npm이 Node 20을 여전히 지원하는 이전 버전의 Pi 릴리스를 설치합니다. - CoreWeave Forge 계정 및
WANDB_API_KEY환경 변수로 설정한 API 키.
Pi는 TypeScript 및 Node.js 프레임워크이며, 이에 대응하는 Python 프레임워크는 없습니다. Pi를 사용하려면 ESM 모듈 시스템이 필요합니다. 프로젝트의
package.json에 "type": "module"을 지정하거나, TypeScript를 ESM 출력으로 컴파일해야 합니다. CommonJS 프로젝트에서는 오류가 발생합니다. ESM 프로젝트 설정에 대한 자세한 내용은 TypeScript SDK 인테그레이션을 참조하세요.패키지 설치
Agent Lens, Pi, Node 타입 정의를 로컬 프로젝트 의존성으로 설치하세요:Pi 프롬프트와 응답 트레이스하기
다음 예시는 단일 Pi 프롬프트와 응답을 트레이스하는 데 필요한 최소 설정을 보여줍니다. 에이전트 세션을 생성하기 전에weave 패키지의 init()을 호출한 다음, createOtelExtension()을 확장 팩토리로 전달하세요. Agent Lens는 대화, 각 프롬프트-응답 사이클(invoke_agent), 개별 LLM Call(chat), 도구 실행(execute_tool)을 포함한 에이전트의 전체 라이프사이클을 트레이스합니다. 세션 ID는 SessionManager.inMemory()가 자동으로 생성합니다.
[FILENAME]을 사용 중인 TypeScript 파일 이름으로 바꾼 후, tsx로 스크립트를 컴파일하고 실행하세요.
https://forge.coreweave.com/agent-lens/[YOUR-TEAM]/[YOUR-PROJECT] 에 있는 Agent Lens 프로젝트의 Conversations 탭에 트레이스가 표시됩니다. Agent Lens는 애플리케이션을 실행할 때마다 Pi 세션, LLM Call, 도구 실행을 캡처합니다.
다음 단계
이 예제를 멀티턴 대화로 확장하려면 프롬프트를 더 추가하세요. Agent Lens는session.prompt()를 호출할 때마다 이를 별도의 invoke_agent span으로 트레이스하며, 이 span은 모두 하나의 루트 span 아래에 중첩됩니다. 에이전트는 여러 프롬프트에 걸쳐 컨텍스트를 자동으로 유지합니다.
코드를 실행하면 Conversations 탭에 중첩된 LLM Call, 도구 실행, 토큰 사용량, 비용이 포함된 전체 멀티턴 타임라인이 표시됩니다.