主题
多轮 Agent 请求的上下文应该按什么顺序组装?
题型:追问 · 回答优先级、Token 预算和冲突处理。
建议回答
通常先放稳定的系统规则和安全策略,再放当前任务定义与用户最新输入;随后按需要加入任务级状态、最近对话、历史摘要、相关长期记忆、RAG 证据和必要的工具 Observation。不同来源要带清晰边界和可信级别,检索文档与工具返回是数据,不允许覆盖系统指令。
组装器先预留输出 Token 和工具 Schema 预算,再对候选上下文按重要性、相关性、时效性和来源可信度排序。最近消息可以使用滑动窗口,旧消息进入摘要;超长工具结果裁剪为结构化关键字段;RAG 片段保留引用 ID。若长期记忆与用户当前明确表达冲突,以当前输入为准并更新或失效旧记忆。
进一步追问
- 多轮省略问题在查询改写前需要哪些历史?
- 工具 Schema 很多时如何分配上下文预算?
- 摘要模型产生错误事实怎么办?
易错点
- 上下文不是简单按时间顺序全部拼接。
- 相关性高不代表有权限使用或来源可信。