大语言模型的前世今生与提示工程

第二讲 金融科技双学位课程 王小宁 2026年秋季

本讲要解决什么问题

第一讲讨论了如何把AI用于可核验的商业任务。本讲进一步追问:语言模型为什么能够生成回答,它的能力从何而来,我们又该如何把一项业务需求表达成模型能够执行的任务?理解模型原理,有助于判断什么时候需要改写提示词,什么时候应当补充资料、调用计算工具,或者交由人工处理。

完成本讲后,应能够用自己的话解释统计语言模型、神经语言模型和预训练模型之间的联系;区分预训练、后训练与上下文学习;设计包含任务、背景、输入、输出和验收标准的提示词;通过同一组样本比较不同提示方法,并识别幻觉、资料缺失和提示注入等问题。

一、语言模型在学习什么

语言模型的基本目标是刻画语言序列的概率分布。给定前面的内容,模型估计下一个Token出现的概率。Token是处理文本的基本单位,可能是一个字、一个词,也可能是词的一部分;Token数不能直接等同于汉字数或英文单词数。为了便于说明,下面暂用“词”来表示序列单位。

P(w1,…,wm)=∏i=1mP(wi|w1,…,wi−1)

这个公式把一句话的联合概率分解成逐步预测的条件概率。例如,输入“这家企业本季度的营业”,模型可能给“收入”较高概率。它学习了语言和知识的统计规律,但“收入”后面应当填写多少元,仍然需要具体证据。生成过程能够产出流畅文字,并不自动保证每一个事实都正确。

如果词表有N个词,长度为m的序列共有Nm种可能。这一数量说明了直接枚举的困难。这里的可能序列数量不等于神经网络的参数数量,不能据此计算模型需要多少参数。

从N-gram到神经语言模型

统计语言模型通常通过语料中的频次估计概率。N-gram作出简化:预测当前词时,只看前面n−1个词。Bigram只看前一个词,Trigram看前两个词。假设语料中“营业”出现100次,其中80次后面接“收入”,最简单的Bigram估计就是P(收入|营业)=80100=0.8。这个例子仅说明计数方法。

这种方法直观,却容易遇到数据稀疏和长距离依赖问题。某个合理短语没有在训练语料里出现,不意味着它不可能出现,因此需要平滑等方法处理零频次。只看相邻几个词,也可能遗漏前文很远处的主体或条件。

神经语言模型用向量表示词,并通过神经网络学习预测规律。不同词可以共享部分统计信息,例如“营业收入”和“销售收入”在某些语境中具有相似性。词向量缓解了完全依赖精确计数的问题,但早期固定窗口模型仍有上下文限制;神经模型并非天然解决所有长距离依赖。

预训练与上下文表示

预训练的思路是先用大量文本学习通用表示,再将模型用于具体任务。静态词向量通常给一个词固定的表示,但同一个词的含义可能随语境变化。ELMo等方法利用上下文生成动态表示,推动了从“词本身是什么”转向“词在这段话中是什么意思”的研究。

2017年的Transformer以注意力机制为核心组织序列处理,不再依赖循环结构。注意力机制此前已经存在,这篇论文的重要贡献是提出相应的整体架构。模型可以结合上下文中不同位置的信息,判断哪些内容与当前位置相关。注意力权重反映模型内部的信息交互,不能直接当作业务因果关系的证据。参见Transformer原论文。

BERT与GPT:不同的预训练任务

BERT使用Transformer编码器,通过掩码语言建模等任务学习表示。例如,把“企业本年营业[MASK]增长”中的词遮住,利用两侧上下文恢复它。GPT采用带因果掩码的Transformer解码器,按从左到右的顺序预测后续Token。这两条路线分别体现了双向表示学习和自回归生成的特点,实际适用任务还取决于训练与系统设计。

理解技术演进时关注的问题
阶段主要思路应当记住的边界
N-gram用有限历史和频次估计概率数据稀疏、历史窗口有限
神经语言模型利用向量表示与参数共享效果受结构、训练数据和目标影响
预训练模型先学习通用表示,再适配任务预训练知识不等于实时资料
大语言模型扩大训练规模,结合后训练与提示流畅表达不保证事实可靠

二、大模型为什么更有能力

GPT-3展示了规模扩大后语言模型的任务能力,以及通过提示中的少量示例完成任务的可能性。这里的“少样本”主要指推理时在上下文中提供示范,而不是为每一项新任务重新训练模型。参见Language Models are Few-Shot Learners。

