首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一次失败要能回答四件事:Harness 可观测性的最小埋点

一次失败要能回答四件事:Harness 可观测性的最小埋点

原创
作者头像
用户9746675
发布于 2026-10-19 11:11:50
发布于 2026-10-19 11:11:50
1120
举报

Agent 线上挂了,最怕的不是报错本身,而是五分钟后仍然说不清:卡在哪一步、调了什么工具、花了多少钱、是被策略拦住还是模型自己绕圈。普通应用日志回答不了这些问题,因为 Agent 的关键路径分散在模型调用、工具执行、审批暂停和子 Agent 之间。

Harness 的可观测性,目标只有一句话:任意一次失败,都能用同一条 Trace 把故事讲完。

一、先回答四件事

  1. 卡在哪一步:计划、工具、审批、验收,还是预算停机
  2. 调了什么:工具名、校验后的参数摘要、执行身份、返回码
  3. 花了多少:tokens、美元、墙钟、重试次数
  4. 为什么停:model、tool、policy_reject、infra、budget_exceeded

错误分类比堆栈更重要。没有分类,评测里的「失败」无法归因,优化只能靠猜。

二、最小 Span 集合

一次用户任务一个 trace。其下至少有:

  • agent:某个 Agent 或子 Agent 实例
  • generation:模型、tokens、费用
  • tool:工具调用与 control 结果
  • guardrail / hitl:审查与审批决定
  • spawn / close:子 Agent 生命周期

所有事件共享 trace_id、session_id。没有共享 ID,瀑布图再好看也拼不出因果。

三、可观测本身也是攻击面

原样导出 Prompt、客户资料、凭据,会让 tracing 成为新的泄露通道。导出前先脱敏:参数做摘要,密钥打码,按角色控制可见范围。

用户看操作记录,运维看错误与成本,评估看可复现轨迹。底层可连通,展示与保留期限不应完全相同。

四、预算埋点要能触发停机

步数、token、美元、墙钟、工具调用、子 Agent 深度,都应在模型外部计数。超限不是只发告警,而是安全暂停:先写 budget.warn,再在 pull point 停住,把半截状态收干净。

父任务给子 Agent 划拨预算,子超限只杀子,尽量不直接烧穿父。否则并行探索会变成账单事故。

五、把生产失败变成回归门禁

可观测的终点不是看板,而是闭环:一次真实失败被定位后,导出为评测样本,进入回归集,挡住下一版发布。

如果你的 CI 只包含事先想得到的用例,它永远落后于生产。Trace 完整,失败才能沉淀成门禁;Trace 残缺,复盘就只能靠回忆。

结语

Harness 可观测性不是「多打几行日志」,而是给每次运行一张可回放的收据。能回答卡点、动作、成本、停因四件事,排障才从玄学变成工程;再把失败送进评测,系统才会越跑越稳,而不是越跑越盲。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、先回答四件事
  • 二、最小 Span 集合
  • 三、可观测本身也是攻击面
  • 四、预算埋点要能触发停机
  • 五、把生产失败变成回归门禁
  • 结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档