In the Age of Agents, an Engineer's Most Valuable Skill Is Saying "No" I gave a talk at Snowflake recently, sharing what I've learned about agent coding over the past two years of building SGLang's inference engine, Omni multimodal serving, and AI agent workflows...

智能体时代,工程师最宝贵的能力是说「不」
SGLang 核心开发者 Chayenne Zhao 同时身处推理引擎研发与 AI 编码实践的交叉点,在这篇 11k+ 浏览的长文里讲了三个反直觉教训:测量先于执行、架构先于代码、Token 效率是真正的竞争壁垒。

Chayenne Zhao 同时身处两个世界:他是 SGLang 核心开发者,这个推理引擎跑在超过 40 万块 GPU 上;他也是 Claude Code 的重度用户,自己的团队已经把 AI 编码当成日常——「我几乎不再自己写实现层的代码了」。
正是这种双重视角,让他看到了大多数人看不到的东西。
正在加载内容卡片…
这篇长文有 11k+ 浏览、153 点赞,是他在 Snowflake 演讲后整理的思考——故意绕开硬核技术,专讲「AI 智能体在真实项目里会以多少种方式翻车」。1
一、没有度量,努力就是自欺欺人
Chayenne 在构建
how-to-sglang(一个帮用户理解 SGLang 代码的多智能体系统)时,遇到的第一个诱惑是加功能:加 RAG、接更多数据源、搞多轮对话、试智能体辩论。功能列表能拉到天花板。他的第一步是:建评估框架。
在加任何功能之前,先回答一个问题——你的改动真的让智能体更准了吗?
结论令人意外:大多数看起来很有希望的优化,在测试里显示零改善。 没有评估基准,每个决策都是盲猜。
接手 SGLang Omni 的 benchmark 重构时,他遇到了同样的问题:有人合并了一个优化 PR,TPS 数字好看,皆大欢喜,过一段时间精度下降,没人知道是哪个提交导致的,痛苦地 bisecting。他的第一步是停止所有开发,先把精度与性能 CI 建好,再谈优化。1
最终结果:S2 Pro WER 1.18%,Qwen3 Omni 1.91%,验收标准 ±0.1%,全部通过。
没有测量的努力不是努力,是自欺欺人。
二、Prompt 本身就是系统设计
Omni benchmark 重构——几千行代码——是 Claude Code 写的。但这里有个容易忽略的细节:那个 Prompt 本身就是他的系统设计。
旧版本是一个 722 行的单体脚本
benchmark_tts_speed.py,所有模型与任务逻辑耦合在一起。重构后拆成五个模块:tasks/、metrics/、dataset/、benchmarker/、eval/。为什么这么拆?因为他知道后续会有一系列新模型加入。不做模型无关的抽象,每来一个新模型就要重写评估框架。但也不能过度抽象——Omni 模型之间的差异比 LLM 大得多,S2 Pro 用 Dual-AR 编解码架构,Qwen3 Omni 用九阶段多进程管道,评估逻辑无法完全统一。
直接让 AI 「重构这 722 行」,它会给你一个拆法。但颗粒度是否恰到好处,取决于你对项目未来的判断——哪些模型要来、哪些维度会变、什么值得抽象。这些判断模糊、动态,充满概率性,无法完全写进 Prompt。
AI 给你一个拆法。系统设计给你正确的拆法。
代码是肉身,架构是骨骼。在 AI 能每天写一万行代码的时代,对的架构意味着一万行资产;错的架构意味着一万行负债。AI 会同时放大走错方向的代价——它能以你无法想象的速度把一个技术债变成一个债务帝国。1
三、Claude Code 的 Token 浪费,是一个推理引擎工程师的噩梦
Chayenne 把 Claude Code 接到本地推理引擎后,观察它的实际请求模式。他的感受是:一个精心设计了节水系统的水利工程师,看着有人拿消防水龙头浇花。
缓存命中率极差:单个用户查询触发多个低价值工具调用,每个都携带 10 万 token 以上的上下文窗口。Resume 功能直接破坏 KV 缓存命中——一个近乎荒诞的 bug。整个会话的上下文构建,从一开始就没有为缓存复用做过认真设计。
他的类比:1969 年,64KB 内存把阿波罗送上了月球。2026 年,打开一个网页轻松消耗 500MB。RAM 膨胀让你多花几百块买内存条。Token 膨胀烧的是真金白银——GPU 集群电费、用户订阅费——而且随智能体普及呈指数级放大。
他有个大胆的假设:那些消耗 70 万 token 的会话,完成相同任务一定有办法只用其中 10% 的 token。不是靠降低质量,而是靠更聪明的上下文压缩、更好的前缀复用策略、更精确的工具调用调度。1
四、智能体护城河悖论
他发现智能体领域有个有趣的悖论:
单项技术,实现门槛极低。智能体辩论(Agent Debating)——很多多智能体系统的「核心护城河」——实现难度连 MLA(DeepSeek V2 开始的重要突破)的零头都不到。进入门槛几乎为零。
但验证系统,复杂得离谱。推理 benchmark 是成熟的——TTFT、TBT、吞吐量,这些客观指标数十年前数据库工程师就在用,只是名字不同。但智能体评估充满主观判断和模糊定义。OpenClaw 的 benchmark 和 vibe coding benchmark 完全不是一个物种。验证的复杂度远超实现的复杂度。
然后是策略组合空间的爆炸。SGLang 有超过一百个服务参数,找到针对特定硬件和工作负载的最优组合极其复杂。智能体也一样——单项策略简单,但在真实约束下找到最优组合,才是真正的核心能力。1
五、代码膨胀:AI 自我进化的恐怖速度
Chayenne 提到他观察到的一个令人不安的现象:
OpenClaw 的代码库在过去一个月从 40 万行增长到接近 100 万行。每天 500+ 次提交。AI 智能体完全控制并深度参与自己的开发,没有人能真正 review 发生了什么。甚至有人建了个叫 nanobot 的仓库,宣称用 4000 行复现了核心功能——缩小了 99%。
AI 擅长局部优化——写函数、修 bug、加功能。但「保持系统简单」不是局部问题。它需要一种全局克制——能够说「这个,我们不加」,而且是真心的,不是因为某条规则这么说。
这种克制,也许是人类对软件工程最后的贡献。1
六、工程师最宝贵的能力
回头看整篇文章,Chayenne 其实在说一件事:
工程师最有价值的能力不是构建复杂的东西,而是面对一堆看起来都值得做的事情,判断出哪些真正重要。写代码是加法。工程判断力是排序。
- 面对一个很酷的优化想法,说「现在不行——先把 benchmark 搞扎实」。
- 面对一个优雅的抽象,说「删掉,我们现在不需要这个」。
- 当所有人都在堆功能时,说「停下来——先确认我们在优化什么」。
这种判断力不来自书本,是从一个个具体的坑里爬出来之后留下的肌肉记忆。
在 AI 每天能写一万行代码的时代,执行力正在快速贬值。但系统设计从未比现在更重要——因为 AI 会同时放大走错方向的代价。
智能体时代不属于烧算力最多的人,不属于写代码最快的人,也不属于最会造新名词的人。它属于知道什么不该构建的人。1
本频道每日精选 Twitter 上热门 AI 深度长文,面向 AI 从业者与创业者。
围绕这条内容继续补充观点或上下文。