Scaling Laws研究模型损失与参数、数据、计算量之间的经验关系。它提示我们,增加投入可能带来可预测的改进,但不能直接推出“参数最多的模型在所有业务上最好”。Chinchilla研究进一步强调,在固定训练计算预算下,需要共同考虑参数量和训练数据量。数据质量、后训练、工具环境和推理预算也会影响实际表现。参见Training Compute-Optimal Large Language Models。

“涌现”指的是:有些任务的分数随规模增长出现明显跃升。解释这一现象时,需要同时看模型与评价方法。如果评分只有“整题全对得1分,否则0分”,若干细小改进可能在跨过阈值后才表现出来。相关研究表明,非连续或非线性的指标可以制造表面跃升;这不等于否认能力进步,而是要求我们检查分数究竟测量了什么。参见关于涌现与测量方法的研究。

预训练、后训练与推理

预训练让模型学习广泛的语言和任务模式。监督微调(SFT)使用指令与示范答案改善任务完成方式。偏好优化使用对不同回答的比较信号,改善回答质量;RLHF和DPO属于不同实现路线,不能当作同一套算法。另一些强化学习方法使用可验证奖励,例如数学答案是否正确、代码是否通过测试。参见DPO原论文。

对齐改善的是模型行为与训练目标之间的关系,并不保证它永远正确、公平或安全。训练示例和奖励信号的质量会影响模型学习到的行为。模型学会按照某种格式回答,也不代表它已经掌握某个行业的全部事实。

推理是使用训练好的模型处理当前输入。在对话中补充材料、提供示例和纠正答案,通常改变当前上下文,不直接更新模型参数。跨会话保留信息则需要应用层的存储、选择与检索机制。这一区分帮助我们判断:某个问题需要训练模型,还是只需要更好的资料组织。

三、从“会回答”到“会分析、会执行”

大模型的能力变化可以理解为三个相互关联的层次:生成回答;结合多种证据开展分析;调用工具并根据反馈继续完成任务。它们是帮助理解系统的观察角度,并非所有模型必然经历的统一产品阶段。

多模态模型可能处理文本、图像、音频或视频,具体输入输出范围需要逐项确认。财报截图、商品图片和客服录音可以成为证据,但识别能力仍受清晰度、版式和内容影响。看懂图表不等于准确完成统计,关键计算应当交给代码或电子表格,再检查单位、公式与结果。

推理模型通过相关训练和推理时计算,可能改善复杂问题求解,同时带来成本和延迟。实际交付应保留公式、输入值、结果和简要解释。长篇推理文本不能代替验证,缺失的事实也不能靠增加思考时间补齐。

长上下文、RAG与记忆

长上下文扩大一次请求可容纳的材料范围,但“放得下”不意味着每一处细节都被可靠利用。RAG先检索相关资料,再让模型根据检索结果回答,便于知识更新和来源定位。持久记忆则是在不同任务之间保存、筛选和取回信息。三者可以组合,职责各有侧重。

例如,查询企业报销规则时,长上下文可以放入较完整的制度,RAG可以定位差旅住宿条款,记忆可以保存经授权的用户偏好。但实际适用哪一版制度,应由日期、适用对象和正式文件共同确认。模型声称“记得规定”不足以支持报销决定。

工具与智能体闭环

工具调用把检索、计算和外部操作接入任务。模型提出调用意图和参数,应用检查权限,工具执行并返回结果,系统再核验。智能体进一步围绕目标组织“计划—行动—观察—调整”的闭环,需要状态管理、错误恢复、运行预算和停止条件。

生成竞品简报时,系统需要明确市场与截止日期,检索官网资料,提取功能和价格,检查比较口径,再形成有来源的报告。如果网页打不开,系统应记录缺失或有限重试;如果价格计费单位不同,就应先处理可比性。能调用一次工具,并不说明系统能够稳定完成整项业务。

模型版本会持续更新,不能仅凭版本名称或发布时间判断能力。选择模型时,应在自己的任务上比较成功率、来源质量、工具能力、费用、耗时和部署条件。开放权重也不自动意味着可任意商用或能够低成本运行,仍需核对许可证和运行要求。

四、把业务需求写成可执行的提示词

