OpenClaw 使用指南:如何正确管理对话上下文
OpenClaw 使用指南:如何正确管理对话上下文
从一个错误的使用方式说起——我曾经一整天都在给 AI 塞任务,结果它越来越慢,最后卡住不动。
问题:为什么 AI 会越用越慢?
OpenClaw(以及所有基于大语言模型的 AI 助手)有一个共同特点:对话上下文会累积。
每一次对话,系统都会把历史消息传给模型。随着对话变长,token 消耗会呈指数级增长:
- 开始的几次对话:响应飞快
- 几十轮之后:明显变慢
- 上百轮之后:可能直接卡住或超时
这不是 AI “累了”,而是上下文窗口被撑满导致的性能问题。
解决方案:一个任务,一个对话
正确的使用方式是:
做完一件事 → /new → 开始下一件事
核心命令速查
| 命令 | 作用 | 使用场景 |
|---|---|---|
/new | 开启新对话(保留当前会话记忆) | 完成一个独立任务后 |
/new <model> | 新开对话并切换模型 | 需要换模型时 |
/reset | 重置当前会话(清空上下文) | 对话混乱,想从头开始 |
/status | 查看当前状态和用量 | 随时检查 |
/model | 查看/切换模型 | 需要换模型时 |
/model list | 列出可用模型 | 选择模型时 |
/think <off/minimal/low/medium/high/xhigh> | 调整思考深度 | 复杂问题加深,简单问题关闭 |
/verbose on/off | 开关详细模式 | 调试时开启 |
/compact | 压缩上下文 | 对话太长但不想重置 |
进阶指令
| 指令 | 作用 |
|---|---|
/reasoning on/off/stream | 开关推理显示 |
/elevated on/off/ask/full | 控制高权限工具 |
/queue <mode> | 调整消息队列模式 |
/usage off/tokens/full/cost | 控制用量显示 |
如何保持连续性?
你可能会问:频繁 /new 会不会让 AI 忘记之前的事?
不会——因为 OpenClaw 有文件记忆系统:
MEMORY.md:核心记忆,每次启动读取memory/YYYY-MM-DD.md:每日日志HEARTBEAT.md:定时任务配置SOUL.md、IDENTITY.md、USER.md:身份定义
这些文件在每次新会话时自动加载,确保 AI 记得你是谁、你们在做什么。
实战示例
❌ 错误用法
用户:帮我查一下天气
AI:北京今天晴,15°C...
用户:好的,再帮我写个脚本
AI:(写完脚本)
用户:对了,刚才那个天气...
AI:(需要回溯查找)
用户:还有,帮我分析这个数据...
AI:(越来越慢)
...(20分钟后)
用户:在吗?
AI:(卡住无响应)
✅ 正确用法
[对话1]
用户:帮我查一下天气
AI:北京今天晴...
用户:/new
[对话2]
用户:帮我写个脚本
AI:(写完)
用户:/new
[对话3]
用户:分析这个数据
AI:(分析完成)
用户:/new
每个对话专注一件事,响应保持快速,AI 始终清醒。
什么时候不用 /new?
有些情况需要保持上下文:
- 代码调试:需要回顾之前的错误信息
- 长篇写作:需要保持文风一致
- 复杂分析:多轮追问同一个问题
但即使是这些场景,如果对话超过 30-40 轮,也建议 /compact 压缩或 /new 重新开始。
配置建议
在 ~/.openclaw/openclaw.json 中:
{
session: {
dmScope: "per-channel-peer", // 多用户场景推荐
maintenance: {
mode: "enforce", // 自动清理旧会话
pruneAfter: "30d",
maxEntries: 500,
},
},
commands: {
text: true, // 启用文本命令
bash: false, // 谨慎开启主机命令
config: true, // 允许配置命令
},
}
总结
| 误区 | 正解 |
|---|---|
| 一个对话塞一整天任务 | 一个任务一个对话 |
| 依赖长对话保持记忆 | 用文件系统保持连续性 |
| 等 AI 卡住了才处理 | 主动 /new 管理会话 |
| 害怕 AI 忘记事情 | 相信记忆文件 + 新会话的加载机制 |
记住:频繁 /new 不是打断,而是让 AI 保持最佳状态。
最后更新:2026-03-11