不是又一本 prompt 手册
引言
"大模型应用"这个领域正在被大量内容淹没。教程、速查表、框架文档、最佳实践合集、awesome 列表——它们有一个共同特征:默认读者的核心诉求是"告诉我怎么做"。
怎么写一个好的 prompt。怎么搭一个 RAG 系统。怎么用 LangChain 编排工作流。怎么做 Agent。
这些问题值得回答,但它们背后有同一个盲区:没有人停下来问,当软件系统的核心组件从确定性函数变成概率性语言模型,软件工程本身需要做出什么调整。
这本书关注的是"怎么想",然后才是"怎么做"。
这本书在做什么
一个人对"大模型时代的软件工程应该是什么样子"这个问题的系统性回答。
"一个人"意味着这本书表达的是个人观点,有明确的偏好、明确的判断、明确的品味。背后的偏见和局限在个人立场声明中显式标注,供读者自行校准。
具体而言,这本书试图做三件事:
打下认识论地基。 大模型到底是什么?这里借助计算理论和语言哲学来回答。自回归生成意味着什么?概率性输出和确定性函数的根本差异在哪里?这些看似抽象的问题,直接决定了后续每一个工程决策的方向。不理解概率性输出的本质,就会把不确定性当 bug 来修,而这条路没有终点。
构建方法论框架。 在认识论的基础上,推导出一套应对不确定性的工程方法论。人机协作(第三章)、声明式提示与类型契约(第四章)、架构与编排(第五章)、测试评估与可观测性(第六章)——每一章聚焦一个核心主张。
跨领域迁移。 软件工程中的决策困境,和计算数学中的收敛性问题,背后往往是同一种数学结构。能识别这种结构就已经很有用。当你意识到 prompt 优化和数值迭代法面对的是同一类收敛性问题时,数值分析几十年积累的判据和技巧就可以直接借用。
本书的起点是:假设你已经知道大模型能做什么,现在的问题是怎么围绕它构建可靠的软件系统。所以 Transformer 的演进历史、注意力机制的对比、RLHF 的技术细节,这些有专门的论文和教材讲,这里不重复。同样,prompt 的 few-shot 排列技巧、某个框架的 API 怎么调用、"2025 年最值得关注的 10 个 LLM 框架"这类清单,也不讨论。本书关注的是 prompt 在软件工程中该放在什么位置,框架背后的设计决策为什么值得理解,以及做技术选型时需要什么样的决策框架。
为什么是现在
软件工程的基本范式正在经历一次罕见的结构性变化,而行业还远没有理解这次变化。
过去六十年,软件工程建立在一个隐含假设上:程序的行为是确定性的。给定相同的输入,程序产生相同的输出。测试、调试、形式化验证——整套工程方法论都以这个假设为地基。即便引入了并发、分布式系统、最终一致性等"不确定性",那也只是实现上的复杂性,语义上并没有不确定性。一个分布式数据库在某个时间点可能返回过期数据,但它不会"创造"数据。
大模型打破了这个假设。LLM 是一个概率性的生成器。相同的输入可能产生不同的输出,而且不同的输出可能都是"合理"的。所以软件工程六十年来积累的方法论——至少其中依赖确定性假设的那一部分——得重新审视。
这个审视工作刚刚开始。行业目前的状态是:大量的实践跑在理论前面,大量的框架没有清晰的方法论指导就被用了起来,大量的"最佳实践"不过是从有限案例归纳出的经验法则,不是从原理推导出来的。
这本书试图从原理出发。
全书结构
第一章和第二章是地基:大模型的本质是什么,如何在不确定性环境下做工程决策。第三章到第六章是方法论落到具体领域:工作方式、声明式约束、架构编排、测试可观测性。第七章是反面教材。第八章回到哲学层面。
起点是一个事实判断(大模型改变了软件系统的基本性质),终点是一个价值判断(软件工程应该向什么方向演化)。
阅读建议
如果你是有经验的软件工程师,刚开始接触大模型应用开发,建议从第一章和第二章开始。读完这两章的认识论和方法论框架,你看后续技术细节的眼光会不一样。
如果你已经在做大模型应用开发,遇到了"prompt 不稳定""系统不可靠""不知道怎么测试"等具体问题,可以直接跳到对应章节,但建议回头补读前两章。很多工程问题的根源不在技术层面,在认知层面。
如果你对框架和工具更感兴趣,这本书可能会让你不舒服。它会反复追问"为什么"而不是直接告诉你"怎么做"。这是刻意的选择:工具会过时,思维方式不会。
不管从哪个入口进入,这本书的目标不是给你一份需要记忆的知识清单,而是帮你建立从原理正向推导的能力。大模型领域每隔几个月就会冒出一批新概念——新的架构模式、新的编排范式、新的评估方法。如果你的知识结构靠概念和工具堆起来,每次更新你都得从头学。但如果你理解了概率性输出对工程方法论的根本影响,理解了声明式约束和不确定性决策的基本原理,面对任何新概念,你都能自己判断:它是对底层结构的真正创新,还是对已有想法的术语翻新。
你不同意书中的判断,再正常不过。事实上,如果你在每个问题上都同意作者的观点,那说明这本书对你的价值有限——它没给你带来新的视角。有价值的阅读体验是:有些地方深有同感,有些地方强烈反对,而反对的过程本身迫使你澄清自己的立场。