AI AgentAI 编程信任与治理

当 coding agent 开始消耗预算与调用工具,企业究竟在测量什么?

2024 年 4 月公开测试的 Copilot Metrics API 提供了这样一组基础统计:展示了多少次建议、采纳率是多少、开发者采纳了多少代码行,以及有多少日活跃开发者。这套指标逻辑很直接,回答的是团队有没有用起来、给出的补全建议在多大程度上被开发者接受。

到了 2026 年 7 月,AWS 推出了 CloudWatch Coding Agent Insights,开始直接接纳 Claude Code、OpenAI Codex 与 GitHub Copilot 吐出的 OpenTelemetry 指标。管理者在控制台上看到的数字,换成了 token 消耗总量、单轮响应延迟、工具调用频次、API 请求数以及 approval 相关计数,并且这些数据可以直接归到具体部门、团队、成本中心乃至个人身上。

拿这两组数据做对比,最直观的感受很容易停留在“观测指标变丰富了”。但如果把注意力放回具体的开发场景,真正发生变化的是管理者与工具之间的关系。补全工具的核心形态是代码辅助,衡量它的标准主要是员工愿不愿意用、给出的文本采纳了多少;可当一个 agent 开始消耗计算资源、在本地终端跑命令、频繁调用外部工具时,它就已经越出了单纯文本辅助的界限,变成了一个在开发环境中执行具体动作的参与者。这也把企业管理问题从“这项功能的使用率高不高”,扩展到如何观察一个有成本归属、有身份标记且可能在本地产生后果的实体。

这引出了一个随之而来的现实问题:为什么当 agent 具备了自主动作的能力后,原本行之有效的采纳率统计会显得不够用?

当工具开始在本地做动作,测量对象也随之改变

在代码补全为主的阶段,记录采纳率与活跃人数能够对应当时的主要管理需求。开发者在编辑器里打字,算法推荐代码片段,接受或拒绝都是发生在光标位置的瞬时决定。这套指标度量了人与补全建议之间的互动,但它的适用前提,在于假定工具的影响主要体现在“被接受的代码行”上。

一旦交互形态转向多轮对话与自主 Agent,情况就不一样了。开发者给出一个任务目标,Agent 可能在终端和工作区里执行多步操作,背后伴随着多次模型交互。在持续消耗计算资源的运行过程中,token 消耗量、单轮响应延迟以及对应的账单开支逐渐显现出来,成本控制与运营健康随之成为了平台团队需要关注的方向。

除了账单维度的变化,动作本身也带来了新的观察视角。当 Agent 获准在开发环境中读取文件、运行终端指令甚至触发授权请求时,它的动作开始在本地系统中留下痕迹。工具调用频率可以为留意运行变化提供线索,但它本身并不能说明一次动作是否安全、结果是否正确。如果工具的执行过程出现异常,其影响往往也不再局限于单行代码的编写。

当企业需要汇总长会话、工具调用以及跨 Agent 的使用数据时,跨工具的管理问题也随之浮现。单厂商原生 analytics 无法单独提供跨 Agent 的统一视图,难以直接回答跨部门的成本切片与统一观测问题。即使面对同样的 token 消耗和工具调用,企业也需要将这些活动挂载到具体的部门、团队和成本中心上。计量的基准,由此开始从单个工具的账号视角,向企业现有的组织架构靠拢。

从代码建议、Agent 运行到组织管理,企业测量对象随行动能力扩展

AWS 并非行业起点,但它将观测推进了通用基础设施

把跨 Agent 的数据聚合起来统一接入,并不是 AWS 首创的想法。在 CloudWatch 推出 Coding Agent Insights 之前,主流的基础设施与监控厂商就已经在做类似的布局。比如 Grafana Cloud 提供了 Claude Code 的集成模块,Azure Monitor 搭建了兼容多款 Agent 的 OpenTelemetry 监控路径,GitHub 自身也推出了 企业托管的 OpenTelemetry 导出功能。集中观测 Agent 的运行状态,体现了监控与基础设施厂商共同推进的产品方向。

AWS 这次动作的关键,不在于它发明了新的指标维度,而在于它把主流 Agent 吐出的 OpenTelemetry 指标,直接接入了通用云运维枢纽——CloudWatch。

