OpenClaw学习总结_I_核心架构系列(3):Context管理详解

I. 核心架构 - 3. Context 管理

📍 课程位置

阶段 :I. 核心架构
课序 :第 3 课
前置知识 :I-2. Agent Loop
后续课程:I-4. Session 管理


🎯 本课核心问题

如果你问我:"为什么 Agent 能'记得'之前聊了什么?它的'记忆力'是怎么工作的?为什么有时会说'上下文太长'?"

我会这样回答 :这就是 Context(上下文)管理------Agent 的"工作台",它决定了 Agent"此刻知道什么"。


📚 Context 的三层结构

第一层:System Prompt(系统提示词)

是什么:告诉 Agent "你是谁"、"你该怎么做"的指令

类比

  • 就像员工的岗位职责说明书
  • "你是一个助手,要礼貌、专业、有耐心"
  • "你不应该透露敏感信息"
  • "遇到问题要先确认再执行"

包含的内容

复制代码
System Prompt =
  meta(你是谁) +
  goal(你的目标) +
  constraints(限制条件) +
  role(角色设定)

关键点

  • 系统提示词在每个对话开始时加载
  • 可以在配置中自定义
  • 影响整个对话的行为

第二层:History(对话历史)

是什么:之前聊过的内容,Agent 的"记忆"

类比

  • 就像会议的会议记录
  • 之前聊过什么,Agent 都能看到
  • 但不是全部记住,会"遗忘"很早以前的内容

关键点

  • 存在 Session 文件中
  • 有长度限制(Context Window)
  • 太长会被压缩(Compaction)

第三层:Tools(可用工具)

是什么:Agent 现在能用的"工具清单"

类比

  • 就像工人的工具箱
  • 告诉 Agent:"你现在有这些工具可以用"
  • 每个工具都有"说明书"(Schema)

关键点

  • 工具的 Schema 会消耗 Context 空间
  • 工具越多,消耗越大
  • 可以通过配置优化

🔢 Context 的成本问题

为什么 Context 不是免费的?

  • Token 是钱:每次调用 AI 模型,都要付 Token 费用
  • 越长越贵:Context 越长,费用越高
  • 有上限:AI 模型有 Context Window 限制(如 200K tokens)

成本计算公式

复制代码
Context 成本 ≈
  System Prompt tokens +
  History tokens +
  Tools Schema tokens

一个具体例子

假设:

  • System Prompt:1,000 tokens
  • History(最近 50 条消息):50,000 tokens
  • Tools(10 个工具):10,000 tokens
  • 总计:61,000 tokens

如果用 Claude Sonnet 4.5($3/1M 输出 tokens),

每次调用仅 Context 成本 ≈ $0.18


🎯 Context 管理的目标

两个目标

  1. 让 Agent 知道足够多 - 不遗忘重要信息
  2. 让成本可控 - 不超出预算和限制

平衡的艺术

  • 给太少 → Agent "失忆",不知道之前聊过啥
  • 给太多 → 成本太高,甚至超出限制

🔧 如何优化 Context

1. Compaction(压缩)

是什么:当 Context 太长时,自动压缩历史

怎么做

  • 保留重要信息
  • 删除冗余内容
  • 总结早期对话

后续课程会详细讲:I-6. Compaction

2. 工具精简

是什么:只加载需要的工具

怎么做

  • 禁用不需要的工具
  • 使用工具组
  • 按需加载

3. System Prompt 精简

是什么:不要让 System Prompt 太冗长

怎么做

  • 简洁明了的指令
  • 避免重复
  • 只保留必要的约束

4. Session 管理

是什么:定期清理不需要的 Session

怎么做

  • 设置 Session 过期时间
  • 定期清理旧 Session
  • 使用不同的 Session 隔离不同话题

🔍 实战:配置你的 Context

查看当前的 Context 配置

bash 复制代码
# 查看 Agent 配置
openclaw config get agents.defaults

# 查看当前 Context 使用情况
# 在日志中查看 token 使用统计

配置示例

json5 复制代码
{
  "agents": {
    "defaults": {
      // 最大的 Context Window(Tokens)
      "contextWindow": "200000",
      
      // 压缩策略
      "compaction": {
        "mode": "safeguard",  // 自动压缩
        "reserveTokens": "10000"  // 保留 10K tokens 空间
      },
      
      // 工具配置
      "tools": {
        "enabled": true,
        "profile": "default"  // 可以选 minimal, messaging 等
      }
    }
  }
}

调整 System Prompt

json5 复制代码
{
  "agents": {
    "defaults": {
      "systemPrompt": "你是一个专业的技术助手..."
    }
  }
}

⚠️ 常见陷阱

陷阱 表现 原因 解决
上下文溢出 "Context length exceeded" 历史太长 启用 Compaction
工具 Schema 太大 大量 tokens 被工具消耗 工具太多 精简工具列表
System Prompt 太长 每次调用成本很高 指令冗余 精简 Prompt
重要信息丢失 Agent "忘记"之前说的 压缩策略太激进 调整保留策略

📝 学习心得

我学这一课时的体会

我以前没注意到,Context 是一种"资源",需要精心管理。

最大的收获是:

  • Context 不是"越多越好"
  • 它有成本,有限制
  • 需要在"记忆力"和"成本"之间找平衡

这让我想到:Compaction 是必须的,不然对话一长就会出问题。

与其他课程的关联

  • 前置课程:Agent Loop - Context 是第 2 阶段
  • 后续课程:Session 管理 - 存储历史的地方
  • 配合课程:Compaction - 压缩 Context 的技术

✅ 你现在应该理解的

  • 说出 Context 的三层结构
  • 解释每层做什么
  • 理解 Context 的成本问题
  • 知道如何优化 Context
  • 能配置基本的 Context 参数

📚 快速参考表

层级 名称 作用 成本影响
第一层 System Prompt 告诉 Agent 规则 中(通常固定)
第二层 History 之前的对话 高(会累积)
第三层 Tools 可用工具列表 中(取决于数量)

🔗 相关资源

官方文档

相关课程

  • 上一课:I-2. Agent Loop
  • 下一课:I-4. Session 管理
  • 相关课:I-6. Compaction

📊 本课总结

最关键的 3 点

  1. 三层结构

    • System Prompt + History + Tools
    • 每层都有不同的作用
  2. 成本意识

    • Context 不是免费的
    • 需要在"记忆力"和"成本"之间平衡
  3. 优化方法

    • Compaction 压缩
    • 工具精简
    • Prompt 优化

现在你应该理解了 Agent 的"工作台"是什么。下一课会讲如何管理多个用户的对话(Session 管理)。

相关推荐
鄭郑2 小时前
Figma学习笔记--01
笔记·学习·figma
问道飞鱼2 小时前
【Tauri框架学习】Tauri 与 React 前端集成:通信机制与交互原理详解
前端·学习·react.js·rust·通信
写点什么呢2 小时前
Pytorch学习16_损失函数与反向传播
人工智能·pytorch·python·学习·pycharm
for_ever_love__2 小时前
Objective-C学习 NSDictionary,NSMutableDictionary 功能详解
开发语言·学习·ios·objective-c
for_ever_love__2 小时前
Objective-C学习 协议和委托
开发语言·学习·ios·objective-c
鹅天帝2 小时前
20230319网安学习日志——XSS漏洞
前端·学习·web安全·网络安全·xss
承渊政道2 小时前
C++学习之旅【IO库相关内容介绍】
c语言·开发语言·c++·学习·macos·visual studio
bu_shuo2 小时前
Origin软件学习
学习·origin
zhangrelay2 小时前
用智能大模型复盘课程博客停更案例
笔记·学习