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.mdIDENTITY.mdUSER.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