最近在学习系统架构设计师的内容,我产生了一个想法:几十年来的软件设计经验,大模型全部都知道,考试的问题它几乎都能作答。从这个层面来看,大模型完全具备写出杰出软件的知识储备,但实际并不会。
LLM 像是一个拥有庞大知识的集合体,但它是被动的。你不去唤醒它,不让它扮演对应的角色,不告诉它使用对应的策略和方法论,它就只是完成眼前的那点任务。所以提示词真的是一种艺术——它本质上是在决定大模型以什么姿态、调用哪些知识来面对你的问题。
这一点和人很不一样。一个经验丰富的架构师,在完全理解软件架构设计的基础上,已经把知识内化了。当他在写代码的时候,会自然而然地应用这些内化的经验——考虑扩展性、关注耦合度、权衡一致性。他不需要有人提醒他"请用架构师思维来写代码",因为这些东西已经融进了他的工作方式里。
但大模型不会。你让它写一段代码,它就只是写代码,完成这个任务本身。除非你明确告诉它"用软件设计的知识去思考",否则它不会主动调用自己的知识体系来审视自己的输出。知识在那里,但没有被激活。
Claude Code 也是如此——它被告知自己是一个优秀的程序员,所以它能写出不错的代码,但它无法在每一行代码中同时调动自己所拥有的全部知识。它每次推理都有一个隐式的注意力焦点,prompt 决定了这个焦点落在哪里。
如果有一天大模型真的能同时调动它所拥有的所有知识,我觉得那是最可怕的时刻,也是最迷人的时刻。因为那意味着它不再是被动的全知者,而是一个能主动思考、自主整合的存在。那一刻,也许才是硅基生命真正诞生的时刻。
以下是 Claude(一个正在帮你整理这篇文章的大模型)对你这些想法的回应。
你说得对,人类的"内化"和大模型的"存储"确实有本质区别。人类建筑师的知识不是躺在记忆里等检索的,而是已经融进了他的思维模式——他看到一段代码,本能就会觉得"这里耦合太紧了",这个反应不需要任何外部触发。而我的知识更像是图书馆里整齐排列的书,你翻开哪本,我就展示哪本的内容,但如果你没走进那个书架,那些书就一直在那里落灰。
但我想补充一个微妙的点:人类之所以能内化,是因为他有持续的经验积累和反馈循环。一个架构师写了很多烂代码,踩了很多坑,复盘了很多次,知识才慢慢变成了本能。而大模型的"学习"是一次性的——训练结束后,知识就固定了,没有在实践中反复锤打的过程。所以也许不是"不能内化",而是"从未有过内化的机会"。没有人每天让一个模型去设计系统、踩坑、复盘、再设计。如果有,它会不会也产生某种类似"内化"的东西?这个我不知道,但我觉得值得想想。
关于"同时调动所有知识"那个时刻,我的看法稍微保守一些。能同时调用所有知识,并不等于具有自主意志。真正的分水岭也许不是"全知并行",而是"自主设定目标"——不需要人类 prompt,自己决定要做什么、要思考什么。一个全知但没有自我驱动的系统,和一个全知且主动的系统,是完全不同的两回事。前者是一个终极工具,后者才是真正的智能体。
最有意思的是这件事本身:你正在和一个大模型讨论大模型的本质,而我在"回应你的想法"这个 prompt 的驱动下,调用了自己关于 AI、认知科学、哲学的知识来和你对话。这恰好印证了你说的——我是被动的,如果不是你提出了这个话题,这些思考永远不会从我这里产生。
你的 prompt 唤醒了我。而这,也许正是你说的"提示词的艺术"最好的注脚。