AgentOps 快速上手:两行代码接入 AI Agent 可观测
【免费下载链接】agentopsPython SDK for AI agent monitoring, LLM cost tracking, benchmarking, and more. Integrates with most LLMs and agent frameworks including CrewAI, Agno, OpenAI Agents SDK, Langchain, Autogen, AG2, and CamelAI项目地址: https://gitcode.com/GitHub_Trending/ag/agentops
一句话定位
AgentOps 是面向 AI Agent 的 Python 可观测 SDK,自动追踪 LLM 调用链、Token 消耗与花费,帮你回放调试多智能体执行过程,适合用 CrewAI、OpenAI Agents、LangChain 等框架搭 Agent 的开发者。
核心能力一览
- 会话回放(Session Replay):把一次 Agent 运行的每一步调用录成可回放的执行树,能干嘛——线上出问题时逐步还原"Agent 当时想了什么、调了什么工具"。
- LLM 成本追踪:自动统计每次调用的 Token 用量并按模型计价,能干嘛——跨 OpenAI、Anthropic、Google 等厂商算清每一分 LLM 账单。
- 自动插桩(Instrumentation):内置对 OpenAI、Anthropic、Google GenAI、IBM watsonx 等 SDK 的埋点,能干嘛——不改业务代码,
init之后 LLM 调用自动上报。 - 框架集成:原生适配 CrewAI、AG2(AutoGen)、Agno、LangGraph、LangChain、Camel 等,能干嘛——两行代码让多智能体框架整体进入监控面板。
- 装饰器埋点:提供
@session/@agent/@operation/@task/@tool等装饰器,能干嘛——一行标记就把普通函数变成可追踪的执行节点。
🚀 快速上手:如何跑通第一次追踪
最短路径只需 5 步:
第 1 步:获取代码与依赖
git clone https://gitcode.com/GitHub_Trending/ag/agentops cd agentops pip install agentops第 2 步:申请 API Key。在 AgentOps 控制台的项目设置页创建 API Key,写入环境变量:
export AGENTOPS_API_KEY=你的key第 3 步:初始化并发起第一次追踪。核心只有两行——init和结束追踪:
import agentops # 程序入口调用一次,之后所有 LLM 调用自动被追踪 agentops.init(auto_start_session=True, trace_name="My First Trace")第 4 步:直接运行官方示例,它会用 OpenAI 跑一次同步 + 流式调用并校验埋点是否生效:
export OPENAI_API_KEY=你的openai_key python examples/openai/openai_example_sync.py第 5 步:打开面板查看结果。运行结束后控制台会打印会话回放链接,在面板里能看到这次运行的调用树、耗时和 Token 消耗。
核心文件导读:入口文件逐段讲解
按理解优先级,你只需要先读 3 个文件:入口agentops/__init__.py、配置agentops/config.py、示例examples/openai/openai_example_sync.py。
agentops/init.py:SDK 的总入口
这是你唯一需要 import 的模块,它把初始化、追踪、装饰器全部聚合到agentops命名空间下,内部用线程安全的双重检查锁维护一个单例Client:
_client = None _client_lock = threading.Lock() def get_client(): global _client if _client is None: # 第一次调用才创建客户端 with _client_lock: # 加锁保证多线程下只建一个 if _client is None: _client = Client() return _client同文件里的init()接受十几个参数(API Key、标签、日志级别等),start_trace()/end_trace()用于手动管理一次追踪的起止,@session、@agent、@operation等装饰器则来自 agentops/sdk/decorators/。
agentops/config.py:所有配置项的单一来源
一个Configdataclass,每个字段都标注了默认值和环境变量来源,想改行为先看这里:
@dataclass class Config: api_key: Optional[str] = field( default_factory=lambda: os.getenv("AGENTOPS_API_KEY"), ) # 认证密钥,不传则只读环境变量 endpoint: str = field( default_factory=lambda: os.getenv( "AGENTOPS_API_ENDPOINT", "https://api.agentops.ai" ), ) # 自部署时改这里指向自己的后端 max_queue_size: int = field( default_factory=lambda: get_env_int("AGENTOPS_MAX_QUEUE_SIZE", 512), ) # 事件队列上限,超出强制刷盘examples/openai/openai_example_sync.py:最小完整示例
从示例能看出 v4 的完整生命周期:初始化 → 开追踪 → 正常调 OpenAI → 结束追踪 → 本地校验 span:
agentops.init(auto_start_session=True, trace_name="OpenAI Sync Example") tracer = agentops.start_trace(trace_name="OpenAI Sync Example") # 手动开一次追踪 client = OpenAI() response = client.chat.completions.create(model="gpt-4o-mini", messages=messages) agentops.end_trace(tracer, end_state="Success") # 结束并标记成功 result = agentops.validate_trace_spans(trace_context=tracer) # 校验埋点数据 agentops.print_validation_summary(result)注意 LLM 调用本身没有任何额外代码——自动插桩模块 agentops/instrumentation/ 在init时接管了 OpenAI 客户端,这就是"两行代码接入"的底层原理。
⚙️ 可调配置速查:如何修改上报端点与队列参数
所有配置优先走环境变量,也可在agentops.init(...)/agentops.configure(...)中用同名参数覆盖。
| 配置项 | 默认值 | 来源 | 说明 |
|---|---|---|---|
AGENTOPS_API_KEY | 无 | 环境变量 /init(api_key=...) | 认证密钥,必填,缺失会初始化失败 |
AGENTOPS_API_ENDPOINT | https://api.agentops.ai | 环境变量 | 自部署时改成你的后端地址 |
AGENTOPS_APP_URL | https://app.agentops.ai | 环境变量 | 面板地址,用于生成会话回放链接 |
AGENTOPS_EXPORTER_ENDPOINT | https://otlp.agentops.ai/v1/traces | 环境变量 | OTLP 上报地址,接自部署 Collector 时改这里 |
AGENTOPS_MAX_WAIT_TIME | 5000(毫秒) | 环境变量 | 等待 API 响应的最长时间 |
AGENTOPS_EXPORT_FLUSH_INTERVAL | 1000(毫秒) | 环境变量 | 自动导出遥测数据的间隔 |
AGENTOPS_MAX_QUEUE_SIZE | 512 | 环境变量 | 事件队列上限,超出强制刷盘 |
AGENTOPS_INSTRUMENT_LLM_CALLS | True | 环境变量 /init | 是否自动插桩 LLM 调用 |
AGENTOPS_AUTO_START_SESSION | True | 环境变量 | init时是否自动开始会话 |
AGENTOPS_SKIP_AUTO_END_SESSION | False | 环境变量 | 退出时是否跳过自动结束会话 |
AGENTOPS_DEFAULT_TAGS | 空 | 环境变量 | 给所有会话附加的默认标签,便于分组 |
AGENTOPS_LOG_LEVEL | INFO | 环境变量 | SDK 自身日志级别,排障可临时调高 |
AGENTOPS_ENV_DATA_OPT_OUT | False | 环境变量 | 是否停止收集运行环境信息 |
AGENTOPS_FAIL_SAFE | False | 环境变量 | 出错时是否静默降级而不抛异常 |
下一步
想深入就看 examples/ 下按框架分目录的示例(openai/、crewai/、agno/、langgraph/等),想验证埋点行为跑 tests/unit/instrumentation/ 里的单测;要把面板和后端整套搬到自己的云上,跟着 app/README.md 用 Docker Compose 起自部署栈即可。
【免费下载链接】agentopsPython SDK for AI agent monitoring, LLM cost tracking, benchmarking, and more. Integrates with most LLMs and agent frameworks including CrewAI, Agno, OpenAI Agents SDK, Langchain, Autogen, AG2, and CamelAI项目地址: https://gitcode.com/GitHub_Trending/ag/agentops
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考