Skip to main content
이 페이지에서는 @weave.op 데코레이터로 트레이스되는 함수의 속성을 설명합니다. Weave agent SDK로 에이전트를 계측하는 경우에는 에이전트 span(Turn, LLM, Tool, SubAgent)에 속성과 이벤트를 설정하세요. 자세한 내용은 에이전트 span에 속성 및 이벤트 설정을 참조하세요.
Weave의 속성을 사용하면 트레이스와 평가에 맞춤형 메타데이터를 첨부할 수 있습니다. 이 메타데이터에는 환경 이름, 모델 버전, 실험 ID, 사용자 ID 등 Weave 데이터를 정리, 필터링, 분석하는 데 도움이 되는 다양한 컨텍스트 정보를 담을 수 있습니다. 속성은 특히 다음 기준으로 트레이스를 그룹화하거나 필터링할 때 유용합니다.
  • 배포
  • 테넌트
  • 실험
Weave에서는 두 가지 방법으로 속성을 추가할 수 있습니다.
  • 호출별 속성: weave.attributes() 컨텍스트 관리자를 사용하여 특정 오퍼레이션이나 코드 블록에 메타데이터를 추가합니다.
  • 전역 속성: global_attributes 필드를 사용하여 초기화 시점에 프로젝트의 모든 트레이스와 평가에 적용되는 속성을 설정합니다.
트레이스와 평가 중에 로깅된 모든 속성은 UI에서 확인할 수 있으며, 이를 활용해 데이터를 필터링하고 그룹화할 수 있습니다. 이 가이드는 맞춤형 메타데이터로 트레이스와 평가를 보강하려는 Weave 사용자를 위한 문서입니다. 개별 Call에 속성을 첨부하는 방법, 초기화 시 프로젝트 전체에 적용할 기본값을 설정하는 방법, 두 방식을 함께 사용하는 방법, 실행 중에 현재 속성 집합을 조회하는 방법을 다룹니다.

호출별 속성

weave.attributes() 컨텍스트 관리자를 사용하면 트레이스되는 특정 오퍼레이션에 메타데이터를 추가할 수 있습니다. 특정 함수 Call이나 평가 run에 컨텍스트 정보를 태그로 지정할 때 사용하세요.
Call이 시작된 후에는 call.attributes를 수정할 수 없습니다. op를 호출하기 전에 이 컨텍스트 관리자로 필요한 메타데이터를 설정하세요.
이 함수는 컨텍스트 관리자 블록(Python) 또는 callback 함수(TypeScript) 안에서 트레이스되는 모든 오퍼레이션에 속성을 첨부합니다. weave.attributes() 컨텍스트는 중첩해서 사용할 수도 있습니다. 같은 키가 있으면 내부 컨텍스트의 값이 외부 컨텍스트의 값을 재정의합니다.

전역 속성

Weave를 초기화할 때 전역 속성을 설정하면 프로젝트의 모든 트레이스와 평가에 자동으로 적용됩니다. 환경, 배포 버전, 팀 정보처럼 프로젝트 전체에 공통으로 적용할 메타데이터를 전파할 때 유용합니다.

전역 속성과 호출별 속성 함께 사용하기

전역 속성과 호출별 속성을 함께 사용할 수 있습니다. 키가 같으면 호출별 속성이 전역 속성을 재정의합니다.

실행 중 속성 조회

런타임에 Call에 적용된 속성을 확인할 수 있습니다. Weave가 어떤 메타데이터를 첨부하는지 디버깅하거나, 외부 호출자가 설정한 컨텍스트 정보에 따라 코드를 분기해야 할 때 유용합니다.
다음 예시는 Weave 데코레이터로 process_data 함수를 로깅하도록 설정하고, 로깅할 속성을 설정한 다음, 실행 시 해당 속성을 반환합니다.
출력 결과는 다음과 같습니다.
weave.get_current_call()은 @weave.op 데코레이터가 적용된 함수 내부에서만 작동합니다. op 외부에서는 None을 반환합니다.
마지막 수정일 2026년 9월 30일