【2026实测】受够了Vibe Coding的失控?换个起点,让AI事半功倍

张开发
2026/4/13 16:09:46 15 分钟阅读

分享文章

【2026实测】受够了Vibe Coding的失控?换个起点,让AI事半功倍
一、Stripe 每周千个 PR我却连一个模块都不敢让 AI 独立写前阵子社区被 Stripe 的一则消息刷屏他们的 Minions 系统让 AI 每周产出上千个 PR工程师只需要做代码审查。消息一出一批人欢呼AI 替代程序员进入倒计时另一批人开始焦虑——我一个人/小团队怎么才能跟上这个节奏说实话我看完之后的第一反应不是焦虑是疑惑大厂是怎么做到让 AI 产出的 PR 能看的因为我自己试过太多次 Vibe Coding——就是打开 AI凭感觉让它从头写一个功能。流程大概是这样打开 Claude Code / Cursor甩一句帮我实现 XX 功能AI 兴致勃勃地开始生成前两轮效果不错第三轮开始出现接口名不一致、重复的工具函数、偶尔蹦出的幻觉 API第五轮之后整个模块开始漂移——我自己都快认不出这是我让它写的项目了举一个最近刚踩的坑上周我让 AI 给一个现成项目加批量上传子系统前两轮输出干脆利落到第四轮我突然发现它悄悄把我项目里已有的FileUploader类替换成了一个新造的BatchUploadManager——接口签名都改了调用点还散落在五六个文件里。我看到 diff 的时候直接骂出声——这下好了一下午全得搭进去把这些善意的重构一个一个挑出来清理。然后我就得花半天去清理。清理到最后我发现一个残酷的事实我删掉的 AI 代码比我留下的还多。二、Vibe Coding 的失控不是 AI 不够聪明是起点错了这篇文章的核心暴论先抛出来你让 AI 从零写一坨代码它就一定会失控。这不是模型能力的问题是上下文承载量的物理极限——而你给它的起点太低了。这里面的门道是什么我实测踩过的坑归纳下来三条硬道理理由一超长上下文里AI 的注意力一定会掉档。Stanford 2023年有篇论文Lost in the Middle把这个现象钉死了大模型在长上下文里两头的信息记得最牢中间段位的信息被严重稀释。放到编码场景就更戏剧——不管你用的是 Claude、GPT 还是别的旗舰模型一旦让它在几万行代码的上下文里做增量开发到第三四轮就会出现遗忘已有约定的现象。前面定义过的接口签名会被它悄悄改成新名字已经存在的 util 函数会被它重新造一个轮子。这不是 bug是注意力机制的物理极限——上下文越长关键信息被稀释得越厉害。所以别再指望我把整个项目扔进上下文AI 就能看懂全局——塞得越多它漏得越狠。大上下文 ≠ 好结果这是写 AI 编程文章的人不愿意告诉你的真相。理由二AI 在规划和执行两个任务上会互相干扰。让 AI 从零写一个模块它同时要做两件事想清楚应该怎么设计规划和把设计翻译成代码执行。这两件事在一次对话里反复切换会让它的整体产出质量塌方。你仔细看失控后的代码常常是每一段单看都对合在一起逻辑自相矛盾。理由三Vibe Coding 的上限是你自己的表达能力不是 AI 的能力。我见过太多人抱怨AI 写的代码不能用仔细一追需求本身就描述得模糊。AI 不是没给你最好的答案是没人告诉它什么叫好——而你自己也没想清楚。三、成熟模块的真正价值是给 AI 减负上面的三条理由听起来像是AI 编程的死路但其实它们都指向同一条出路——不要让 AI 从零开始。我在这里想抛出一个可能更反直觉的观点软件工程过去二十年积累的那堆成熟开源模块、业务组件、通用工具库它们今天最大的价值不是省你时间而是给 AI 减负。过去我们用开源模块想的是别重复造轮子。现在 AI 参与进来之后价值发生了升级——预验证过的成熟模块等于给 AI 一块不用再理解的既定地基。AI 不需要搞清楚这个模块内部怎么实现的、有没有坑、边界条件怎么处理它只需要知道接口长什么样、怎么调。这些信息量只有原始代码的零头。一句话把 AI 要处理的 10 万行代码减负到只需要理解 20% 的胶水。注意力焦点一旦收窄幻觉和漂移立刻降一个数量级。这不是什么新思路它就是传统软件工程里复用优先的老道理。但放到 AI 编程时代它突然变得极其关键——因为 AI 最怕的就是从零到一它最擅长的恰恰是在既定约束下做微调。换句话说AI 擅长修修补补不擅长白手起家。那你就别让它白手起家。举一个我前阵子的实测小例子同样是给一个项目加 HTTP 请求重试能力让 AI 从零写它会把 urllib 封装、退避算法、异常分类一套全重新实现一遍动辄两三百行还未必对但如果我先在提示里告诉它项目里已经有tenacity装饰器、一个统一日志工具、一个自定义异常基类——这些都是预验证过的成熟模块——AI 最后只写了不到三十行的业务胶水就解决了。十倍的代码量差距背后是 AI 注意力焦点的断崖式收窄它不用再去发明什么只需要连接什么。道理讲完了但操作上还有三个老大难挡在路上你知道有一堆开源模块可以用但在哪儿找每次开新功能就要开五个标签页翻 GitHub、npm/PyPI、社区推荐一小时过去了正事还没开始。就算找到了把多个模块胶水到一起工作量不小——每个模块的 API 风格、初始化方式、异常处理都不同跨三四个模块的胶水就是两天。更要命的是已有的大项目里其实已经沉淀了一堆可复用模块但你自己都记不全有哪些。换个新需求过来你想复用自己的资产却发现连翻找的成本都高到让人放弃。所以我后来就在想能不能有个工具把找模块 评估 装配 胶水这些脏活全自动化我只负责告诉它我要做什么它直接产出一个可以丢给 AI 去执行的八十分起点四、GufaForge 的思路把给 AI 减负做成一条流水线承接上一篇我提到的GufaForge古法锻造——古法就是 AI 出现之前人手工写的那些经过验证的代码这篇正好可以聊清楚它到底在解决什么问题。先把定位讲清楚它不是又一个代码生成工具也不是套壳 Claude Code 的 IDE 插件。它解决的是一个更底层的问题——在 AI 动手之前先替它把注意力减负做完。你可以把它理解成 AI 的前置工作台扫描、评估、装配、产出清单——所有让 AI 头疼的理解已有代码的脏活都在这里做完AI 最终拿到的只是一份边界清晰的装配计划。整条流水线串起来就是一条从需求到八十分起点的自动化路径先对你本地代码库做一次资产盘点扫描模块边界、输入输出、依赖关系打成可检索的索引再拿你的自然语言需求去匹配——能复用的自家模块先填上缺什么再去外部生态GitHub / npm / PyPI检索候选最后把完整的装配计划导出成一份结构化的 MD 文档。关键是到最后一步为止还没有生成任何一行真正的代码——GufaForge 只在做规划这件事它产出的不是代码是一张可执行的蓝图。这份 MD 就是你递给 AI Agent 的从八十分开始的起点。Agent 拿到它看到的不是你从零实现一个 XX而是这里有 80% 的骨架请按清单把剩下 20% 的胶水代码补完。从白纸到代码 vs 从清单到代码AI 的失控率差了一个量级——前者要它同时做规划和执行两件事这俩在一次对话里会互相干扰后者只让它做最擅长的按约束填代码规划的脏活 GufaForge 已经替它做完了。五、同一个功能两种起点差距有多大说这么多不如看实际对比。我拿同一个功能需求——“给现有项目加一个文件批量处理的子系统支持并发、错误重试、进度回调”——分别用两种方式交给 AI 实现。一个下午的 A/B 对比做下来差距大到我自己都没想到Vibe Coding 方案AI 吐出一个两千多行的实现其中一半是重复造轮子项目里其实已经有并发池工具三个地方用了根本不存在的 API接口风格和项目其他部分完全不一致。我花了一个下午做审查和清理从八十分起步方案AI 拿到装配清单后只补了约四百行业务胶水代码复用了项目里已有的并发池 重试装饰器 日志模块接口风格天然一致。我花了半小时过一遍就合并了具体到几个可量化的维度差距大到不像同一个 AI 写的代码行数两千多行 vs 四百行差 5 倍以上。不是 AI 变懒了是它不用再实现那些项目里已经有的工具函数幻觉 API 数量Vibe Coding 方案里至少有三处 AI 自己编出来的 API比如调用了根本不存在的ConcurrentPool.batch_submit_async()八十分方案里一个都没有——因为能用的 API 都在清单里给它定死了接口风格一致性Vibe Coding 方案里新老代码风格撕裂感明显有的用 snake_case 有的用 camelCase八十分方案因为复用了项目既有工具风格天然对齐手动修正次数前者改了不下二十处后者两三处就收尾了心理成本前者每次合并前我都要反复自问这段 AI 代码真的能跑吗后者因为边界清晰合并前的心跳明显低一档——这个感受看起来软但它才是真正能把人和 AI 长期绑在一起的东西一个人开发者能不能长期和 AI 协作下去关键不在 AI 写得有多快而在你每次合并前心跳有多低。不是说 AI 变聪明了是它的任务被压缩到了它最擅长的粒度——“在既定约束下做微调”。六、这个方法什么时候不好使新项目第一天你手里没有任何可复用的模块这招就用不上你得愿意写薄胶水层而不是追求完美抽象Agent 执行阶段你还是得自己过一遍人工审查这一关谁也省不掉。但它能帮你做到的事非常具体让 AI 从灾难型合作者变成靠谱的初级工程师让你写过但遗忘的历史代码资产重新激活让一个人的工程量追上小团队的节奏——最后这条是我自己最在乎的点。GufaForge 目前还在内部打磨工程化在持续完善。开源时间我暂时不想承诺——这个工具对我自己太重要我想等它稳到我敢每天自用再放出来。不过如果你对从八十分开始这个思路感兴趣有几件事可以立刻做花半小时写一份本项目模块清单——核心工具类/通用组件/已有的装饰器每条一行注明做什么 从哪调用——把这份清单塞到 Claude Code / Cursor 的项目级 instructions 里下次让 AI 写功能时它自然会先去复用而不是瞎造下次写新功能时别直接甩给 AI先自己搭个骨架再让 AI 填肉——哪怕骨架只是个空函数签名列表你会发现失控率立刻降一半关注我后续的更新——下一篇我打算写从八十分开始在真实项目上跑一圈后踩到的新坑有的坑只有规模化用了才会出现对我自己来说从去年开始我就在纠结一个问题一个人怎么才能做出十个人的工程量而不是被 AI 拖进写一堆又要删一堆的循环里。从八十分开始是我目前能想到的最靠谱的答案。如果你和我一样看着 Stripe 的千 PR 公告一边兴奋一边焦虑那欢迎一起走这条路。先把起点抬到八十分剩下的交给 AI——这个分工方式我已经自己跑了几个月到今天为止它是我用过的唯一一条不让人抓狂的 AI 编程路径。关于作者10年码农曾任某互联网大厂技术专家。常年专注于原生应用和高性能服务器开发、视频传输和处理技术以及AI个人生产力研究。作者海滨code | GitHubhaibindev | 个人主页交流请加WXhbstream转载请注明作者和出处相关推荐把近5万个源文件喂给AI之前我先做了一件事写了10年代码的人在AI编程时代反而最值钱

更多文章