# 第六章 会话、上下文与记忆

到目前为止，你的 OpenClaw 能回答单轮问题了。但真正的对话是一系列交互，而不是孤立的问答：用户说“帮我分析这个表格”，然后跟进“对，按这个条件过滤一下”，再说“把结果发给我的经理”。这一系列交互需要：

* **会话**来追踪“谁在和谁说话”，确保小张和小李的对话不会混淆
* **上下文**来高效地把之前的信息（表格内容、用户偏好）提示给模型，而不是每次都从头开始
* **记忆**来让智能体记住重要信息，比如“小张喜欢按价格排序”“我们公司用 Slack 而不是 Teams”

这三样东西看似简单，但在生产环境中的设计有很多陷阱。比如：

* 同一个用户的多个独立任务应该隔离在不同会话，还是合并在一个大会话里？
* 一个月前的对话记录还需要保留吗？保留的话成本会不会爆炸？
* 上下文窗口只有 200k token，要怎样优先级排序才能既有信息又不超预算？

本章的主线就是回答这些问题：**会话用于定义状态归属，上下文用于在 Token 预算内组织可用信息，记忆用于跨会话长期沉淀事实与偏好**。三者共同决定系统的可复现性、可观测性与可运维性。通过本章，你将学会如何在有限的资源约束下，让智能体保持长期的、可预测的、可复现的对话能力。

## 本章内容导读

本章包括以下几个小节：

* [**6.1 会话模型与状态持久化**](/openclaw_guide/di-er-bu-fen-jin-jie-shi-yong/06_context_memory/6.1_sessions.md)：理解会话（Session）的标识、生命周期与持久化边界。
* [**6.2 上下文构建与窗口预算**](/openclaw_guide/di-er-bu-fen-jin-jie-shi-yong/06_context_memory/6.2_context_building.md)：掌握上下文的分层注入、优先级原则与预算分配策略。
* [**6.3 记忆机制：写入、检索与失效**](/openclaw_guide/di-er-bu-fen-jin-jie-shi-yong/06_context_memory/6.3_memory_mechanism.md)：了解记忆机制：主存（Markdown）与检索后端的配合方式。
* [**6.4 压缩与裁剪：折叠与丢弃策略**](/openclaw_guide/di-er-bu-fen-jin-jie-shi-yong/06_context_memory/6.4_compaction_pruning.md)：掌握长会话治理：裁剪（Pruning）与压缩（Compaction）的完整参数、触发机制与取舍。
* [**6.5 本章小结**](/openclaw_guide/di-er-bu-fen-jin-jie-shi-yong/06_context_memory/summary.md)：关键结论、端到端闭环示例与读者自检。

## 学习目标

完成本章的阅读后，你将能够：

1. **设计会话**：为不同场景设计合理的会话隔离与标识策略。
2. **组织上下文**：按优先级分层注入信息，在 Token 预算约束下保持高信噪比。
3. **建立记忆**：设计长期记忆机制，让智能体记住重要信息并能可靠检索。
4. **管理成长**：通过裁剪与压缩，让长期会话保持高效且可回放。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/openclaw_guide/di-er-bu-fen-jin-jie-shi-yong/06_context_memory.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
