3.2 高级生成技术:压缩、控制与迭代


3.2 高级生成技术:压缩、控制与迭代

本节摘要:生成侧的进阶技术围绕一个矛盾展开——检索回来的上下文要么太多(噪声、冗余、超长),要么太少(信息不全)。上下文压缩治"太多",上下文增强治"太少",控制生成治"不合要求",迭代式生成治"一次写不好"。本节逐一拆解四类技术的做法、优点与代价,并给出一张按场景取用的决策表。读完你应当能针对自己系统的生成端症状,开出对证的药方。

学习目标

阅读完本节,你应当能够:

  1. 区分上下文压缩的三种方法(选择性保留、摘要、注意力过滤)与适用条件;
  2. 说明上下文增强的四种手段,特别是反向检索与多跳推理的思路;
  3. 通过提示词、条件信息与解码策略控制生成风格;
  4. 设计草稿加修改的两阶段迭代生成流程;
  5. 用决策表为具体场景选择生成技术组合。

一、生成端的四种病

把第 2 章的朴素生成模块放到真实流量下,暴露出四种典型症状。资料太杂时,模型被噪声带偏,答案里混进无关内容——噪声病。资料太少时,模型巧妇难为无米之炊,或者干脆编——短缺病。输出格式与风格不受控,时而言简时而言痞——失控病。复杂问题一次生成质量不佳,又没有修正机制——单发 病。四类技术各治一种,先记住这个对应关系,下面的细节才有处安放。

二、上下文压缩:治"太多"

检索回来的文本块常常含大量冗余:五个块里有三段说的是同一件事,还有两段与问题无关。压缩的思路是提炼上下文,只留对生成目标最有用的部分。

方法一:选择性上下文。 用小模型或分类器给每个段落、每个句子打"与查询的相关性分",只保留分数过阈值的部分。粒度可以细到句子级,压缩率最高,但阈值设严会误删关键信息。

方法二:摘要压缩。 用摘要模型把检索内容浓缩成精简版本再交给生成模型。整段保真度好于逐句筛选,但摘要模型自身可能引入偏差——它删掉的内容未必是不重要的内容。

方法三:基于注意力的压缩。 利用生成模型自身的注意力机制识别相关部分,训练时鼓励模型聚焦与查询相关的片段。效果上限高,但需要训练介入,工程门槛也高。

三种方法的共同代价是增加一环处理流程(延迟加成本),以及一个共同风险——压缩误伤:被滤掉的那句恰好是答案的钥匙。我们的建议:压缩强度宁松勿紧,先解决"重复内容去重"这种零风险压缩,再考虑语义级筛选。

三、上下文增强:治"太少"

与压缩反向的操作。当检索结果不足以支撑高质量回答时,往上下文里补信息。

查询扩展:用同义词、相关词扩充原始查询,让检索系统多捞一些文档——这是检索侧技术(第 3 章第 1 节)在生成侧的回声。

知识图谱增强:把检索到的文档与知识图谱连接,提取相关实体、关系、属性补进上下文。结构化的关系信息能让模型的回答更有逻辑骨架,代价是图谱的构建与维护成本。

反向检索:一个聪明的技巧——先让模型根据原始问题生成一个"假设的答案",再拿这个假设答案当新查询去检索。假设答案与真实答案在语义空间里往往比原始问题更接近(它已经是"答案的形态"),检索命中率因此提升。

多跳推理:多次检索加推理,逐步把深层知识挖出来、加进上下文。适合需要串联多份文档的复杂问题,延迟与成本随跳数上涨。

四、控制生成:治"不合要求"

让输出满足特定约束——风格、语气、长度、格式、主题。四条路径:

提示工程:在提示语里写明要求("用简洁专业的语气回答"),最轻量,效果取决于模型对指令的遵循度。

条件生成:在输入中显式附加条件信息——情感标签、风格标签、关键词,模型据此调节输出。

解码策略调整:温度与采样参数直接改变输出的保守程度,第 2 章的参数表在这里复用。

约束解码:在解码层面强制满足语法或格式规则(比如必须输出合法的表格结构),控制力最强,实现也最重。

技术 治什么 优点 缺点
上下文压缩 噪声病 提质量降成本 可能误删关键信息
上下文增强 短缺病 信息更全理解更好 可能引入无关信息、加成本
控制生成 失控病 输出符合要求 提示工程靠经验,约束解码限制多样性
迭代式生成 单发病 质量显著提升 多次生成、计算成本高

五、迭代式生成:治"一次写不好"

复杂问题指望一次生成就到位,不现实。迭代式生成的核心是"生成、评估、再修改"的循环,三种模式:

草稿加修改:先由一个模型生成草稿,再由另一个(通常更强的)模型结合原始问题修改润色。两个角色也可以是同一个模型的两次不同提示的调用。这是工程上最容易落地的模式,我们推荐从它起步。