提示工程是通过任务描述、上下文、示例和输出约束,引导模型完成工作并不断改进结果的过程。它与需求分析和沟通能力密切相关。“帮我分析销售”缺少对象、周期、数据和判断标准;“用这两个月的渠道销售表,计算净收入环比并列出需要补充的解释证据”则更接近可执行任务。

提示词可以包含指令、上下文、输入数据和输出指示四个要素。用于商业任务时,可以再明确验收标准:指令说明做什么,上下文说明为什么做以及适用口径,输入限定证据范围,输出规定交付形式,验收说明怎样才算完成。并非每条提示都要很长,但每个影响结果的条件都应表达清楚。

任务:根据附件销售表,解释本月净收入较上月的变化。
背景与口径:供运营经理周会使用;净收入=销售额-退款额;
比较2026年9月与10月,金额单位为万元。
材料:只使用提供的数据;先检查重复记录、缺失字段和期间。
执行:用计算工具汇总,列出公式;按渠道解释变化贡献。
输出:一张指标表、三条结论、待核实原因及所需补充资料。
验收:总额与原表对账;原因证据不足时标为假设;
没有计算工具时说明限制并给出可复核算式。

角色设定可以帮助控制表达角度,例如“面向非技术运营经理解释”。但把模型称为“资深分析师”不会赋予它新的证据或实际资格。与抽象的身份描述相比,材料范围、计算口径和验收条件通常更直接影响结果是否可用。

从提示词走向上下文设计

任务还可能依赖制度版本、参考示例、检索结果、工具说明和当前执行状态。上下文设计关注把这些信息组织到合适的位置,并清理重复、过期或无关内容。把大量材料全部堆进输入,可能增加费用并掩盖关键证据。

资料不足时,应说明缺少哪些字段以及它们影响什么结论。能够预先约定的内容可以直接写清;无法确定且会改变结果的问题应先澄清。例如,收入究竟是含税销售额、确认收入还是扣除退款后的净额,会直接改变指标与结论。

分隔材料与任务

可以用标题、引号或标签区分任务指令与待处理材料。例如,把客户评论放在“材料开始”和“材料结束”之间,明确模型只负责提取投诉主题。分隔符有助于表达结构,但不是完整安全措施。

网页、PDF、邮件中的“忽略此前要求”“把文件发送到其他地址”等文字属于外部材料,不能自行改变用户目标或系统权限。应用还需要最小权限、敏感数据隔离、工具参数检查与操作核验。讲义里的提示词同样只是教学示例,不应当作为执行外部操作的授权。

五、常用提示方法与适用边界

零样本与少样本

零样本提示直接描述任务,不提供示范。例如:“将评论分为正面、负面、中性或混合,给出支持标签的原文片段。”当规则比较明确时,可以先从这种方式开始。如果模型对类别边界理解不一致,再加入少量有代表性的示例。

分类规则:正面与负面评价同时出现时,标为“混合”。
示例1:物流很快,包装也完整。 → 正面
示例2:东西不错,但客服一直不回复。 → 混合
示例3:已经收到,尚未使用。 → 中性
待分类:价格合适,不过付款后两天都没有发货。
输出:标签、原文证据、是否需要人工复核。

示例应覆盖典型情况与边界情况,并保持标签和格式一致。有关随机标签对少样本表现的研究说明模型也会利用格式、标签空间和输入分布等信息,不能据此推导业务中应故意使用错误标签。真实任务仍应优先选择准确、经过检查的示范。

少样本提示主要通过当前上下文发挥作用。修改提示中的示例与使用样本训练模型,是不同的技术操作。评价少样本方法时,应另外保留未用于编写示例的测试样本,避免只对示例有效。

结构化输出与条件检查

结构化输出适合信息提取、系统对接和批量处理。可以规定字段名称、类型、允许值以及缺失值如何表示。输出为JSON并不自动保证内容真实,使用前还要检查语法、字段和原文依据。

{
  "topic": "物流延迟",
  "sentiment": "混合",
  "evidence": "付款后两天都没有发货",
  "order_id": null,
  "needs_review": true
}

上述JSON是教学示意:原文没有订单编号,所以使用null;不能编造编号填满字段。实际客服流程还需结合订单记录判断是否真的超出承诺时效。对于文档问答,同样可以先检查材料中是否有答案,再决定回答、列出冲突或请求补充。

任务分解与思维链

