Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
我们聊天助手最近有个问题,用户前面说“只看上海政策”,后面追问“那报销呢”,模型回答成全国政策。看日志发现历史被截断了。
这个很典型。截断不能只按最早消息删,有些约束比后面的闲聊重要。
历史管理要区分任务状态、用户偏好、临时闲聊、模型废话。不能当一串文本队列。
我们现在就是从头开始丢,直到 token 够。
所以刚好把“上海政策”丢了。你需要会话摘要或状态槽位。
会话摘要会不会也丢信息?
会,所以摘要要结构化一点。比如 region=上海、policy_type=报销、time_range=2026,而不是一句自然语言。
还有用户纠错要保留。用户说“不是合同,是订单”,这个比前面大段回答重要。
高风险场景最好让用户可见当前条件。比如页面上显示“地区:上海”,别全藏在上下文里。
这算 UI 问题还是 prompt 问题?
都是。靠 prompt 记住所有东西不靠谱,产品状态要显式化。
那历史截断策略要改成重要消息保留?
更准确是上下文重建。每轮请求从状态、近期对话、检索资料重新组装,不是机械截一段。
另外记录为什么丢弃某些历史。出问题时能复盘。
我们先做状态槽位和最近两轮原文保留。
你好!看起来您对这段对话很感兴趣,但您还没有一个账号。
厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。
有了你的建议,这篇帖子会更精彩哦 💗