AI生成代码为啥总“飘”?用合约驱动开发轻松搞定
AI 开发速度的尴尬真相
你肯定体会过。用 Claude 或 Cursor 的头一个月,简直神仙日子。功能蹦出来得飞快,框架一夜建成,样板代码瞬间蒸发。
可第二个月就变味了。代码编译没问题,测试全绿,部署顺溜。但总觉得不对劲——它没按你最初想的那样建。
这不是偷懒。这是漂移。
最近研究扎心了。SlopCodeBench(2026年3月)说,近90%的 AI 代理在长任务上,代码越来越啰嗦,质量直线下滑。CMU 的 Cursor 研究显示,前3-5倍速度加成俩月后没了,还多了30%的警告,复杂度涨41%。更狠的是,22.7%的 AI 引入问题,到最新版还赖着不走,横跨海量提交记录。
AI 没坏。是治理模式出问题。
三大隐形杀手,没人聊
语义漂移
产品需求写着“轻量直观”。仨月五十轮提示后,系统技术上对得上——但体积飙到5MB,还得靠仨微服务撑着。概念偷偷变异,没人点头。代码能跑,谁也没留意,直到上线炸锅。
隐形决策
那架构咋定的?翻聊天记录。基于哪个需求版?去 Slack 挖。API 为啥返回嵌套对象不扁平?估计是某个工程师随口问的。没有正式审查链,没有审批痕迹。监管或审计上门时,你咋交代?
上下文碎裂
代码库早超单一 AI 的窗口,三轮迭代前就超了。现在没人握全貌。归属变口头禅,然后猜谜。结果十条分支,各执一词,全“批准”了——因为没人能整体审。
大家醒悟的那一刻
2026年初五个月,这毛病同时冒出六个名头:
- Intent debt(Storey,加拿大研究主席)
- Cognitive debt(MIT Media Lab)
- Paradox of supervision(Anthropic)
- Scaffolding fragility(HN 刷屏)
- Comprehension debt(O'Reilly)
- AI slop(Baltes 等)
人人看清伤口。没人给出解药。
直到 contract-driven development 杀出。
合约碾压需求文档
需求驱动开发是进步。你写想干啥,系统生成,大家发货。低果子摘干净了。
但需求会悄无声息腐烂。扔在 wiki 里,过时没人管。代码还对得上吗?没人知道,没持续绑定。
Contract-driven 反转玩法。代码按活合约生成和校验——多层结构抓牢:
- Intent:系统干啥(你拥有、批准)
- Product & UX:用户咋体验(从 intent 生成,你把关)
- System:架构咋搭(从 intent 和 product 生成,你把关)
每层哈希,每层可溯。漂移一来——肯定来——你有:
- 检测:批准项全指纹,下轮自动浮出
- 修复:明确路径,不是瞎蒙
- 重评:代码对合约复判,不孤立过
严谨又灵活
VibeLoom(这类系统)分五档,随项目成熟切换:
Vibe——原型狂飙。只管 intent,其他自动。快船快学。
Product-led——你控 intent 和 product,system 自动。设计队友好。
Tech-led——你控 intent 和 system,product 自动。基础设施重镇适用。
Design-led——你控 intent 和 UX,mockup 推 product。用户导向店首选。
Expert——全层明示,无自动。零信任。高规或关键系统必备。
别一天全上。从 vibe 起步,代码库长牙再升级。
现在为啥急
暗厂开发要来了。全系统代理写,人 barely 插手。不是用不用 AI 生成代码——是它跑起来,你有没有可见性和控制。
需求驱动捕获意图。Contract-driven 守住意图。
这差距雪球越滚越大。模型曲线狂飙,越来越紧凑连贯的系统(contract-driven),完爆悄积债务的(spec-driven),优势几何级。
知道自己想干啥、漂移时能查、修好有路——这才随 AI 规模化,而不是被它拖后腿。
关键一问
AI 代码进生产,问自己:
- 这决策为啥这么定,能溯源?
- 代码偏离意图,我知道吗?
- 偏了咋修,有流程?
任何一个“不确定”,就得上合约层。别等明天。现在。
想试试? VibeLoom 开源,支持 Claude Code 和 Python 3.10+。零运行依赖,MIT 许可。代码开源,等着跃升需求驱动的团队来抢。
AI 速度真金不怕火。让它连贯下去,才是下个战场。