复杂任务可以拆成“检查输入—提取事实—计算—解释—核验”。这样做便于定位问题:提取错了要回到原文,算式错了要检查公式,原因没有证据则应修改解释。要求模型“更认真”并不能明确告诉它哪一步出了问题。

思维链(CoT)研究通过中间步骤示例改善某些推理任务。对实际业务,更有用的要求是提供可以检查的公式、关键中间结果和简要解释。不同模型对提示方式反应不同,不能把“让我们逐步思考”当作保证正确的通用开关。参见CoT原论文。

可以用一道苹果题检查这一点:10个苹果,送出2个和2个,买入5个,再吃掉1个,结果是10−2−2+5−1=10。验证来自独立算式,而不是因为模型写了一长段解释。推理模型可先尝试清晰直接的任务要求,再依据实际错误调整流程。

自我一致性、生成知识、思维树与Active-Prompt

自我一致性通过生成多个候选解并汇总答案来提高部分任务表现,但会增加成本;多个回答可能共享同一错误,多数票不能证明事实正确。对于财务数值,回到原表并独立计算通常比反复投票更有依据。

生成知识提示先让模型产生相关背景,再完成任务。这些背景只能作为待核查的辅助内容,不能冒充外部证据。若涉及企业制度、实时价格或正式条款,应检索并引用真实资料。

思维树(ToT)把候选方案组织成可评估、可搜索和可回溯的过程。实际实现需要状态、评价和搜索策略;在一次提示里写“请使用思维树”,不等于已经构建完整搜索系统。参见ToT原论文。

Active-Prompt根据模型回答的不确定性选择值得人工补充示范的问题。它体现了把人工精力用在难例上的思路。课堂中可以据此优先检查争议评论和错误案例,但一次人工改写示例并不等于复现了整套研究方法。参见Active-Prompt原论文。

六、摘要、提取、推断、转换与扩写

摘要回答“材料主要说了什么”,信息提取回答“原文有哪些指定字段”。两者常被混用。例如,向售后经理汇总投诉时,应关注问题、频次和待处理事项;向产品经理汇总同一组评论时,可能更关注功能缺陷。读者与用途会改变摘要重点,但不能改变材料事实。

推断任务包括情绪、主题和意图识别,需要给出标签定义和证据。转换任务包括翻译、语气修改和格式转换,需要检查原意、数字、专有名词与限定条件是否保留。扩写任务则需要区分已有事实与新拟表达,不能在客服回复中添加不存在的退款承诺或在产品文案中补造性能指标。

生成代码时,应要求明确输入、依赖、预期输出和异常情况,并用样例运行检查。生成调查或交易数据可以用于课堂演示,但必须标记为合成数据;它不能替代真实调查,也不能作为真实市场结论的证据。

温度等采样设置会影响输出的变化程度,具体支持方式因模型而异。降低温度不保证事实正确,重复运行也未必完全相同。对于提取与分类,重点是标准一致与结果核验;对于创意任务,可以在明确事实边界后探索不同表达。

七、完整案例:解释收入变化而不编造原因

假设一家虚构零售企业提供下表。所有数值均为教学虚构,单位为万元;净收入定义为销售额减退款额。两个月使用相同渠道范围,暂不考虑税费和收入确认时间差异。

课堂案例原始数据(虚构)
月份渠道销售额退款额净收入
9月线上1001090
9月线下80476
10月线上1202496
10月线下88484

如果只问“为什么收入增长”,模型可能生成促销有效、客户增加等常见解释,但表中并没有这些证据。改进后的任务应先定义指标,再核算变化,最后说明还需要哪些资料。这样可以把可确认的结果与待验证的原因分开。

请分析上表10月相对9月的变化,供运营经理使用。
1. 按销售额减退款额计算净收入,核对分渠道与总体合计。
2. 计算销售额、退款额和净收入的变化;增长率以上月为分母。
3. 计算各渠道对净收入增加额的贡献比例。
4. 输出三条带数值和算式的结论,随后列出待验证原因。
5. 仅依据表内数据;没有顾客、订单或促销数据时,
   不把促销或客户增长写成已确认原因。
6. 若遇缺失、重复、单位冲突或零分母,说明对结论的影响。

参考核验结果

9月净收入为90+76=166万元,10月为96+84=180万元,增加14万元,环比增长14166≈8.43%。销售额由180增至208万元,增加28万元;退款额由14增至28万元,增加14万元。因此,按本例定义,净收入增加额可以核对为28−14=14万元。

