外观
第四章 搜索初始化
开口之前,答案已经写好了大半
两位工程师审查同一段代码,用的是同一个模型。
第一位把代码贴进去,直接问:
"这段代码有什么问题?"
AI 给出了一份常规审查:两处命名可以更好,一个函数过长,建议补充注释。没错,但也就是没错而已。
第二位在贴代码之前,先写了两句话:
"这是一个金融清算系统的核心模块,用 Go 编写,对并发安全和金额精度要求极高。请审查这段代码。"
AI 这次的回答完全变了样:它指出了一处共享变量的竞态风险,提醒金额不应用浮点数表示,还追问清算失败时的幂等性如何处理。每一条都打在这类系统真正的要害上。
同一个模型,同一段代码,同一个问题。多出来的只有开头两句话——它们没有改变问题,甚至没有提供任何代码里没有的信息。
那它们改变了什么?
搜索不是从零开始的
第三章建立了四层模型,本章拆开它的第一层。
先回忆一个容易被忽略的常识:当 AI 开始回答时,它并不是从一张白纸出发的。它开口之前的状态,由两部分叠成:训练留给它的先验,以及这场对话里你铺设的一切——背景材料、角色设定、给出的示例。第一位工程师的 AI,是从"一段普通的 Go 代码"这个状态出发的;第二位的 AI,是从"金融清算系统的核心模块"这个状态出发的。起跑状态不同,搜索能触及的区域、调用的评判标准就不同,走出来的轨迹自然天差地别。
这就像两位棋力相当的棋手,落座时面对的棋局不同——后面每一步棋的差别,在落座那一刻已经注定了一半。
搜索开始之前 AI 已经拥有的这个认知状态,就是四层模型的第一层:搜索初始化(Search Initialization)。
这一层又由四种成分构成。其中一种是训练决定的,谁也无法在对话中改变;另外三种,则完全握在使用者手里。我们逐个来看。
先验:训练划定的起跑线
先做一个简单的实验。让 AI 解释一个冷门的开源库,它能讲得头头是道;再让它解释你公司内部用了五年的自研框架,它开始一本正经地编造——编造得不比讲真事时差,但全是错的。
差别在哪?前者在训练数据里出现过,后者没有。模型在训练阶段形成的知识与能力——世界知识、代码能力、数学能力——称为搜索先验(Search Prior)。
先验有一个冷酷的性质:它不能通过 Prompt 修改。没有任何一句话能让 AI 学会它本来不会的东西,正如没有一句话能让它忘记已经会的东西。"请假装你很懂我们的内部框架"不会让先验增长一分,只会让编造看起来更自信。
认识到这一点有实际的用处:当 AI 在某件事上持续犯错,先问一个问题——这是它不会,还是它没想对?如果是不会(先验缺失),任何提问技巧都无效,唯一的办法是把材料喂给它。而"喂材料"属于下面要讲的另一种成分。
预热:把相关知识叫到台前
先验决定了 AI"会什么",但"会"和"此刻用得上"是两回事。
回到开头的金融系统例子。并发安全、金额精度、幂等性——这些知识本来就在先验里,第一位工程师的 AI 同样会。差别在于:那两句话把这些知识叫到了搜索的前台。专业知识在认知空间里不是平铺的,它们连成网络;一个词激活一片区域。"金融清算"激活了精度与幂等,"并发"激活了竞态与锁。第二位工程师做的事情,本质上是提前把相关区域点亮,让搜索从一开始就落在正确的位置。
这种提前激活相关知识网络的做法,称为上下文预热(Context Priming)。行业介绍、产品背景、术语表、架构说明,都是预热的材料。第三章案例里那张"项目背景卡",起的就是这个作用。
预热有一条使用纪律:它不是越多越好。前台的位置是有限的,无关信息挤进来,有效信息就被稀释。三行精确的背景,胜过三页泛泛的介绍。
角色:一句话换一套认知姿态
预热可以用一段话完成,有时也可以用一句话完成。
"假设你是一位资深儿科医生,解释这个检查报告。"——这句话没有提供任何医学知识,但回答的措辞、详略、关切点立刻变了:术语被翻译成家长能懂的话,风险被放在前面说。
角色为什么有效?因为一个角色就是一套预热内容的压缩包。"儿科医生"这四个字,一次性激活了一个领域的知识、一套面向特定听众的表达习惯、一组评判什么重要的标准。你不需要逐项描述这些,角色名替你完成了。
这种通过角色设定改变初始认知状态的做法,称为角色初始化(Persona Initialization)。
但角色有一条边界,经常被误解:角色只能调动先验里已有的东西,不能创造新的东西。"你是一位诺贝尔奖得主"不会让 AI 的物理知识增加一分,它改变的只是搜索从哪种认知姿态出发。把角色当成许愿,是对初始化最常见的误用。
偏置:用例子拨动初始概率
最后一种成分最微妙,也最强力。
让 AI 把一段产品描述改写成发布文案,直接提要求,得到的往往是泛泛的广告腔。但换个做法:先给它看一段你认可的旧文案,再让它照这个感觉写新的——结果立刻贴近预期。
一个例子为什么比一段描述管用?因为描述是在告诉 AI"规则是什么",而例子是直接把"什么样的输出算合格"摆进了搜索的初始状态。第二章说过,搜索的每一步都在沿概率最高的方向走;例子做的事,就是在出发前拨动那个初始的概率分布——让某类风格、某种格式、某种详略程度,从一开始就概率最高。
这种人为改变搜索初始概率分布的方法,称为搜索偏置(Search Bias)。给一两个示例再让 AI 照做的 Few-shot 用法、各类输出模板,都是偏置的应用。它的特点是:不言明规则,却最精确地传达了规则。
初始化的完整构成
四种成分放在一起,这一层的结构就清楚了:
先验是地基,由训练决定,对话中不可改变;角色、预热、偏置是地基之上的三个可调变量,分别回答三个问题:从什么姿态出发、哪些知识在前台、初始概率偏向哪里。
这个结构带来一个非常实用的诊断顺序。当一次回答从根上就不对时,按序检查:它是不是根本不会(先验)?会的东西有没有被叫到台前(预热)?出发的姿态对不对(角色)?有没有例子帮它校准方向(偏置)?四个问题问完,初始化层的问题基本无处遁形。
Prompt 映射
初始化层的常见做法,都可以归入这四种成分:
| 常见做法 | 所属成分 | 机制 |
|---|---|---|
| "你是一位资深架构师" | 角色初始化 | 一句话激活一套知识与评判标准 |
| 先贴项目背景、架构说明,再提问 | 上下文预热 | 把相关知识提前叫到前台 |
| 提供术语表、词汇对照 | 上下文预热 | 统一概念的前台含义 |
| 给一两个示例再让 AI 照做 | 搜索偏置 | 用实例校准初始概率分布 |
| 提供输出模板 | 搜索偏置 | 把格式要求转化为初始状态 |
| "请假装你精通我们的内部系统" | —— | 无效操作:先验不可通过 Prompt 修改,应改为提供系统资料 |
项目案例
一个开发团队长期用 AI 做代码评审,评审质量飘忽不定:有时犀利,有时敷衍,同一段代码隔一周评审结论还会打架。
他们用第三章的四层框架做诊断。目标层没问题——评审标准写在文档里;空间和运行层也正常——问题集中在:AI 似乎每次都"看心情"决定关注什么。这是典型的初始化层症状:起跑状态不稳定,轨迹自然不稳定。
于是他们给评审配置了一个固定的"开场包",每次评审前先发送三样东西:
一份项目背景卡:系统的定位、技术栈、对性能与安全的具体要求(预热);
一个评审角色:"你是这个系统的高级维护者,熟悉它的历史包袱,评审时优先考虑可维护性与线上风险"(角色);
两份过去被团队认可的优秀评审记录(偏置)。
三周之后,评审输出的波动明显收敛:关注的维度稳定了,风格稳定了,可执行的结论变多了。期间他们还踩过一次先验的坑——AI 对团队自研的调度框架一无所知,屡屡误判。他们试过"请深入学习我们的框架",毫无效果;最后把框架的架构速查表加进了背景卡,问题才解决。这再次验证了那条边界:先验补不了的东西,只能靠材料补。
容易混淆
"角色设定是玄学,强的角色名才有效"
角色不是咒语。它的全部作用是通过一个名字激活先验里已有的知识和标准,名字本身不产生任何新东西。判断一个角色是否有效,只看一点:这个角色指向的认知姿态,是否恰好是当前搜索需要的。"资深"两个字并不增加效果,匹配才增加效果。
"背景信息塞得越多越好"
有人试过把能找到的资料全部贴进 Context:产品文档、历史讨论、相关博客,一应俱全。结果 AI 的回答反而变得平庸——它像是一个被几十个人同时指路的司机。原因就在前台的有限性:无关信息进入初始状态,会稀释真正相关知识的激活程度。判断预热材料的标准从来不是"多全",而是"与这次搜索多相关"。
"提示词够巧,AI 什么都能学会"
先验由训练决定,不能通过 Prompt 修改。面对先验缺失,正确动作只有一个:把材料放进 Context,用预热弥补。任何声称能让 AI"当场学会"新知识的技巧,换来的通常是更自信的编造。
"搜索初始化和搜索配置,是什么关系"
配置是长期存在的控制参数集合,初始化是一次搜索的起跑状态。两者的关系是:搜索配置正是通过初始化进入每一次搜索的——背景卡、评审角色、优秀示例被长期维护在配置里,在每次搜索开始时转化为初始状态。这一层关系,第九章讲搜索配置时还会展开。
本章总结
本章从一次对比开始:同样的模型、代码和问题,开头两句话让回答判若两人。
原因是搜索从不从零开始。AI 开口之前的认知状态——搜索初始化——由四种成分构成:先验划定了能力的起跑线,不可在对话中修改;预热把先验里已有的知识叫到前台;角色用一句话切换整套认知姿态;偏置用例子拨动初始的概率分布。后三者,是每一次搜索开始前真正握在你手里的东西。
现在,回答每章都要回答的那个问题:
本章讨论的,是搜索系统的哪一部分?
答案是:四层模型的第一层——搜索初始化。起跑状态决定了搜索能跑出什么;但一次搜索还需要知道为了什么而跑、什么答案算好。这是第二层要回答的问题,也是下一章的主题:搜索目标。
章节信息
- 所属篇目:第二篇 · 一次认知搜索
- 对应设计文档章节要点:搜索先验、搜索偏置、上下文预热、角色初始化
- 本章回答的核心问题:它改变了搜索系统哪一部分?——四层模型的第一层:搜索初始化(先验不可调,角色、预热、偏置可调)