메인 콘텐츠로 건너뛰기
Weave Trace 뷰는 LLM 및 에이전트 기반 앱에서 복잡한 실행 경로를 이해하는 데 도움이 되도록 설계되었습니다. 수십 개의 중첩 호출이 있는 에이전트 기반 앱을 디버깅하든, 단일 모델 예측의 흐름을 추적하든 Trace 뷰는 어떤 일이 일어났는지 명확하게 시각화해 줍니다. 또한 애플리케이션 흐름을 보고 이해하는 다른 방식도 제공합니다. 이 가이드는 Trace 스택을 탐색하고, 코드에서 호출된 함수를 필터링 및 검색하고, 시각적 표현을 전환하는 방법 등을 설명합니다.

시작하기

Trace 뷰로 이동하려면 다음을 수행하세요:
  1. https://wandb.ai로 이동한 다음 프로젝트를 선택합니다.
  2. 사이드바 메뉴에서 Traces를 선택해 해당 프로젝트에 저장된 모든 trace를 확인합니다.
  3. 하나의 trace를 선택해 Trace Details 뷰를 엽니다. Trace Details 뷰에는 trace 실행을 계층적으로 보여주는 추가 패널이 표시됩니다.

Traces 페이지 개요

Traces 페이지는 세 개의 핵심 패널로 구성됩니다:
  • 왼쪽 패널: 이 프로젝트의 모든 trace run이 표시되는, 정렬 및 페이지 단위 탐색이 가능한 목록입니다.
    • 이 traces 테이블에는 토큰, 비용, 지연 시간 등의 추가 데이터가 표시됩니다.
  • 가운데 패널: 선택한 trace에 대한 대화형 trace 뷰입니다. trace 트리는 trace 내에서 추적된 모든 메서드의 계층 구조를 보여줍니다.
    • trace 트리는 trace 동안 호출된, @weave.op() 데코레이터가 적용된 함수인 ops를 표시합니다.
  • 오른쪽 패널: 선택한 trace 내에서 선택된 op에 대한 세부 정보를 표시합니다.
Traces 페이지에서 선택된 trace와 선택된 op 세부 정보가 표시된 모습

트레이스 내 필터링

  • 이름 정규식 필터: 트레이스 트리 상단의 텍스트 필드를 사용해 tool, openai.response.create와 같은 이름이나 타입을 정규식으로 필터링합니다.
  • 메트릭: 사용 가능한 경우 비용, 토큰, 지연 시간과 같은 메트릭을 표시할지 여부를 제어합니다.
트레이스 트리는 트레이스 내에서 추적된 모든 메서드의 계층 구조를 보여줍니다. 트리에서 위/아래로 이동하려면 Cmd(macOS) 또는 Alt(Windows/Linux) + 위쪽 화살표(↑) / 아래쪽 화살표(↓)를 사용하세요. 트레이스 트리 아래에는 트레이스의 다양한 상태를 빠르게 이동할 수 있는 여러 스크러버가 있습니다. 슬라이더를 사용해 트레이스를 효율적으로 탐색할 수 있습니다. 패널을 확장해 사용 가능한 모든 스크러버를 확인하세요:
  • Timeline: 트레이스 내 이벤트가 시간 순서대로 표시됩니다.
  • Peers: 동일한 타입을 공유하는 op들입니다. 예를 들어 predict라는 함수의 세부 정보를 살펴보고 있다면, 이 스크러버를 사용해 트레이스 내에서 다음 predict 실행으로 바로 이동할 수 있습니다.
  • Siblings: 동일한 부모를 가진 op들입니다. 이 스크러버를 사용해 부모 함수 호출 아래에 중첩된 op들을 순차적으로 살펴볼 수 있습니다.
  • Stack: 호출 스택을 위/아래 방향으로 탐색합니다.
  • Path: (code composition 뷰에서만 사용 가능) 선택한 호출과 동일한 코드 경로를 가진 모든 호출을 순회합니다.
검색 필터와 스크러버가 표시된 트레이스 트리 패널

대체 트레이스 트리 뷰

패널 상단에서 필요에 따라 트레이스 트리를 여러 가지 방식으로 시각화해서 볼 수 있습니다. 디버깅 목적에 맞게 뷰를 전환하세요. 호출 로직을 이해하려면 code composition view를, 시간에 따른 성능 변화를 이해하려면 flame graph view를, 구조를 이해하려면 graph view를 사용합니다.

Traces (기본)

트레이스 트리의 기본 보기에서는 스택 계층 구조, 연산(op)당 비용(지원되는 경우), 실행 시간, 상태 표시를 확인할 수 있습니다.

코드 구성 보기

코드 구성 보기에서는 각 박스가 op와 그 안에 중첩된 호출을 나타냅니다. 이는 함수 호출의 흐름을 시각화하는 데 유용합니다. 이 보기에서는 박스를 선택해 해당 op를 자세히 살펴보고 호출 경로를 필터링할 수 있습니다.
트레이스의 코드 보기를 보여 주는 트레이스 뷰

플레임 그래프

플레임 그래프 보기는 실행 깊이와 지속 시간을 시간 축을 기준으로 시각화합니다. 시간 경과에 따른 성능 특성을 파악하는 데 유용합니다. 프레임을 선택해 하위 트레이스를 분리할 수 있습니다.
Trace view showing a flame graph of ops within a trace

그래프 뷰

그래프 뷰에서는 op 간의 계층적 관계를 확인할 수 있습니다. 이를 통해 부모/자식 관계를 쉽게 파악할 수 있습니다.
트레이스 뷰에서 트레이스 내 op와 관계를 기능 그래프 형태로 보여주는 화면

트레이스 op의 세부 정보 보기

트레이스 트리에서 op를 선택하면 해당 op의 세부 정보가 옆 패널에 표시됩니다. 이 세부 정보는 다음 탭으로 나뉩니다:
  • Call: op 실행에 대한 입력과 출력입니다.
  • Code: 호출이 이루어졌을 때 사용된 코드입니다.
  • Feedback: op에 사용 가능한 피드백입니다. Weave 내에서 직접 또는 API를 통해 피드백을 제공할 수 있습니다.
  • Scores: op에 사용 가능한 점수입니다. 호출은 Evaluations를 실행하여 점수가 매겨집니다.
  • Summary: op에 대한 일반 정보입니다.
  • Use: 호출을 프로그래밍 방식으로 가져오고 리액션, 노트 또는 피드백을 추가하는 데 사용할 수 있는 코드 스니펫입니다.