探讨 AI 时代编程范式的转变——程序员需要掌握 Prompt 工程而不仅是传统编码,但结论仍属观点层面。
当一名开发者,正处在一个奇怪的时代。
倒不是说它不好,只是有点奇怪。你打开 Twitter(抱歉,现在该叫 X?),突然之间,所有人都成了「prompt engineer」。人们只用三句话和一张截图,就能构建出 Full Stack 应用。招聘信息还没问你会不会 JavaScript,就先要求你具备 LangChain 使用经验。而你站在那里,一脸困惑……等等,我现在还需要写代码吗?
回到 2020 年,如果有人提到「prompting」,我会以为他在谈 CLI flags,或者提示用户输入内容。现在呢?它意味着写出一句完美的 prompt,诱导 GPT 生成一整个微服务,而且还得包含错误处理、测试和文档。
说实话,这确实很惊艳。我用 prompt 搭建过代码库脚手架、生成过测试用例、重构过遗留代码的烂摊子,甚至还让它写过一些我懒得去 Google 的 bash scripts。它确实有用,确实节省时间,而且,没错,也确实很好玩。
但与此同时,它也让人觉得有点……奇怪。
因为当你开始用写 prompt 取代写函数时,那些最初吸引你进入编程世界的问题解决能力,也就不再得到锻炼了。
过去几年里,有些东西发生了变化——我说的不只是裁员,尽管我们确实也深切感受到了这一点。做开发者的感觉变了。突然之间,我们不再那么像是在「打磨软件」,反而更像是在「组装模型和 API 的输出」。
你写一点 glue code,让 LLM 生成一个函数,把 Stack Overflow 上的某个答案复制粘贴进 ChatGPT,让它「整理一下」。然后发布,继续下一个任务。
这不好吗?倒也未必。工具会不断演进,抽象层会不断叠加。现在已经没人用 assembly 写代码了——除非你真的非常、非常酷,或者受到了某种诅咒。
但这次总觉得有些不一样。写出一个无懈可击的 prompt,让它生成 Stripe webhook handler,并不会给我带来当初那种……亲手把它写出来的快乐。
我怀念沉浸在 VS Code 里的时光。我怀念阅读文档。我怀念在脑海里推演各种边界情况。现在,我只会让 AI「处理边界情况」,然后祈祷它真的理解了我的意思。
关键在于:prompting 很强大,但它不是魔法。一旦系统出了问题、需要扩展,或者出现某种诡异的 race condition,你仍然必须真正理解底层到底发生了什么。
懂得如何编程,依然是一种超能力。prompt 只是一条捷径。
这就像真正会开车,与完全依赖 autopilot 之间的区别。当然,在高速公路上可以让 AI 帮你。但如果系统发生故障,而你连手动侧方停车都不会,那你就完了。
我在真实团队里见过这样的情况。只知道如何写 prompt 的新开发者,一旦需要调试、测试,或者构建稍微复杂一些的东西,很快就会卡住。最终,还是得由高级开发者去解决那些 AI 无法预料的最后 10% 的问题。
所以,没错,去学习编程,学习如何构建软件,弄明白事物为什么能够运行。然后,你想怎么写 prompt 都可以。
话虽如此,拒绝适应变化,是让自己变得无足轻重的绝佳方式。
我见过一些开发者嘲笑 prompt engineer,仿佛他们不算「真正的开发者」。但同样是这些人,过去也嘲笑过前端开发者;再早一些,他们嘲笑使用 Rails generators 的人;更早之前,他们还嘲笑不用 C 写代码的人。
prompting 如今也是编程,只不过是一种新的形态。它是工具箱的一部分。无视它,就等于无视一个非常强大的抽象层——而这个抽象层能让你变得更高效、更有创造力,也更有生产力。
关键不在于选择其中一边,而在于知道什么时候应该使用 AI,什么时候应该由你自己成为那个 AI。
当我们让 AI 编写代码时,我们的工作就从创造变成了编辑,从亲手打造变成了筛选与编排。这就像从绘画转向修图。它依然是艺术,依然需要技巧,但……有些东西已经不同了。
我们可能会失去从零开始构建的乐趣,也可能失去那些微小却能积累出巨大差异的设计决策,以及你留在代码中的独特指纹。当一切都开始像 GPT 的输出时,所有应用给人的感觉也会逐渐变得一样。
当然,对于 CRUD 之类的东西,这或许没什么问题。但那些最优秀、真正让人感觉与众不同的软件,通常源自人类特有的古怪,而不是机器式的可预测性。
prompting 已经到来,编程也永远不会回到从前。程序员与「AI 调度员」之间的界线,已经正式变得模糊。如果你所做的一切都只是写 prompt,就会错过构建软件的灵魂。
所以,请继续学习编程,不要只学习如何写 prompt。使用 AI,但不要让它抹去你的好奇心。多问「为什么」,不要只问「怎么做」。请记住,即使整个世界都在变化,真正的创造力依然来自 prompt 背后的那颗大脑,而不仅仅是那个输入 prompt 的文本框。
你是否也对这种向 prompt 转变的趋势有同感?如今你的代码是否也有一半由 AI 生成?我很想知道,在这个 autocomplete 永无止境的世界里,你是如何让那份编程热情继续燃烧的。
部分评论可能只有登录后的访客才能看到。请登录以查看全部评论。
如果需要采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。