背景
Simon Willison 在 Heavybit 的 High Leverage 播客上和 Joseph Ruscio 聊 AI 编程工具。对话中他意识到一件事:自己之前严格区分的 "vibe coding" 和 "agentic engineering",在实际工作中已经开始模糊了。
这个区分很重要。Simon 在 2025 年 3 月写过一篇 Not all AI-assisted programming is vibe coding,明确把两者分开。一年后他发现,界限没那么清楚了。
原来的区分
| Vibe Coding | Agentic Engineering | |
|---|---|---|
| 做法 | 不看代码,只说需求,能跑就行 | 专业工程师用 Agent 加速,但保持工程标准 |
| 适合 | 个人工具,bug 只影响自己 | 给别人用的生产系统 |
| 底线 | 可以不关心代码质量 | 必须关心安全、可维护、性能 |
| 本质 | 快速出东西 | 更高质量更快出东西 |
Simon 的原话:"If you're building software for other people, vibe coding is grossly irresponsible. You need to have a higher level than that."
为什么边界开始模糊
核心原因是:Agent 越来越可靠了。
Simon 发现自己开始不再逐行审查 Agent 写的代码——即使是生产级的:
"I know full well that if you ask Claude Code to build a JSON API endpoint that runs a SQL query and outputs the results as JSON, it's just going to do it right. It's not going to mess that up."
"But I'm not reviewing that code. And now I've got that feeling of guilt: if I haven't reviewed the code, is it really responsible for me to use this in production?"
这和 vibe coding 的定义非常接近:不看代码就上线。 区别是 Simon 有 25 年经验做判断——他知道哪些任务 Agent 几乎不可能搞砸,哪些需要仔细审查。但表面行为上,两者的界限已经很难分辨了。
他怎么合理化这件事
Simon 用了一个类比:
在大公司里,其他团队给你一个"图片缩放服务"。你不会去读他们每一行代码。你看文档、用一下、开始出货自己的功能。只有出问题了你才会去翻他们的 Git 仓库。
他开始用同样的方式对待 Agent 产出的代码——当作"半黑盒",用到出问题再深入看。
软件评估的新挑战
Agent 带来的另一个变化:你没法从项目表面看出它是否经过深思熟虑。
"I can knock out a git repository with a hundred commits and a beautiful readme and comprehensive tests in half an hour! It looks identical to those projects that have had a great deal of care and attention."
Simon 说,现在他更看重的信号是:这个项目有没有被实际使用过。 一个 vibe coded 的东西,如果作者自己每天在用两周了,比一个刚生成出来还没怎么跑过的"专业项目"有价值得多。
瓶颈已经转移
"If you can go from producing 200 lines of code a day to 2,000 lines of code a day, what else breaks?"
整个软件开发生命周期——设计、评审、测试、部署——都是建立在"一天写几百行代码"这个前提上的。当这个前提变了,上游的设计流程也需要变。
他引用了 Anthropic 设计负责人 Jenny Wen 的观点:过去设计流程之所以很重,是因为"设计错了就要让工程师花三个月做错的东西"。但如果写代码的成本大幅降低,设计试错的成本也就降低了。
Simon 为什么不担心自己的职业
"When I look at my conversations with the agents, it's very clear to me that this is moon language for the vast majority of human beings."
"Producing software is a ferociously difficult thing to do. And you could give me all of the AI tools in the world and what we're trying to achieve here is still really difficult."
他引用了政治评论员 Matthew Yglesias 的一条推文总结得很好:
"Five months in, I think I've decided that I don't want to vibecode — I want professionally managed software companies to use AI coding assistance to make more/better/cheaper software products that they sell to me for money."
类比:我可以通过看 YouTube 视频学会修水管。但我宁愿雇一个水管工。
对读者的判断
| 你的情况 | 这篇文章给你的信号 |
|---|---|
| 在用 Agent 写生产代码 | "不逐行审查"不等于 vibe coding——但你需要用经验判断哪些任务可以信任 Agent |
| 在评估别人用 Agent 写的项目 | 看它有没有被实际使用,不要只看测试和文档 |
| 在设计团队流程 | 设计和试错的成本已经降低,流程可以更激进地迭代 |
| 在学编程 | Agent 是经验放大器,不是经验替代品——你越懂,它帮你跑得越快 |
| 只做 vibe coding 个人项目 | 完全没问题,但要清楚边界:给别人用的东西需要更高标准 |
一句话结论
Simon Willison 发现了一个不方便的事实:当 Agent 足够可靠时,"专业工程师不审查就上线"和"vibe coder 不审查就上线"在外观上已经无法区分。 区别只在操作者有没有能力判断哪些任务可以信任、哪些不行。这不是工具的问题,是经验的问题。