你这个问题其实是 会话上下文的问题。
OpenClaw 里,每次对话默认会 保留 conversation history,因为它是按 agent session 运行的。如果不清理,模型会一直带着之前的上下文。

要做到 每次提问都是干净上下文,有三种方法。


方法一(最干净):每次新建 session

直接创建新的会话 ID。

例如调用 API 时:

{
  "session_id": "random-uuid"
}

每次生成一个新的 session_id,OpenClaw 就不会带历史。

例如:

session_1
session_2
session_3

这样每次都是空上下文。


方法二:关闭 history(很多人不知道)

在 agent 配置里可以关掉记忆。

openclaw.json

{
  "agents": {
    "defaults": {
      "memory": {
        "enabled": false
      }
    }
  }
}

这样:

每次请求
→ 不会写入历史
→ 不会读取历史

等于 stateless。


方法三:调用 reset

如果你是在 CLI 或插件里用,可以在新问题前调用:

/reset

或者 API:

DELETE /sessions/{session_id}

这样就会清空之前的对话。


现实中最推荐的做法

生产环境一般这样设计:

IDE / Web
   ↓
生成 UUID session
   ↓
OpenClaw
   ↓
模型

也就是:

每次新 session

而不是频繁 reset。


很多人忽略的一个坑

如果你用的是:

agents.defaults.model.primary

没有设置 session,OpenClaw 会默认用 同一个 session

结果就是:

第二次问题
→ 会带第一次上下文

很多人以为模型“变笨”,其实是上下文污染。


如果你愿意,我可以给你一套 OpenClaw 的无状态调用配置(stateless agent)
那套配置可以做到:

每次提问
→ 0历史
→ 0缓存
→ 纯推理

特别适合 IDE 插件 / 自动化脚本 / API 调用

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