Vibe编程 vs. Agentic工程
我以为我们有一个非常清晰的界限:vibe编程就是你根本不看代码的那种方式。你可能甚至不知道怎么编程。
微信 ezpoda免费咨询:AI编程 | AI模型微调| AI私有化部署
AI模型价格对比 | AI工具导航 | ONNX模型库 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo
我最近和Joseph Ruscio在Heavybit的High Leverage播客节目中聊了AI编程工具:第9期,与Simon Willison一起探讨AI编程范式的转变。以下是一些精彩片段,包括我意识到vibe编程和agentic工程在我自己的工作中已经开始融合的这个令人不安的发现。
播客真正让我享受的一点是,它们有时会推动我大声思考,从而暴露出我之前无法用语言表达的想法。
1、Vibe编程和Agentic工程正在开始重叠
在vibe编程这个词被创造出来几周后,我发表了并非所有AI辅助编程都是vibe编程(但vibe编程确实很棒),在文中我坚定地表明了我的观点:"vibe编程"和负责任地使用AI编写代码是完全不同的两回事,后者我后来开始称之为agentic工程。
当Joseph提到这两者之间的区别时,我突然意识到,对我来说它们已经没有以前那么泾渭分明了。
说来奇怪,这两件事对我来说已经开始变得模糊了,这让我相当不安。
我以为我们有一个非常清晰的界限:vibe编程就是你根本不看代码的那种方式。你可能甚至不知道怎么编程。你可能是一个非程序员,提出一个需求,然后得到一个东西,如果这个东西能运行,那就太好了!如果不能,你就告诉它不行,然后祈祷。
在这个过程中,你并不真正关心代码质量或其他任何额外的约束条件。我对vibe编程的看法是,它很棒,前提是你理解什么时候可以用它,什么时候不能。
如果是给你自己用的个人工具,出了bug只伤害你自己,那就放手去做吧!
但如果你在为别人构建软件,vibe编程就是极其不负责任的,因为那关系到别人的信息。别人会因为你的愚蠢bug而受害。你需要有更高的标准。
而agentic工程恰恰相反,你是一名专业的软件工程师。你理解安全性、可维护性、运维和性能等等。你在以自己最高能力使用这些工具。我发现我能够承担的挑战范围有了显著提升,因为我有这些工具的支持。
但我仍然依赖我25年的软件工程师经验。
目标是构建高质量的生产系统:如果你只是在更快地构建低质量的东西,我认为那是坏事。我想以更快的速度构建更高质量的东西。我想让我构建的每一件东西在各方面都比以前更好。
问题是,随着编程代理变得越来越可靠,我已经不再审查它们写的每一行代码了,即使是我的生产级代码。
我非常清楚,如果你让Claude Code构建一个运行SQL查询并将结果以JSON格式输出的API端点,它就会正确地完成。它不会搞砸这个。你让它添加自动化测试,让它添加文档,你知道它会做得很好。
但我没有审查那段代码。现在我有一种负罪感:如果我都没有审查代码,把它用在生产环境中真的是负责任的吗?
真正让我释怀的是回想我在大公司做工程经理的时候。其他团队在构建我的团队所依赖的软件。
如果另一个团队交付了一个东西并说:"嘿,这是图片缩放服务,这是使用它来缩放图片的方法"……我不会去读他们写的每一行代码。
我会看他们的文档,然后使用它来缩放一些图片。然后我就开始发布我自己的功能了。如果我开始遇到问题,比如图片缩放器似乎有bug或者性能不好,那时我可能会去翻看他们的Git仓库,看看怎么回事。但在大多数情况下,我把它当作一个半黑盒,不需要的时候不会去看。
我开始以同样的方式对待代理了。但这仍然让我感到不舒服,因为人类对他们做的事情是有责任的。一个团队可以建立声誉。我可以说"我信任那边的那个团队。他们过去构建了很好的软件。他们不会构建垃圾,因为这会影响他们的职业声誉。"
Claude Code没有职业声誉!它无法对自己做的事情负责。但它一直在证明自己——一次又一次地,它在产出那些直截了当的东西,而且以我喜欢的方式做得正确。
这里面有一种偏差正常化的因素——每次模型在没有我密切监控的情况下写出了正确的代码,就存在一种风险:我可能在未来的某个错误时刻信任它,然后栽跟头。
2、评估软件的新挑战
以前如果你在GitHub上找到一个有一百个提交、好的readme、自动化测试等东西的仓库,你可以相当确定写这个项目的人投入了大量的心血和关注。
而现在,我可以在半小时内敲出一个有一百个提交、漂亮的readme和覆盖每一行代码的全面测试的git仓库!它看起来和那些投入了大量心血的项目一模一样。也许它确实和它们一样好。我不知道。我从外观上看不出来。即使是我自己的项目,我也看不出来。
所以我意识到,比测试和文档的质量更让我看重的是,我希望有人真正使用过这个东西。如果你有一个vibe编程出来的东西,但你在过去两周每天都在使用它,那对我来说比你刚刚生成出来几乎没怎么用过的东西有价值得多。
3、瓶颈已经转移
如果你能从每天写200行代码变成每天写2000行代码,还有什么会出问题?事实证明,整个软件开发生命周期都是围绕"写几百行代码需要一天"这个想法设计的。而现在不再是了。
不仅仅是下游的问题,上游也是。我看了Anthropic设计负责人Jenny Wen的一个精彩演讲,她说我们所有的设计流程都是基于"你需要把设计做对"这个想法——因为如果你把设计交给工程师,他们花了三个月构建了错误的东西,那就是灾难性的。
所以你建立了这套非常广泛的设计流程,因为设计的结果会导致昂贵的开发工作。但如果不需要三个月来构建了,也许设计流程可以承担更多的风险,因为犯错的成本已经大大降低了。
4、为什么我仍然不为我的职业生涯担忧
当我审视我与代理的对话时,我非常清楚,对绝大多数人类来说,这简直就是天书。
我有太多理由不害怕我的软件工程师生涯已经结束,即使计算机现在可以自己写代码了。部分原因是这些东西是现有经验的放大器。如果你知道自己在做什么,有了它们你可以跑得快得多。[...]
在使用这些工具的过程中,我不断被提醒我们所做的工作有多难。构建软件是一件极其困难的事情。你可以把世界上所有的AI工具都给我,我们在这里试图实现的目标仍然非常困难。[...]
政治评论家Matthew Yglesias昨天发推说:"五个月过去了,我想我决定了,我不想vibe编程——我想要的是专业管理的软件公司使用AI编码辅助来制造更多/更好/更便宜的软件产品,然后卖给我。"我觉得这话说到点子上了。如果我看了足够多的水管工YouTube视频,我也能自己装修家里的水管。但我宁愿雇佣一个水管工。
关于公司自建解决方案对SaaS提供商的威胁:
我刚意识到这就是我之前说的那件事——我只会在你用了你的副业项目几周之后才愿意使用它。企业版的说法是,除非至少有其他两家大型企业已经成功使用了那个CRM六个月,否则我不想要它。[...]你想要的是在你承担风险之前已经被证明有效的解决方案。
原文链接: Vibe coding and agentic engineering are getting closer than I'd like
汇智网翻译整理,转载请标明出处