把上下文当成有限预算:系统提示、工具说明、对话历史、检索文档和「预留给回答」要分开记账。 超支时模型不是温和降级,而是漏看约束或捏造细节。

为什么要预算

  • 长对话后期「忘了」最初规则。
  • RAG 一次塞太多片段,重要句被挤出窗口。
  • 工具返回值过长,下一轮推理空间不足。

预算拆分(示意比例,按模型上限自行换算)

区块建议说明
系统与工具说明固定尽量短,稳定
对话历史可压缩保留最近轮 + 摘要
检索/附件设上限按相关度截断
输出预留强制留白否则答到一半被截断

具体 token 数因模型而异,以你使用的接口文档为准,不要死记某一数字。

操作步骤

  1. 量一次:用计数工具或接口返回的 usage,看各区块占比。
  2. 给检索设硬顶:例如最多 N 段、每段最多 M 字,超出先重排再截。
  3. 历史策略:超过 K 轮则摘要旧轮,保留用户最新约束原文。
  4. 输出预留:在调用前检查「已用 + 期望输出」是否越界。

提示词配合(示意)

若提供的参考资料过长,只使用与问题直接相关的段落,并在回答中注明「未使用全部资料」。
不要假装读过被截断的部分。

常见坑

  • 把整份 PDF 粘进提示词当「知识库」。
  • 摘要时丢掉用户否定句(「不要用短信通知」)。
  • 多 Agent 各自塞满上下文,汇总时再次爆炸。

落地检查

在预发环境打开 usage 日志,对一次典型对话打印各区块占比,贴到团队文档。给检索与工具返回设报警阈值:接近上限就改摘要策略。评测时故意加入「早期否定约束」,看摘要后是否仍被遵守。多 Agent 汇总节点单独预算,防止各自满窗后再拼接。

不要把某一模型的窗口数字写死进业务代码当永恒真理,升级模型时重测。

相关阅读:RAG 过期文档处理、Agent 工具调用幂等,更多见 AI 技能分类。

写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。

写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。

写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。

写完模板后,建议在真实场景试运行一次,把含糊句子改成你们行话,并删掉任何模型编造的数字、法规条款号或保证措辞。把终版存入共享文档并注明适用日期,避免同事继续使用过期口径。