AI 见闻
精选· 重要性 3/5

AI辅助软件开发:从碰运气到掌握技艺

Hacker News (AI)··yusyd·约 5 分钟阅读
社区热度 402
中文导读

本文以烹饪牛排为喻,探讨AI在软件开发中的角色:它能加速流程,但无法替代开发者的判断与理解。要构建优质软件,仍需深入学习与掌握核心技能。

烹饪牛排几乎不需要任何技能(尽管你可能做不出像样的牛排)。为什么AI能让软件开发更快,却无法取代构建持续优质软件所需的判断力和理解力。烹饪牛排几乎不需要技巧:把它放进热锅,等一会儿,翻面,最终你会得到技术上可食用的东西。

但一块真正好的牛排——从边缘到中心都是三分熟、焦褐得当、调味精准、始终如一的美味——则完全是另一回事。用AI进行软件开发也开始有类似的感觉。我们现在不停地构建:有AI时、没有AI时、通勤时、上厕所时,甚至可能在睡觉时。

我们创建智能体、工具、技能、提示词、反馈循环和精心设计的工作流程。然后我们把所有东西扔给模型,希望它给我们想象中的结果,而无需理解其中的任何原理。我们想要什么?我们想要完美的牛排。我们想要软件能运行、好看、感觉精致,并且完全符合我们的想象。

最重要的是,我们希望每次都能得到相同的结果。我们得到了吗?并非每次,甚至远非每次。有时模型给我们出奇好的东西;有时它端上一块上面插着百里香的焦炭,却自信地称其为三分熟。那我们怎么办?我们去餐厅。

我们为高级AI产品付费,聘请代理机构,订阅另一个编码助手,转向承诺专业结果的新框架。我们希望别人已经为我们解决了问题。有时他们确实解决了,但很多时候没有。这给我们留下两个选择:学会自己好好烹饪,或者不断向朋友打听餐厅推荐,同时为下一次昂贵的失望准备好钱包。

我们大多数人都想用AI构建自己在意的东西,而不迷失在实现细节中。我们想把它当作自己厨房里的专业厨师:告诉它想要什么,走开,晚餐准备好时再回来。但AI不是厨师。充其量,它是一台牛排机。它能遵循食谱,观察温度,在合适时机翻面,加入黄油。

给它足够的工具和指令,它就能快速、大规模地重复这个过程。它不会做的是知道你真正想要什么。除非你把它转化为需求、约束、示例、测试和反馈,否则它无法看到你脑海中的画面。即便如此,它也被自身能力、上下文窗口以及围绕它的系统质量所限制。

你可以站在机器旁边每三十秒纠正一次,这可能有帮助,但不会把机器变成米其林星级厨师。最终,你感到沮丧,决定只为梦想中的牛排买单。你选择了昂贵的餐厅。

坐下来,研究菜单,终于可以真正自信地点餐了。你等待第一口。盘子端上来,还是你在家做的那块烧焦的牛排。为什么?因为城里每家餐厅都雇了同一个AI厨师。“成本优化,”管理层说,“大多数人不会注意到。

”他们可能是对的。大多数时候,软件只需要可接受即可。客户容忍奇怪的界面、无意义的功能、奇怪的错误,以及由没人真正理解的生成代码拼凑起来的系统。但你会注意到,因为这是你真正想制作的东西。所以你失望、饥饿、有点尴尬地回家,从书架上取下食谱。

只剩下一个选择:学会烹饪。你了解热量到底起什么作用,哪个锅重要以及为什么,为什么厚度重要,为什么静置重要,为什么仅靠计时器永远救不了你。你又毁了几顿晚餐,然后再次尝试,再尝试。最终你不再依赖运气,而是通过艰难的方式学会了。

软件也是如此。AI能让你更快,它自动化重复性工作,生成起点,解释代码,帮你探索想法。但它无法取代你的判断力。它不能为你定义质量,不能决定哪些权衡是可以接受的,也不能总是捕捉到某件事在技术上正确但在所有重要方面都错误的时刻。

要用AI构建好的软件,你仍然必须理解软件。

你需要知道你到底在要求什么,如何判断返回的结果,以及机器何时只是在自信地给你端上焦炭。继续学习,继续构建,继续失败。直到你能产出你想要的结果,而不是希望偶然撞上。然后变得足够好,开自己的小餐馆,雇几个AI厨师。

大多数人仍然不会注意到区别,但你会。

原文出处
Software development with AI is starting to feel like cooking steak

本文为机器翻译辅以 AI 润色,仅供参考。原始事实以原文为准。

相关阅读