Skip to main content
Pi는 터미널 기반 코딩 에이전트입니다. Weave는 GenAI 시맨틱 규칙을 준수하는 createOtelExtension 인테그레이션을 통해 Pi 세션, LLM Call, 도구 실행을 자동으로 트레이스합니다. 이 페이지에서는 Pi 애플리케이션에서 Weave 트레이싱을 활성화하는 방법을 설명합니다. 트레이싱을 활성화하면 에이전트 동작을 관찰하고, run을 디버그하고, 토큰 사용량과 비용을 분석할 수 있습니다.
이 인테그레이션은 Pi 세션 데이터를 Weave로 전송합니다. 이 데이터에는 사용자 프롬프트, 모델 응답, 도구 입력 및 출력, Pi 도구가 읽은 파일 내용, 셸 명령어 및 출력, 가져온 URL 및 페이지 콘텐츠가 포함될 수 있습니다.이 인테그레이션은 PII 제거나 민감한 데이터 마스킹 기능을 제공하지 않습니다. 보안 또는 규정 준수 요구 사항으로 인해 이 데이터를 Weave로 전송할 수 없다면 Pi 애플리케이션에서 Weave 트레이싱을 활성화하지 마세요.

사전 요구 사항

  • Node.js (v18 이상).
  • CoreWeave Forge 계정과 WANDB_API_KEY 환경 변수로 설정한 API 키.
Pi는 TypeScript 및 Node.js 프레임워크이며 Python 버전은 제공되지 않습니다. Pi를 사용하려면 ESM 모듈 시스템이 필요합니다. 프로젝트의 package.json에 "type": "module"을 지정하거나 TypeScript를 ESM 형식으로 컴파일해야 합니다. CommonJS 프로젝트에서는 오류가 발생합니다. ESM 프로젝트 설정에 대한 자세한 내용은 TypeScript SDK 인테그레이션을 참조하세요.

패키지 설치

Weave, Pi 및 Node 타입 정의를 로컬 프로젝트 의존성으로 설치하세요:

Pi 프롬프트와 응답 트레이스하기

다음 예시는 Pi 프롬프트 하나와 그 응답을 트레이스하는 데 필요한 최소한의 설정을 보여 줍니다. 에이전트 세션을 생성하기 전에 weave.init()을 호출한 다음, createOtelExtension()을 확장 팩토리로 전달하세요. Weave는 대화, 각 프롬프트-응답 주기(invoke_agent), 개별 LLM Call(chat), 도구 실행(execute_tool)을 포함하여 에이전트의 전체 라이프사이클을 트레이스합니다. 세션 ID는 SessionManager.inMemory()가 자동으로 생성합니다.
[FILENAME]을 사용 중인 TypeScript 파일 이름으로 바꾼 후 tsx로 스크립트를 컴파일하고 실행하세요.
코드를 실행하면 트레이스가 Weave 프로젝트의 Agents 탭(https://forge.coreweave.com/wandb/[YOUR-TEAM]/[YOUR-PROJECT]/weave/agents)에 표시됩니다. Weave는 애플리케이션을 실행할 때마다 Pi 세션, LLM Call, 도구 실행을 캡처합니다.

다음 단계

이 예제를 멀티턴 대화로 확장하려면 프롬프트를 더 추가하세요. Weave는 session.prompt()의 각 Call을 별도의 invoke_agent span으로 트레이스하며, 이 span들은 모두 하나의 루트 span 아래에 중첩됩니다. 에이전트는 프롬프트 간 컨텍스트를 자동으로 유지합니다. 코드를 실행하면 Agents 탭에서 중첩된 LLM Call, 도구 실행, 토큰 사용량, 비용을 포함한 전체 멀티턴 타임라인을 확인할 수 있습니다.
마지막 수정일 2026년 9월 30일