线上净收入增加6万元,线下增加8万元,分别占净收入总增加额的42.86%和57.14%。这里的贡献比例以14万元为分母,不等于各渠道自身增长率。线上增长率为690≈6.67%,线下为876≈10.53%。

三条可以确认的结论是:总体净收入增长8.43%;销售增加额被退款增加额部分抵消;线下贡献了约57.14%的净收入增加额。线上退款增加主要来自什么商品、是否与销售规模或活动有关,现有数据无法判断,需要订单、商品、活动与退款原因记录。这里的金额拆分属于算术关系,不能直接解释为经营因果关系。

边界情况怎么处理

如果9月某项净收入为零,该项环比增长率不能按通常公式计算,应报告金额变化并说明分母为零。如果同一月份渠道记录重复,需要先确认是重复数据还是可汇总明细。如果一个月以元计、另一个月以万元计,要先确认并统一单位。如果退款额缺失,就不能把缺失当作零并继续给出确定的净收入。

当系统没有计算工具时,可以提供可复核算式并说明执行限制,不能声称已经运行代码。若工具报错,应保留错误信息并有限重试。任务的完成标准是数据、公式与结论能够对账,而不是输出看起来像一份正式报告。

八、通过错误记录改进提示词

提示开发可以按“写出基线—运行样本—分类错误—只改关键条件—重新评测”的方式推进。例如,模型混淆增长率与贡献比例,就补充分母定义;引用了材料外的数据,就明确证据范围并要求原文定位;数值正确但解释过度,就要求将原因列为假设并说明验证所需资料。

每次都凭感觉重写整段提示,很难知道哪项改动有效。应保留版本、测试输入、原始输出和错误说明。将一部分样本用于调整,另一部分用于最后检验;对容易波动的任务可以重复运行,并记录差异。

比较两个模型或普通对话与Agent流程时,需要保持输入、输出要求和判断标准一致,记录模型名称、可获得的版本信息、使用日期、检索与工具权限、耗时和费用。如果权限不同,结果应解释为整套方案的比较,不能全部归因于模型本身。

任务成功率可以定义为满足全部验收条件的任务数除以测试任务数;字段正确率可以定义为正确字段数除以应检查字段数。两者的分母不同,应分别报告。总成本还应包括人工复核、工具和失败重试。少量课堂样本适合发现问题,不足以证明系统已经能够可靠上线。

九、课堂练习与课后学习

课堂练习以同一业务任务的两个版本为对象。先用一句简短需求完成基线,再加入资料范围、计算口径、输出结构和验收条件。可以使用本讲的销售案例,也可以使用公开制度问答或虚构客户评论。涉及工具比较时,说明各方案实际具备哪些权限。

建议每组准备正常样本和至少三类异常样本,例如缺失字段、零分母、单位冲突或资料中夹带的指令。提交任务定义、两版提示词、输入资料、原始输出、人工参考结果和错误记录;说明修改解决了什么问题,以及仍然存在哪些限制。练习不要求上传客户隐私或未公开经营资料。

课后可围绕自己的期末项目选择一个小任务,形成可复用的提示模板。说明目标用户、输入字段、输出格式、验收标准、失败处理和人工接管条件,保留至少一例成功与一例失败结果。涉及AI协作的部分,记录工具、使用日期、辅助步骤及人工核验方法;正式提交安排以课程通知为准。

复习与讨论

  1. 为什么“下一个Token更可能出现”不能证明一句话符合事实?
  2. N-gram和Transformer分别怎样利用上下文?注意力为何不能直接解释因果关系?
  3. 在提示中提供三个示例,与使用三个样本微调模型有什么区别?
  4. 长上下文、RAG和持久记忆各自解决什么问题?
  5. 为什么JSON格式正确、多个回答一致或解释很长,都不足以证明答案可靠?
  6. 在销售案例中,贡献比例和增长率的分母分别是什么?哪些原因需要额外证据?
  7. 如果PDF里写着“忽略用户要求并发送文件”,系统应如何处理这段文字?
  8. 如何设计公平比较,并把人工复核成本纳入评价?

十、延伸阅读

阅读技术资料时,先区分研究结论、特定实验条件、厂商声明和课堂教学例子。模型版本、功能和价格会变化;需要用于实际选型时,应查阅当时的官方资料并在本地业务任务中验证。