选型指南 架构设计 含可复制代码

多轮对话的上下文管理:摘要、锚点与按需检索

目录层用 SSG 加 ISR 拿收录,工具层用一份 JSON Schema 承接 91 个站内工具,密钥、计费与限流全部收口在国内业务后端,模型调用统一走一层薄适配。这篇把我们真实的目录结构、Schema 字段定义、路由闸门、预扣结算伪代码和合规清单完整摊开。

陈
陈默架构组
2026-09-28 · 14 分钟阅读 · 8,432 次浏览

把历史当数据来管:该留的常驻,该丢的别占位。

多轮对话为什么会"失忆"

一次对话越聊越长,模型却开始忘记前文,通常不是模型变差,而是上下文被挤掉或被截断:

超出窗口的部分被丢弃、或被摘要得只剩大概,关键细节就丢了。

把这件事当作上下文管理问题,而不是模型问题,解法会清晰很多。

三种基本手段

一、滚动摘要

把较早的若干轮压成一段摘要,保留:已确认的事实、用户的硬约束(时间、金额、偏好)、未完成的待办。

摘要要带来源轮次,方便回溯;摘要本身也要版本化,便于比较效果。

二、锚点(关键事实表)

维护一张结构化小表:{字段: 值, 来源: 第几轮, 置信度}。

它不参与摘要压缩,始终原样放进上下文。适合:用户名/ID、地址、金额、日期、已选规格。

这张表能显著减少"前面说过的又忘了"。

三、按需检索历史

不要把所有历史都塞回去,而是把历史存起来,按当前问题检索相关轮次再插入。

和文档检索同理:给历史轮次加标签(主题、时间),检索更准。

该丢什么、该留什么

| 该留 | 该丢 |

|---|---|

| 用户的硬约束与偏好 | 寒暄与重复确认 |

| 已确认的事实与决定 | 被推翻的中间方案 |

| 未完成的待办 | 冗长的工具原始输出(留结论) |

两个工程细节

· 明确"遗忘"的可见性:当摘要导致信息丢失时,让用户可查看"我记住的要点",避免它悄悄记错;

· 设定会话边界:明确多久算新会话;跨会话只带锚点表,不带全文。

怎么验证

造 20 组多轮脚本,每组 8~15 轮,在中段埋入关键约束(例如"预算不超过 X"),

最后问一个依赖该约束的问题:

1. 全量历史全塞;

2. 摘要 + 锚点表。

比较约束遵守率。多数情况下第 2 种更稳、更省,而且长会话越往后优势越明显。

本文由云枢 AI导航整理,内容以官方来源为准。

相关文章

顺序阅读

← 上一篇:提示词版本管理:把提示词当代码来管
下一篇:把 AI 输出接到业务系统:三种接线方式与各自代价 →

第 15 / 171 篇

术语速查 · 本页出现的 12 个词展开看中文名与一句话解释,点术语看完整条目
  • token词元:模型处理文本的最小单位,中文约 1–2 个汉字;计费与上下文长度都按它算。
  • 转写 / 字幕Transcription:把音视频人声逐句变成带时间戳的文字稿,便于做字幕与章节切分。
  • SSE服务器发送事件:服务器通过长连接持续推送增量文本,是对白逐字出现的常见实现。
  • API应用编程接口:程序之间约定的调用方式;站内工具由服务端调用,浏览器里不出现密钥。
  • CDN内容分发网络:把静态资源缓存到离用户更近的节点,缩短加载时间。
  • 缓存Cache:把结果暂存复用,复用得越多平均耗时越低;需要约定过期与刷新策略。
  • 限流Rate Limit:限制单位时间内的请求次数,防止单用户或异常流量打满服务端。
  • SSG静态站点生成:构建阶段就生成 HTML,访问时直接返回,不必每次请求都渲染。
  • ISR增量静态再生:先返回静态页,再在后台按需重新生成,兼顾速度与更新时效。
  • 灰度发布Canary Release:先让一小部分用户用新版本,确认无误再放量,出问题的爆炸半径最小。
  • 提示词Prompt:交给模型的指令文本;写清角色、任务、输入与输出格式比反复试更省。
  • 积分Credits:站内计费单位:按工具单价预扣,调用失败自动退还;单价以定价页为准。

完整解释与站内出现处见 AI 术语表(40 条)。