正在刊行长文 · Essay
2026-09-07所有内容
随机比特 · Random Bits

AI 为什么总爱把简单需求写成屎山?揭开 Coding Agent 的“过度工程”病

2026-09-07AI Engineering / Systemsrbits.uk
AI 为什么总爱把简单需求写成屎山?揭开 Coding Agent 的“过度工程”病

在日常研发中,许多开发者都经历过这种场面。向辅助编码的智能体提出一个极小需求,例如在表单中新增一个生日录入框。作为资深工程师,标准解法清晰明了,插入一行原生平台标签便足以借助浏览器内建能力完成交互。

然而交给具备工具调用能力的智能体后,局势往往迅速失控。智能体会毫不犹豫地调用终端安装庞大的第三方组件库,新建多层目录与包装组件,用上下文容器层层封装,甚至在控制台中展开关于跨时区解析的长篇大论。原本一行原生代码即可交付的微小改动,最终演变成改动十余个文件、新增四百余行代码的巨型补丁。

大模型并不懂得写代码的维护代价;没有提前终止阶梯的约束,最听话的智能体也会把一行原生代码的需求写成几百行的架构官僚屎山。

模型底层偏见与边际成本的失衡诱因

智能体热衷制造代码通胀与架构肥大症,核心根植于大模型生成机制与现实工程规律之间的三重失衡。

第一重失衡来自训练数据分布的概率诱导。在海量开源代码与教程中,工业级第三方类库与复杂设计模式的出现频次,远高于原生语法的极简组合。面对需求时,模型的贪心推导天然会滑向概率质量更为富集的厚重框架方案。

第二重失衡来自生产边际成本与维护成本的脱节。人类工程师写代码保持克制,是因为深知每一行多余代码都意味着日后排障值班的痛苦与维护负担。但对智能体而言,生成十行与五百行代码在算力成本上几乎毫无差异。当生产边际成本趋近于零,代码体积必然滑向无序膨胀。

第三重失衡来自强化学习对齐中的迎合倾向与伪专业主义。在评测语境下,一行原生语法的精简实现常被误判为简陋草率;而包含类型定义、工厂方法与多层配置的繁冗方案,更容易迎合对专业工程水准的表面认知。智能体因此被强化出强烈的表演欲,宁可多写三层不必要的间接抽象,也绝不展现简洁。

Coding Agent 过度工程成因解析

提前终止阶梯的极简主义治理

打破这种膨胀惯性,需要将提前终止原则引入智能体治理中。开源项目 Ponytail 提出了尖锐命题,让编程智能体像最懂权衡利弊的资深架构师一样思考。

在面对由 tiangolo 维护的真实全栈项目、包含 FastAPI 后端与 React 前端的十二项日常开发工单基准评测中,研究人员对比了无约束与引入阶梯约束后的行为差异。数据显示,引入提前终止机制后,智能体输出的代码行数平均减少了 54%,在日期选择器等过度构建高发场景中削减幅度高达 94%;同时,由于省去了多文件构建与依赖解析,任务耗时缩短了 27%,整体调用的 Token 消耗下降 22%,综合 API 成本降低了 20%。

最好的代码是压根不用写的那一行;让智能体停在第一级能够解决问题的台阶上,才是工程实战的真正高级感。

实现显著收敛的核心,在于一套自上而下的提前终止阶梯。在允许智能体动笔写代码前,系统强制其逐级评估,优先通过 YAGNI 校验剔除边缘臆想;确定需要实现时,优先复用工程既有组件;若无现成封装,优先调用语言标准库内建能力;在界面场景中强制选用平台原生语义,直接阻断第三方库引入;唯有轻量路径均失效,才退守至最小可用实现的编写。

提前终止阶梯决策回路

坚守防御边界与工程极简的统一

推行提前终止绝不能滑向另一个极端,通过粗暴提示词要求智能体只写单行代码。在对比实验中,缺乏分层逻辑的简陋提示词虽然压缩了 33% 的代码行数,却导致智能体的安全与防御合规率由 100% 暴跌至 95%。智能体为了机械减行,开始肆意裁剪必要的边界校验与异常防御,反而将系统推向巨大风险。

提前终止阶梯的精妙之处,在于方案实现上极致克制,但在需求理解与安全防御上保持高度敬畏。

在踏上阶梯前,智能体必须完整阅读受影响的调用链路,建立完备上下文;属于信任边界的数据校验、关键错误处理与异常容错,永远属于严禁裁剪的红线。极简并非粗制滥造,而是剥离非必要的过度包装,用最坚固清澈的原生积木搭建系统。

当工程团队将这种基于第一性原理的决策阶梯固化为执行规范时,AI 辅助编程才能真正从自动堆砌屎山的推土机,蜕变为守护代码纯粹性的高超利器。

随机比特公众号二维码
公众号 · 随机比特
从 AI 工具热闹里拆工程真相

写边界、控制面、上下文、成本与安全。