第六章 会话、上下文与记忆
最后更新于
到目前为止,你的 OpenClaw 能回答单轮问题了。但真正的对话是一系列交互,而不是孤立的问答:用户说“帮我分析这个表格”,然后跟进“对,按这个条件过滤一下”,再说“把结果发给我的经理”。这一系列交互需要:
会话来追踪“谁在和谁说话”,确保小张和小李的对话不会混淆
上下文来高效地把之前的信息(表格内容、用户偏好)提示给模型,而不是每次都从头开始
记忆来让智能体记住重要信息,比如“小张喜欢按价格排序”“我们公司用 Slack 而不是 Teams”
这三样东西看似简单,但在生产环境中的设计有很多陷阱。比如:
同一个用户的多个独立任务应该隔离在不同会话,还是合并在一个大会话里?
一个月前的对话记录还需要保留吗?保留的话成本会不会爆炸?
上下文窗口只有 200k token,要怎样优先级排序才能既有信息又不超预算?
本章的主线就是回答这些问题:会话用于定义状态归属,上下文用于在 Token 预算内组织可用信息,记忆用于跨会话长期沉淀事实与偏好。三者共同决定系统的可复现性、可观测性与可运维性。通过本章,你将学会如何在有限的资源约束下,让智能体保持长期的、可预测的、可复现的对话能力。
本章包括以下几个小节:
6.1 会话模型与状态持久化:理解会话(Session)的标识、生命周期与持久化边界。
6.2 上下文构建与窗口预算:掌握上下文的分层注入、优先级原则与预算分配策略。
6.3 记忆机制:写入、检索与失效:了解记忆机制:主存(Markdown)与检索后端的配合方式。
6.4 压缩与裁剪:折叠与丢弃策略:掌握长会话治理:裁剪(Pruning)与压缩(Compaction)的完整参数、触发机制与取舍。
6.5 本章小结:关键结论、端到端闭环示例与读者自检。
完成本章的阅读后,你将能够:
设计会话:为不同场景设计合理的会话隔离与标识策略。
组织上下文:按优先级分层注入信息,在 Token 预算约束下保持高信噪比。
建立记忆:设计长期记忆机制,让智能体记住重要信息并能可靠检索。
管理成长:通过裁剪与压缩,让长期会话保持高效且可回放。
最后更新于
