你的故障指挥官无法执行的智能体运行手册
报警在当地时间 02:17 响起。值班 SRE 在手机上打开智能体运行手册,阅读第一步:“检查智能体的工具调用追踪,寻找异常的工具使用情况。”他们打开链接,却遇到了一个他不属于的工作区的 SSO 登录提示。第二步说要检查提示词构建日志;同样碰壁。第三步说回滚到上一个提示词版本,但部署权限被限制在了一个他不在的团队中。等他弄清楚该向哪个 Slack 频道上报,并叫醒 AI 团队的产品经理时(因为她是 02:17 唯一能找到的人),九十分钟已经过去了,而客户可见的回归故障仍在持续给出错误答案。
事后分析会将权限鸿沟确定为直接原因。而更深层的不适感在于,这份运行手册在白天读起来很顺畅,但在深夜执行时却被封锁,因为编写手册的人拥有执行者所不具备的权限。
这种故障模式悄无声息地潜伏在几乎每一个在生产环境中存活过第一个季度的智能体产品中。AI 团队构建了智能体、智能体的可观测性以及智能体的部署流水线。他们根据自己用于调试的工作流编写了运行手册。这份手册在技术上是正确的,但在操作上对于实际执行它的人来说是无法交付的。
作者角色并非读者角色
每份运行手册都有两个角色,而大多数智能体运行手册都混淆了它们。作者角色是构建系统的工程师,知道追踪信息存在哪里,拥有每个后端服务的凭据,并能用代码库的术语描述故障模式。读者角色是那个在 02:17 被传呼的人。在大多数组织中,这是两个不同的人;而在拥有专门 AI 平台团队的组织中,他们必定是处于不同值班轮换、拥有不同权限的不同人员。
传统的服务运行手册能够跨越这种鸿沟,是因为服务团队和 SRE 轮换团队已经为此磨合多年。这里存在一个默契的契约:运行手册中的任何内容都必须能从中央值班人员的权限配置文件中执行。仪表盘在 Grafana 中呈现,而不是在团队特定的工具中。日志进入中央日志存储,而不是私有的 S3 存储桶。部署通过共享的部署控制台进行。当一个服务团队忘记了这个契约时,SRE 团队会在第一次演练中察觉,发送严厉的消息,然后运行手册就会被重写。
智能体运行手册打破了这个契约,因为在谈判该契约时,AI 平台团队通常还不存在。他们是为了追求速度而快速组建的,出于效率或成本原因拥有自己的可观测性技术栈,并且拥有自己的部署流水线,因为提示词不是代码,代码审查无法捕捉提示词的回归。这些本身都没有错。错误之处在于,他们交给值班人员的运行手册读起来就像他们自己调试工作流的 Readme,完全没有意识到执行它的人并不拥有他们的工具。
