Vibe Coding 与 Agentic Engineering 已经近得让我有点不安
文章摘要
Simon Willison(Django 联合创始人、Datasette 作者,过去两年在 simonwillison.net 上写了大量关于 LLM 的实操文章)这篇短文在反思一个让他自己都不太舒服的事实:他长期坚持的”vibe coding”和”agentic engineering”两个概念之间的边界,正在被他自己的工作习惯一点点抹掉。
他先回顾了自己原来的定义。Vibe coding 指 Andrej Karpathy 提出的”完全凭感觉用 AI 写代码、不深究代码质量”的玩法——这种玩法对个人小工具完全没问题,因为搞砸了只伤到自己;但用在生产系统里就是不负责任,因为别的用户会承担 bug 的代价。Agentic engineering 则是”有经验的工程师拿 AI 当增幅器”——你懂安全、性能、可维护性,AI 帮你写得更快但你仍然全程把关,目标是”用更少时间产出更高质量”。
不安从这里开始:随着 AI 编程 agent 越来越靠谱,Simon 自己也已经不再逐行 review agent 写出来的生产代码了。他在文章里把这个矛盾摆到台面:“如果我没有逐行 review,我把它推到生产,这真的算负责任吗?” 他给出的自我安慰理由是——这就像在大公司里,你信任团队成员的产出,并不意味着每行都看,只在出问题时才介入排查。换句话说,他把 agent 当成了一个”有信用记录的同事”。
文章最让人警醒的一点是 Simon 对软件评估这件事的重新定义。在 AI 时代,代码看起来好不好已经不是难题——一个新手用半小时就能让 AI 生成一个有完整 README、整齐测试用例、规范 commit 历史的仓库,从外观上完全无法和资深工程师认真做的项目区分开。所以他给自己定了一个新的判断标准:“你真的用过这个东西吗?”——只看输出已经不可信,只能用”这个产品/工具是否真的在被使用、解决了什么实际问题”来过滤价值。这是 Simon 一向克制的语气下少有的、带着自我怀疑的一篇。
HN 评论精华
-
u8:AI 是一片”参差不齐的前沿”(jagged frontier)——某些任务它远超人类,某些任务它会糟糕得离谱。所以策略不是 all-in 也不是 all-out,而是按场景切换:学习时手写、写样板代码用 AI、上班时用最快出活的那一种。
-
therealpygon:反驳”AI 让人变笨”叙事——开发者一直在演化工具栈,从汇编到高级语言再到 AI 辅助,每一次都被人警告”基础会丢失”,但生产力总体在提升。已有的判断力不会因为多一种工具就消失。
-
kiba:换了个比喻——”vibe-engineered 的桥梁”——把 AI 写出来的代码不经理解就推到生产,等同于让 AI 凭感觉给你算桥梁结构。这种”误用 AI”才是真正该警惕的,而不是 AI 本身。
-
lmeyerov:分享了真实的 agentic 工作流——多个项目并行跑 agent,配合 senior 工程师设计的 prompt 模板和自动化测试夹具,能同时推进多条战线、还顺便清掉技术债。但他强调这套配置的门槛在”高级工程师的 prompt 能力 + 完备的自动化”,不是给新人开外挂。
-
dodu_(反方):他的团队正在被 AI 生成代码持续制造的”地鼠 bug”折磨——表面上修了,根本原因从未触及。”velocity 不等于 progress”,团队把交付节奏和实际进展搞混了。
-
latexr:从一个意想不到的角度切入——为什么新人不再深度学习?因为持续的数字刺激让人没有”无聊”的瞬间,而无聊正是激活默认模式网络(DMN)、产生好奇心和深度思考的时机。AI 不是元凶,但它把”无聊”也填满了。
-
Tuna-Fish:乐观派——专用硬件和并行化会让 agentic 编程在未来几年内再加速一两个数量级,现在感受到的”快”其实只是指数曲线很早期的位置。
-
notnullorvoid:领域专家反方——在自己熟悉的语言和场景里,手写比向 AI 解释需求还快。让 AI 帮忙写 DSL、做 SIMD 优化、改 GPU shader,沟通成本经常超过亲自动手的成本。这个反例提醒大家:AI 的杠杆并不均匀分布。