CPU 调节器决定了你的 Agent 基准测试结果:那个被忽视的 CI 宿主机因素
我曾合作过的一个团队花了三天时间寻找他们智能体(agent)循环中 22% 的延迟回归原因。他们归咎于新的工具路由(tool router)。他们归咎于切换了模型版本。他们归咎于前一周悄悄升级的 JSON schema 验证器。他们最终在代码下游两层的地方找到了元凶:一个运行器镜像(runner image)进行了更新,新镜像将 cpufreq 调节器(governor)的默认值从 performance 改为了 schedutil,而智能体工具调用循环的突发性使得 schedutil 的升频延迟在 p95 指标中变得显而易见。模型没问题。智能体也没问题。仅仅是内核在微突发任务之间改变了 CPU 频率的调节策略,导致整个基准测试结果发生了偏移。
这是大多数智能体团队从未见过的故障模式,因为他们从不观察。你的 CI 基准测试数字并不是对模型或智能体的测量。它们是对一个技术栈的测量,这个栈恰好包含了模型、网络、共享虚拟机、虚拟机监控程序(hypervisor)调度器、具有未知邻居的缓存层级,以及——最隐蔽的——频率缩放策略,它决定了给定的每一毫秒计算是以 1.0 GHz 还是 3.6 GHz 运行。
