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

시작하기

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

Traces 페이지 개요

Traces 페이지는 세 개의 주요 패널로 구성됩니다:
  • 왼쪽 패널: 프로젝트의 모든 trace 실행을 정렬하고 페이지 단위로 나누어 보여주는 목록입니다.
    • 이 trace 테이블에는 토큰 수, 비용, 지연 시간(latency) 등의 추가 정보가 포함됩니다.
  • 가운데 패널: 선택한 trace에 대한 인터랙티브 trace 보기입니다. trace 트리는 해당 trace 내에서 추적된 모든 메서드의 계층 구조를 보여줍니다.
    • trace 트리는 trace 수행 중 호출된, @weave.op() 데코레이터가 적용된 함수인 ops를 표시합니다.
  • 오른쪽 패널: 선택한 trace 내에서 선택한 op에 대한 세부 정보를 표시합니다.
선택된 trace와 선택된 op 세부 정보가 표시된 Traces 페이지

트레이스 내에서 필터링

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

대체 trace 트리 보기

패널 상단에서 필요에 따라 trace 트리를 여러 가지 방식으로 시각화할 수 있습니다. 디버깅 목적에 맞게 보기 모드를 전환하세요. 호출 로직을 이해하려면 code composition view를, 시간에 따른 성능을 분석하려면 flame graph view를, 구조를 파악하려면 graph view를 사용하세요.

Traces (기본)

트레이스 트리 기본 보기에서는 스택 계층 구조, op당 비용(가능한 경우), 실행 시간, 상태 표시기를 표시합니다.

코드 구성 뷰

코드 구성 뷰에서 상자는 op와 그 안에 중첩된 호출을 나타냅니다. 이는 함수 호출 흐름을 시각화하는 데 유용합니다. 이 뷰에서는 상자를 선택해 해당 op를 자세히 살펴보고 호출 경로를 필터링할 수 있습니다.
Trace view showing the code view of a trace

플레임 그래프

플레임 그래프 보기는 실행 깊이와 지속 시간을 타임라인 기반으로 시각화합니다. 이는 시간 경과에 따른 성능 진단을 파악하는 데 유용합니다. 프레임을 선택해 하위 트레이스만 분리해 볼 수 있습니다.
트레이스 내 op들의 플레임 그래프를 보여주는 트레이스 뷰

Graph 보기

Graph 보기에서는 op 간의 계층적 관계를 보여줍니다. 이를 통해 부모/자식 관계를 이해하는 데 도움이 됩니다.
Trace 보기에서 단일 trace 내 op와 그 관계를 함수형 그래프 형태로 보여주는 화면

trace op의 세부 정보 보기

trace 트리에서 op를 선택하면 해당 op의 세부 정보가 다음 패널에 표시됩니다. 이 세부 정보는 다음 탭으로 구성됩니다:
  • Call: op 실행에 사용된 입력과 출력입니다.
  • Code: Call이 수행될 때 사용된 코드입니다.
  • Feedback: op에 대해 사용 가능한 feedback입니다. Weave 내에서 직접 또는 API를 통해 feedback을 제공할 수 있습니다.
  • Scores: op에 대해 사용 가능한 scores입니다. Call은 Evaluation을 실행하여 점수가 매겨집니다.
  • Summary: op에 대한 일반 정보입니다.
  • Use: Call을 프로그래밍 방식으로 가져오고 reaction, 메모 또는 feedback을 추가하는 데 사용할 수 있는 코드 스니펫입니다.