逐步生成:把生成任务拆成多个步骤,每步生成后检查调整再进下一步。适合长报告这类结构化产出。

自纠正生成:模型自己评估自己的输出、自己纠错。省去第二个模型,但自我评估的盲区会原样传给纠错环节。

⚠️ 迭代不是免费的:每次迭代都是一次完整的模型调用,成本与延迟线性上涨。给迭代设上限(两轮足够),并在评估环节用客观标准判断"达标",否则循环会变成烧钱的完美主义。

💡 四种技术的组合直觉:压缩与增强是互斥的两端(上下文要么太多要么太少),先诊断属于哪种再选;控制生成是全局底座,任何时候都该有;迭代式生成只给高价值查询开——用查询分类器区分"简单问题一次过,复杂问题走迭代"。

六、组合实践与两个落地细节

设想一个企业知识库助手的生成端配置:简单事实查询走"轻压缩去重 + 低温生成 + 引用标注",一步到位,延迟优先;复杂分析查询走"反向检索增强 + 迭代两轮 + 约束输出结构",质量优先。同一个系统,两条生成路径,按查询难度分流——这是"自适应"思想在生成端的雏形,也是通往第 4 章智能体化应用的桥。

其中反向检索这个技巧值得再展开两句,因为它性价比极高却少有人用。它不需要任何新组件——用现有模型对用户问题先生成一段"假想答案",再把假想答案当查询去检索。原理在语义空间的形态差异:问题与答案的表述差异大(一个疑问句一个陈述句),而假想答案与真答案的形态接近,向量距离天然更小。哪怕假想答案的内容是错的,它指向的检索方向往往也是对的。代价是每次多一次生成调用,且假想答案可能把检索带偏,所以它适合与原始查询的检索结果合并使用,而非替代。

细节一:压缩与引用的冲突。 压缩后的上下文与引用标注会打架——模型引用的"资料编号"对应的是原始块还是压缩后的段落?用户点开引用想核对原文,看到的却是摘要。务实的解法:引用锚定在原始块编号上,压缩只影响送进模型的内容,不影响展示给用户的出处。实现上要求压缩环节保留"压缩句到原始块"的映射关系,这是设计压缩模块时最容易漏掉的字段。

细节二:迭代终止条件的设计。 迭代式生成最容易失控的地方是"何时停"。三种终止条件按优先级组合使用:硬上限(最多两轮,成本兜底);质量阈值(评估器打分超过某分数即停,效果导向);差异收敛(新一轮修改与上一轮差异低于阈值,说明已无改进空间)。只用硬上限会浪费(早已达标还在迭代),只用质量阈值会失控(阈值定高了永远不达标),组合使用才稳。

顺带说明草稿与修改两个角色的分工设计:草稿模型要快,负责把结构和要点搭出来;修改模型要好,负责核对资料、修正错误、打磨表达。两个角色也可以合并为一个模型的两次调用,但提示词必须不同——草稿提示词鼓励覆盖全面,修改提示词强调忠实证据与精炼。把两个角色的提示词分开设计,还有个附带好处:修改环节的提示词里可以加入"对照检索原文逐句核对"的指令,让迭代不止于文字润色,而是真正的事实校对——这类指令对草稿模型过于沉重(拖慢速度),放在修改模型上恰到好处。

四类技术的适用场景最后再对齐一次,作为本节的收束:

你的症状 首选技术 次选 组合建议
上下文冗长啰嗦 上下文压缩(先文本去重) 摘要压缩 加引用锚定设计
答案信息单薄 反向检索增强 多跳推理 控制迭代次数
输出风格飘忽 提示词控制 解码参数收紧 高风险场景上约束解码
复杂问题质量差 草稿加修改迭代 逐步生成 配质量终止条件

收束:记住四病四药

  • 四病四药:噪声病用压缩、短缺病用增强、失控病用控制生成、单发病用迭代,先诊断后下药。
  • 压缩三法:选择性保留粒度最细、摘要保真度好、注意力过滤上限高但门槛高;压缩宁松勿紧。
  • 增强四招:查询扩展、知识图谱、反向检索、多跳推理;反向检索用假设答案拉近查询与答案的语义距离。
  • 控制四径:提示工程最轻、条件生成显式、解码策略直接、约束解码最强。
  • 迭代有价:草稿加修改最易落地,迭代上限两轮,用查询分流控制成本。
  • 两个易漏细节:压缩保留到原始块的映射以便引用锚定;终止条件用硬上限、质量阈值与差异收敛组合。

生成端优化完毕,还剩最后一组问题:改了这么多,效果到底好了多少?系统敢不敢对外提供服务?下一节讲评估、监控与部署。详见第 3 节。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U