AgentOps 데코레이터 — session·agent·operation·workflow·tool 추적
AgentOps 데코레이터 — session·agent·operation·workflow·tool 추적
AgentOps는 아래 데코레이터들을 제공해요. 각 데코레이터가 생성하는 스팬(span) 들은 계층 구조를 이루며 에이전트 시스템을 정확히 표현합니다.
데코레이터 목록
| Decorator | Purpose | Creates |
|---|---|---|
@session |
Track an entire user interaction | SESSION span |
@agent |
Track agent classes and their lifecycle | AGENT span |
@operation |
Track discrete operations performed by agents | OPERATION span |
@workflow |
Track a sequence of operations | WORKFLOW span |
@task |
Track smaller units of work (similar to operations) | TASK span |
@tool |
Track tool usage and cost in agent operations | TOOL span |
@guardrail |
Track guardrail input and output | GUARDRAIL span |
생성된 스팬은 계층을 이뤄요.
SESSION
├── AGENT
│ ├── OPERATION or TASK
│ │ ├── LLM
│ │ └── TOOL
│ └── WORKFLOW
│ └── OPERATION or TASK
└── AGENT
└── OPERATION or TASK
주요 데코레이터 사용
@session — 전체 사용자 상호작용을 처음부터 끝까지 추적합니다. @session 함수 호출마다 그 상호작용에 쓰인 모든 에이전트·작업·워크플로를 담는 세션 스팬이 생겨요.
from agentops.sdk.decorators import session
import agentops
agentops.init(api_key="YOUR_API_KEY")
@session
def answer_question(question):
weather_agent = WeatherAgent()
result = weather_agent.get_forecast(question)
return result
@agent — 클래스를 계측해 생명주기와 작업을 추적합니다. 세션 안에서 @agent 데코레이터를 단 클래스가 인스턴스화되면 AGENT 스팬이 자동 생성돼요.
@operation — 에이전트가 수행하는 개별 함수를 추적합니다. 입력(함수 인자), 출력(반환값), 지속 시간, 성공/실패 상태를 담은 OPERATION 스팬을 만듭니다.
from agentops.sdk.decorators import agent, operation
import agentops
agentops.init(api_key="YOUR_API_KEY")
@agent
class MathAgent:
@operation
def add(self, a, b):
return a + b
@workflow — 함께 동작하는 작업들의 시퀀스를 추적합니다. @tool — 에이전트 작업에서 도구 사용과 비용을 추적합니다.
더 알아보기
- 시작 방법은 Quickstart 참고
- 대시보드 개요는 Introduction 참고