观测评估约 10 分钟
agent-ops 观测与评测
智能体可观测平台的骨架:轨迹、Span、指标点、评测样本、评分五类数据模型,以及按项目隔离的轨迹查询接口。
依据 agent-solution 0.1.3 · main@bf702bc9(2026-11-03)核实
它要做什么
agent-ops(Python 包名 agent-observe)的定位写在包描述里:轨迹接入、加工、指标、评估、优化。它是"观测评估"阶段的平台:把各智能体的运行轨迹收进来,算指标、跑评测,再把结果反馈给优化。
注意
本站核实的基线版本里,agent-ops 还是早期骨架:数据模型、多数据库存储层、健康检查和轨迹查询接口已实现并有单元测试;加工流水线、指标聚合、评估器、优化器多是占位目录和协议注释,docs/architecture.md 只有一个标题。本关只讲已经落地的部分。
五类数据
存储层定义了六张表,基本就是这个平台的骨架:
| 表 | 记录什么 | 关键字段 |
|---|---|---|
traces | 一次完整执行 | 项目、智能体及版本、会话、状态、耗时、Token、成本 |
spans | 执行里的一步 | 父 Span、类型(llm / tool / agent / retrieval)、模型、耗时、Token |
events | 轨迹或 Span 上的离散事件 | 名称、级别、内容、时间 |
metric_points | 某时间窗口、某组维度上的指标值 | 指标名、粒度、窗口、维度、值 |
eval_samples、scores | 评测样本与得分 | 期望输出引用;评估器、分数、标签、理由 |
几个设计点:
- 轨迹带
agent_version和pipeline_version,版本变化后指标和得分能对得上是哪一版 - 输入输出存的是引用(
input_ref/output_ref),大内容不直接进分析表 - 得分可以挂到具体 Span 上,并带上理由,便于定位"哪一步扣的分"
存储层支持 PostgreSQL、MySQL、GaussDB,以及 ClickHouse、Doris 这类分析型数据库,各有一份建表脚本。
轨迹查询
服务是 FastAPI,目前开放两组接口:健康与就绪探针、轨迹查询(分页列表和按 trace_id 查详情)。查询自动按 project_id 隔离。存储不可用时不阻塞进程启动。
源码轨迹查询接口agent-solution/common/agent-ops/src/agent_observe/api/routes/traces.py@bf702bc9和其他模块怎么接
- 轨迹的源头是 agent-core 的可观测与 Trajectory(agent-core 区第 7 关)
- 单次执行内的验证在 PEV(上一关)
- 评测得分最终要喂给优化:agent-core 的 agent_evolving 和下一关的 EvoAgent
小结
- agent-ops 定位是观测评估平台,基线版本是骨架,已落地数据模型、存储和轨迹查询。
- 五类数据:轨迹、Span、事件、指标点、评测样本与得分。
- 轨迹和得分带版本,得分可细到 Span 并附理由。
源码出处
- agent-solution/common/agent-ops/pyproject.toml定位:轨迹接入、加工、指标、评估、优化
- agent-solution/common/agent-ops/src/agent_observe/storage/models.py:53
class TraceRecord轨迹记录 - agent-solution/common/agent-ops/src/agent_observe/storage/models.py:81
class SpanRecordSpan 记录 - agent-solution/common/agent-ops/src/agent_observe/storage/models.py:151
class ScoreRecord评测得分 - agent-solution/common/agent-ops/src/agent_observe/api/routes/traces.py轨迹查询:分页与详情,按 project_id 隔离
链接指向固定提交,仓库后续更新不影响这里的行号。
过关测验
1. agent-ops 里一条评测得分(ScoreRecord)挂在什么上面?
2. 按基线代码,agent-ops 的加工流水线、指标聚合、评估器已经实现了吗?