任务 ID: task-ctx-reduce-research  |  文件: session.md  |  最后修改: 2026-02-26 18:21:41

Session Log — task-ctx-reduce-research — OpenClaw 初始 Context 调研与优化方案

时间: 2026-02-26 模式: search 轮次: 1

研究问题

  1. 42k 初始 context 是否异常?OpenClaw 基线和对比框架
  2. 各 Project Context 文件「使用频率」vs「初始加载必要性」,懒加载可行性
  3. OpenClaw context 优化手段(配置选项、社区最佳实践)
  4. 可行优化方案清单(节省 tokens + 实现难度 + 能力影响)

查询词列表

去重检查:无相关已有报告,开始新搜索

Round 1 — SearXNG 广度搜索

查询1: OpenClaw context window optimization system prompt → 28 条,不可用引擎:duckduckgo(CAPTCHA)
关键命中:
- docs.openclaw.ai/concepts/context(官方文档)
- github.com/openclaw/openclaw/discussions/10234(System Prompt 裁剪讨论)
- github.com/openclaw-token-optimizer(懒加载工具,开源)
- aicost.org 关于 /compact /reset 的 token 优化指南
- answeroverflow context settings 经验帖

查询2: Cline/Cursor/Continue system prompt size initial context → 28 条
关键命中:
- cline.bot/blog context window explained(Cline 官方解说 context 组成)
- docs.cline.bot/prompting/understanding-context-management(Cline context 管理,Auto Compact @80%)
- lorenzhw.substack.com Cline system prompt 构建过程

查询3: AI agent system prompt lazy loading context reduction → 31 条
关键命中:
- github.com/anthropics/claude-code/issues/7336(Lazy Loading MCP Servers,95% context reduction claim)
- medium.com Dynamic Context Loading Claude vs Cursor 对比
- agno.com skills lazy loading 设计(系统性方案)
- williamzujkowski.github.io 150K→2K tokens progressive loading(V4架构)
- martinfowler.com Context Engineering for Coding Agents(权威综述)

查询4: AI assistant initial context tokens comparison → 28 条(偏通用,补充背景)
查询5: OpenClaw docs workspace files AGENTS.md project context injection → 19 条
关键命中:
- docs.openclaw.ai/concepts/context(官方 Context 概念文档)
- github.com/openclaw/openclaw/issues/9157(workspace file injection 浪费 93.5% token 预算 issue)
- bibek-poudel.medium.com How OpenClaw Works(skills 注入机制)
- ppaolo.substack.com OpenClaw Architecture(系统 prompt 组装流程)
- deepwiki.com Bootstrap Files 分析
- amankhan1.substack.com AGENTS.md 优化实践

SearXNG 总计: ~105 条原始结果,精选 Top 10 URL 待 web_fetch

Round 1 — Web Fetch 关键页面提取

[1] docs.openclaw.ai/concepts/context — 官方文档,核心数据:
- /context list 示例:System prompt (run)=38,412chars(~9,603tok),Project Context=23,901chars(~5,976tok)
- 注入文件:AGENTS.md/SOUL.md/TOOLS.md/IDENTITY.md/USER.md/HEARTBEAT.md/BOOTSTRAP.md
- bootstrapMaxChars=20000(单文件截断上限),bootstrapTotalMaxChars=150000(总上限)
- Skills:只注入 compact list(name+desc+location),SKILL.md 内容不预加载
- Tool schemas(JSON):计入 context 但不显示为文本,/context detail 可查各工具大小
- browser schema=9,812chars(2,453tok); exec schema=6,240chars(1,560tok)

[2] github.com/openclaw/openclaw/issues/9157 — workspace 文件每次消息都重复注入:
- 问题:resolveBootstrapContextForRun() 在每条消息都被无条件调用
- 数据:~35,600 tokens/message 浪费,100条消息会话成本浪费.51
- 提议:只在第一条消息注入(first-message-only)
- 验证:message 1=8,260tok写缓存;message 2=5,194tok读缓存+1,488tok新内容(无重注入)
- 配置方案:agents.defaults.workspaceInjection: 'first-message-only'|'always'

[3] aicost.org /compact /reset 指南:
- /compact:语义压缩历史记录,保留核心逻辑,减少60-80% tokens
- /reset 或 /new:完全清空 context,Token 归零
- 推荐 Pulse Strategy:10-15轮后 /compact,切换主题时 /reset

[4] agno.com agent skills lazy loading 设计:
- Browse:system prompt 只显示 skill summaries(OpenClaw 已实现)
- Load:task匹配时按需 load 完整 instructions(OpenClaw 已实现,read SKILL.md)
- Reference:按需读取 supporting docs
- 模式:Enable specialization without bloat

[5] williamzujkowski.github.io 150K→2K tokens 渐进式加载:
- V1 Monolithic:一个大 CLAUDE.md,每次全量,150K tokens/session
- V4 Progressive:2K 初始,按需加载,.50→/bin/bash.06/session(98% 节省)
- 模型在100K+ context时性能下降15-30%(InfiniteHiP 研究)
- 模型实际只关注输入的2-5%(sparse attention 研究)

[6] apiyi.com OpenClaw Token 消耗深度分析:
- System prompt 占总消耗 10-15%(Context Accumulation 40-50% 最高)
- 系统架构:工具定义+工作区配置文件+个性化设置,每次请求都重发
- 参考数据:重度用户 50M-200M tokens/月,月均 0-150+

[7] 本地 docs/concepts/system-prompt.md — 权威确认(最重要发现):
- 注入文件列表:AGENTS.md/SOUL.md/TOOLS.md/IDENTITY.md/USER.md/HEARTBEAT.md/BOOTSTRAP.md
- ⚠️ MEMORY.md 和/或 memory.md 也被自动注入(重大发现!)
- memory/*.md 日常文件:不自动注入,通过 memory_search/memory_get 按需读取
- promptMode=minimal(sub-agents):省略 Skills/Memory Recall/OpenClaw Self-Update 等
- 官方 Tips:keep MEMORY.md concise — it grows over time and leads to high context usage

[8] 本地 docs/gateway/configuration-reference.md — 可用配置选项:
- agents.defaults.bootstrapMaxChars: 20000(单文件上限)
- agents.defaults.bootstrapTotalMaxChars: 150000(总上限)
- agents.defaults.skipBootstrap: true(完全禁用 bootstrap 文件自动创建和注入)
- agents.defaults.contextPruning(prune old tool results in-memory)
- agents.defaults.compaction(mode/target tokens/memoryFlush)
- skills.allowBundled(限定哪些 bundled skills 可见)
- skills.entries..enabled: false(单独禁用特定 skill)
- tools.deny(禁用工具,减少 schema 注入)

过滤结果: 精选高价值来源 14 条,丢弃:无关/通用 10 条,403/空内容 2 条

报告写入完成

报告路径: /root/.openclaw/workspace/tasks/task-ctx-reduce-research/report.md
核心发现:
1. MEMORY.md 被自动注入(官方文档确认,非预期行为,是重要优化机会)
2. browser 工具 schema 单独 2,453 tok,tool schemas 是 18k 差距的主因
3. 无 workspaceInjection: first-message-only 官方配置(仅社区提议)
4. Skills 已是懒加载(只注入 compact list),SKILL.md 按需 read
5. 方案 A+B+C 可节省 10k-14k tok,从 42k 降至约 28k-32k

完成时间: 2026-02-26 最终有效来源: 14 条