Workflow Telemetry Spans:调试 AI 数字员工,要追踪每一次 Skill 调用

Workflow Telemetry Spans 是 AI 数字员工的可观测性记录:每一次 Skill 调用都应该有 span,每一次关键判断都应该有 log,每一类验收、异常和重试都应该进入 metric。很多团队每天运行重复、手动、耗时的 Agent 任务,出了问题却只能翻聊天记录:到底是哪一步慢了,哪个 Source Data 缺了,哪个 Skill 输出低置信度,哪个人工确认拖住了流程?没有 Workflow Telemetry Spans,AI workflow 的调试会重新变成人肉排查。
OpenTelemetry 文档把观测信号概括为 traces、metrics、logs 等类型,并说明它是厂商中立的观测框架。Anthropic 在 Building Effective Agents 中也强调检查点、反馈和清晰的 agentic system 设计。Axon 不需要把办公用户暴露给工程术语,但需要把 Skill 链的关键运行证据记录下来。
如果 workflow 只能告诉你“失败了”,它还不是稳定的 AI 数字员工。它至少要告诉你哪个 Skill、哪份输入、哪个产物、哪个确认点出了问题。
trace、log、metric 各管一件事
不要把所有运行信息都塞进一段日志。AI workflow 的观测信号可以这样分工:
| 信号 | 记录什么 | 业务价值 |
|---|---|---|
| trace | 一次 workflow run 的 Skill 调用链 | 看见耗时和失败位置 |
| span | 单个 Skill 调用的输入、输出、耗时、状态 | 定位具体步骤 |
| log | 关键判断、确认、异常说明 | 解释为什么这么做 |
| metric | 接受率、重试率、异常率、平均等待时间 | 判断 workflow 是否值得自动化 |
这和 可重放 AI Workflows 关系很近。可重放强调运行后能复现和比较;telemetry spans 强调运行中和运行后能定位。
一条 Skill span
{
"traceId": "run_20260531_customer_renewal_014",
"spanId": "skill_extract_usage_02",
"workflow": "customer renewal risk brief",
"skill": "extract usage change",
"inputRef": "sourceData.usage_export",
"artifactRef": "work/usage-risk-table.csv",
"status": "ok",
"durationMs": 18420,
"confidence": "medium",
"ownerNote": "usage export lacks two customer rows"
}
这条记录不需要暴露所有工程字段给用户,但它应该能支撑客服、运营和产品团队回答:这一步用了什么资料、产出了什么、是否可信。
可观测性不是更多噪音
办公 workflow 最怕的是把观测做成海量技术噪音。Axon 更适合记录少量但关键的 business-facing telemetry:
- 当前 workflow run 的 trace;
- 每个 Skill 的 span 状态和 artifactRef;
- Trust Mode 确认和拒绝记录;
- exception 的原因和接手人;
- accepted artifact 与 owner;
- retryBudget 消耗和队列等待。
这些信号能连接到 Workflow State Machine。状态机告诉你现在在哪个状态;telemetry 告诉你为什么走到这里。
调试时先看哪三处
先看失败 span。
如果失败集中在同一个 Skill,问题可能是 Skill 输出 schema、输入格式或权限,而不是模型整体不稳定。
再看 Source Data 引用。
如果 span 指向的 inputRef 过期、缺字段或来自错误 workspace,应该回到 Source Data 和文件边界,而不是改 prompt。
最后看 accepted metric。
一个 workflow 即使每次都成功运行,如果产物不被接受,也不应该继续扩大自动化。可以把接受率接入 Workflow Evals 和 Source-to-Decision Lineage。
调试简表
步骤 1:按 traceId 找到完整 Skill 链。步骤 2:只看 failed、low-confidence、waiting-confirmation 三类 span。步骤 3:把 span 的 inputRef 和 artifactRef 对回 workspace 里的证据。
这比让团队重新读一遍完整聊天记录快得多,也更适合积累成产品能力。
遥测问题
Q1:Workflow Telemetry Spans 会不会太工程化?
底层可以工程化,展示给业务用户要业务化。用户看到的是等待原因、失败步骤、产物链接和接手人。
Q2:telemetry 和 run journal 有什么区别?
run journal 是运行记录;telemetry 更细,追踪 Skill 调用、耗时、状态和关联产物。
Q3:所有 span 都要永久保存吗?
不一定。高风险、高价值和用于 eval 的 workflow 应保存更完整;低风险草稿任务可以保留摘要。
先给一个 Skill 链加 trace
选择一个已经稳定运行的 Axon workflow,给每个 Skill 调用记录 spanId、inputRef、artifactRef、status、durationMs 和 ownerNote。了解更多可重放证据、状态机和 Evals 后,再把 Workflow Telemetry Spans 变成 AI 数字员工的标准调试层。