5.5 上下文管理

本文档解释 OpenClaw 如何管理"上下文"——模型在一次运行中接收的所有内容,受模型 Token 限制的约束。

上下文结构

系统组合三个主要元素:

  • OpenClaw 的系统提示词:规则、工具、技能、工作区文件
  • 对话历史:之前的消息交互
  • 工具结果/附件:工具调用的输出
注意
"上下文"与"记忆"不同——上下文仅存在于模型的当前窗口内。

检查命令

使用以下命令查看上下文使用情况:

# 快速上下文窗口评估
/status

# 显示注入的文件和大致 Token 大小
/context list

# 按文件和工具提供详细分解
/context detail

# 在响应中附加 Token 消耗详情
/usage tokens

什么消耗上下文

以下所有内容都计入窗口:

  • 系统提示词
  • 对话历史
  • 工具调用和结果
  • 附件
  • 提供商包装器

系统提示词在每次运行时重建,包括工具描述、技能元数据、工作区位置和时间戳信息。

工作区文件注入

OpenClaw 自动注入最多七个引导文件:

  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • 等其他配置文件...

每个文件的默认字符限制为 20,000 字符。技能指令按需加载,而不是默认加载。

工具和技能管理

工具产生两种成本:

  • 提示词中的文本描述
  • JSON 架构(两者都计入)

技能在系统提示词中显示为紧凑的列表条目,只有在需要时才通过 read 命令检索完整指令。

会话持久化

不同机制的持久化方式不同:

  • 正常历史:保留在记录文件中直到压缩
  • 压缩:创建摘要并保留最近的消息
  • 裁剪:从内存中的提示词删除旧的工具结果,但不重写记录文件
提示
更多上下文管理的详细信息请参考 官方英文文档