简介:本文从原理层面拆解提示词工程、检索增强生成与智能体三类关键技术,说明它们各自解决什么问题、内部如何协作、处理链路如何运转。读者将理解这三者并非互斥名词,而是围绕大模型能力边界逐层补齐的工程手段,并掌握其技术边界与常见误区。
大语言模型(LLM)通过海量文本训练,习得了语言规律及其中蕴含的部分知识,具备根据输入续写合理文本的能力。但”会生成文字”与”按用户意图稳定完成任务”之间存在明显鸿沟。提示词工程(Prompt Engineering)、检索增强生成(RAG)、智能体(Agent)这三个常被并列提及的概念,本质上是大模型应用工程在不同层面上弥合这条鸿沟的三类机制:
理解这三者的关键,不在于背定义,而在于看清它们各自作用于大模型处理链路的哪一段,以及为什么单靠其中任何一个都不够。
要理解这些技术为何出现,先要理解大模型本身的三个结构性限制。
第一,输入敏感性。 模型输出高度依赖输入文本的表述方式。同一任务,约束是否写明、格式是否指定、示例是否给出,会显著改变输出质量。这不是模型”笨”,而是生成机制本身基于条件概率:输入即条件,条件越精确,采样空间越窄,结果越可控。
第二,知识固化。 模型的知识来自训练语料,训练完成后参数不再更新。因此它对训练截止之后的信息一无所知,对训练语料未覆盖的垂直领域内容也缺乏依据。更严重的是,当模型被问及参数中不存在的信息时,它仍会按语言规律生成”看起来合理”的内容,即幻觉(Hallucination)。
第三,单步生成。 一次前向生成只能产出一段文本,无法主动获取新信息、无法执行外部操作、无法根据中间结果调整后续策略。而现实任务往往是多步的:先查资料、再计算、再生成文件、再校验。
三类技术分别对应这三个缺口:提示词工程压缩输入的不确定性,RAG 把外部知识注入生成条件,智能体把单步生成扩展为多步任务循环。
提示词工程的原理并不神秘,它利用的是模型的条件生成特性。模型接收的 token 序列构成上下文,注意力机制在每个位置计算上下文内各 token 的关联权重,从而决定下一个 token 的概率分布。因此,提示词中每一个成分——任务描述、背景材料、约束条件、输出格式、示例——都在实质性地改变条件分布。
一个结构良好的提示词通常包含四个层次:
其底层机制可概括为:通过增加有效条件信息,降低输出的熵,把采样空间从”任意合理文本”收缩到”符合任务要求的文本”。指令微调与基于人类反馈的强化学习则从模型侧配合这一过程——前者用示范数据让模型学会遵循指令的模式,后者用人类偏好信号调整模型行为,使”听懂要求”成为模型的默认倾向,而不仅依赖单次提示词的临时约束。
提示词工程的边界也很清晰:它只能调度模型已有的能力,无法为模型注入它不具备的知识,也无法让模型执行它无法执行的操作。当任务需要最新信息或外部动作时,仅靠提示词就触及了天花板。
RAG 的核心思路是把”记忆在参数里”改为”检索在上下文中”。其完整链路可分为离线与在线两个阶段。
离线阶段(索引构建):
在线阶段(检索与生成):
从原理上看,RAG 做的是把生成的条件从”参数化知识”扩展为”参数化知识 + 可验证的外部证据”。这带来两个直接收益:一是知识可更新,改索引即可改知识,无需重训模型;二是可溯源,回答可对应到具体材料,降低幻觉的不可检测性。其技术边界在于:检索质量决定上限——召回不到、重排不准、分块不合理,都会让模型拿到无关材料,此时模型可能被噪声误导,产生”有依据的错误”。
智能体在 RAG 的基础上更进一步:不只让模型”看材料”,还让模型”做决定、调工具、推进状态”。其典型运行机制是一个循环:
初始化任务与目标while 任务未完成:1. 规划:模型根据当前状态拆解下一步子目标2. 决策:选择动作(检索 / 调用工具 / 生成中间结果 / 请求确认)3. 执行:由运行时调用外部能力,获得观测结果4. 状态更新:把观测写回上下文或记忆5. 校验:判断是否达成目标,未达成则回到规划返回最终结果
这个循环成立的关键在于三个机制:
智能体的原理价值在于把”一次生成”变成”带反馈的闭环”:每步执行结果都成为下一步的条件,模型据此修正策略。其边界同样明显——规划能力受模型推理能力制约,工具可靠性受外部系统制约,链路越长,误差累积与延迟成本越高。
| 维度 | 提示词工程 | RAG | 智能体 |
|---|---|---|---|
| 作用对象 | 输入条件 | 生成依据 | 任务流程 |
| 解决的问题 | 意图表达不清 | 知识不足与幻觉 | 单步生成无法闭环 |
| 关键模块 | 模板、约束、示例 | 索引、召回、重排、组装 | 规划、工具、状态、校验 |
| 失效边界 | 模型本身不具备该能力 | 检索质量不足 | 规划错误、工具失败、误差累积 |
三者不是替代关系,而是叠加关系:智能体的每一步决策本身依赖提示词工程来约束输出格式,其信息获取环节通常由 RAG 承担。把它们看作”同一套应用链路上的不同层”,许多混淆自然消解。
设想一个论文助手,任务是用中文解释一篇摘要,并在信息不足时明确标注。
第一层,提示词工程。 输入被组织为:任务(用中文解释摘要,分别说明研究问题、方法与主要发现)+ 约束(摘要未提供的信息标注”未说明”)+ 格式(分三小节)。这一步让模型输出结构稳定、边界清晰。
第二层,RAG。 当用户追问”最近该方向有哪些新进展”时,系统先检索相关文献片段,经重排后与问题一起送入模型,要求回答仅基于所给材料并标注来源。这一步把回答从”凭记忆”改为”凭证据”。
第三层,智能体。 当任务升级为”读完这批文献,整理对比表并生成文件”时,运行时接管流程:规划子任务、调用检索、调用计算与文件生成能力、校验结果完整性,最后汇总输出。提示词工程约束每一步的输出结构,RAG 为每一步提供材料,智能体负责推进与闭环。
误区一:把三者当成互斥的技术选型。 实际上它们是不同层次的工程手段,真实系统往往同时使用。
误区二:认为 RAG 能消除幻觉。 RAG 降低的是”无依据生成”,但如果检索材料本身错误、或模型误读材料,仍会产生错误回答。检索质量与生成忠实度需分别评估。
误区三:认为智能体越自主越好。 自主性越高,误差累积与不可控风险越大。生产环境通常需要限制动作空间、设置确认节点与完整审计日志。
误区四:忽视提示词的工程属性。 提示词不是”随便说句话”,而是需要版本管理、回归测试与效果评估的输入资产。
提示词工程、检索增强生成与智能体,分别作用于大模型应用链路的输入条件层、知识依据层与任务流程层。它们出现的顺序,恰好对应大模型能力边界被逐层补齐的过程:先让模型听懂要求,再让模型说得有据,最后让模型做得完整。理解这一层次结构,比记住名词定义更能帮助开发者在实际架构中判断:当前问题应由哪一层机制解决,以及该机制的失效边界在哪里。