在控制台视图中,Coding Agent Insights 允许平台团队将 Agent 的运行数据与既有的 CloudWatch operational data 放在同一个视图里对比,并支持按组织、部门、成本中心或个人切片。原本散落在不同厂商后台的 token 支出和延迟数据,得以贴上统一的组织属性标签。

这种方式降低了在不同 Agent 之间搭建数据管线与数据汇总的摩擦。但这并不意味着团队可以省略具体的对接配置。各个 Agent 仍须按照 AWS 定义的指标规范与属性格式上报数据,而且不同厂商发出的原生指标在业务含义上依然存在差异。CloudWatch 提供的是公用的入口与视图,它本身并不是一个能自动整理所有控制逻辑的完整控制面。

同样叫观测,不同位置拿到的并不是同一种事实

当大家都在谈论“AI Agent 观测”时,很容易误以为整个工具链路正在收敛向某一种通用的控制面板。然而在实际使用中,不同层级的工具所能拿到的信息视角存在着根本的区别。

离模型和终端最近的,始终是厂商原生的分析与事件接口。像 Claude Code 监控文档Codex 配置文档 展示的那样,这类原生接口能捕捉工具内部更丰富的运行与工具决策信息。相比之下,像 CloudWatch、Azure Monitor 以及 Dynatrace 这类集中化的基础设施平台,重点在于提供跨 Agent 的运维监控通道;其中 CloudWatch 进一步结合组织架构信息,将指标用于成本切片与健康监控。能够理解 Agent 内部事件语义的原生接口,并不自动具备跨团队对比的能力;而集中平台公开的聚合 metrics,也不足以还原内部的具体运行细节。

如果需要进一步追查单次执行的具体过程,则属于另一种观察视角。OpenTraces 的定位靠近本地单次运行证据的记录;而像 LangSmith 这类工具,则通过主动埋点服务于调试与效果评估。单次运行定位与跨团队聚合承担着不同的功用,二者不能相互替代。

OpenTelemetry 规范解决了基础传输通道与属性结构的通用性,但在 Coding Agent Insights 的场景下,具体的属性挂载要求是由 AWS 明确规定的,OpenTelemetry 本身并没有标准化不同 Agent 供应商的原生业务语义。截至目前,公开文档中并未给出跨这几家 Agent 的统一语义映射,不同工具上报的数据依然带有各自的原生含义。

原生事件、集中运营和单次运行证据分别回答不同的观测问题

一张聚合趋势图,解释不了具体的某次执行

这种信息层面的差异,决定了聚合指标与单次执行细节之间的界限。CloudWatch Coding Agent Insights 直接接纳的数据属于 metrics,它适合用来观察一段时间内的资源消耗与趋势变动,但并不等同于记录了一次调用的完整上下文。

以 approval 相关的指标为例,不同 Agent 内部对“审批”的定义与触发粒度并不一致,AWS 公开文档中也没有提供跨厂商的统一映射。在缺乏源端特定定义的情况下,看板上按团队汇总的 approval 计数充其量只能作为后续排查的线索。这个数字本身无法证明某次具体的代码修改是由哪位操作者授权的、依据的是哪条策略、传入了什么参数,以及最终得到了怎样的执行结果。

在效能评估方面也是同样的逻辑。AWS 提议将 Agent 的使用指标与团队的代码提交吞吐量或 Pull Request 速度进行相关性分析,这能够提供宏观上的参考视角,但统计上的相关性并不等同于因果层面上的产出与 ROI 证明。汇总指标擅长展现资源消耗在何处、归属于哪个团队,却无法替代对具体动作的逐次授权与结果审计。

这些产品的演进,把一个新的管理问题摆到了企业面前:如何为能够自主行动的 Agent 分配预算、按身份归因,并明确观测责任。AWS 将 Coding Agent Insights 引入 CloudWatch,体现出这类管理需求正在向通用的云运维基础设施延伸。然而,在 AWS 目前展示的公开材料中,尚未表明其聚合指标与单次运行证据、授权记录之间已建立起稳定的关联。

鸭哥每日手记

日更的深度AI新闻和分析