📦 Lean Context

v1.0.0

在 AI agent 系统(Claude Code、OpenClaw、GPT Codex、Cursor、Windsurf、Aider 等)中,通过上下文压缩、选择性加载等方式减少 token 用量。

0· 7·0 当前·0 累计
awalesagar 头像by @awalesagar (Sagar Awale)
0

运行时依赖

无特殊依赖

安装命令

点击复制
官方npx clawhub@latest install lean-context
镜像加速npx clawhub@latest install lean-context --registry https://cn.longxiaskill.com

技能文档

Token Optimizer 不牺牲质量,削减 token 用量。以下每种技巧均在 Claude Code、OpenClaw 及各类 agentic 系统生产环境实战验证。

3 大 Token 黑洞(优先修复)

  • 工具输出堆积 —— 每次读文件、跑 shell、MCP 返回,完整输出永久追加进上下文。一份 10K 行日志会伴随后续每条消息。这是头号隐形杀手。
  • 上下文复利 —— 模型每轮重读整个对话。第 50 条消息比第 5 条贵,因为它连带重读前 49 条。长会话=token 熔炉。
  • 系统提示基线 —— CLAUDE.md / AGENTS.md 等系统提示每次请求前全量加载。5K token 配置文件每轮固定烧 5K。

策略 1:压缩系统提示 目标:主配置 ≤500 token。 CLAUDE.md / AGENTS.md 模板(≈150 token) 规则

  • TypeScript strict mode
  • 每个新函数必测
  • 遵循现有模式
关键文件
  • API 路由:src/api/README.md
  • DB 模式:docs/schema.md
  • 风格指南:docs/style-guide.md
原则:给项目骨架,不给全文;用文件指针代替内联文档;需要时让模型现读。3–5 条规则 + 3–5 个文件指针最佳。

策略 2:选择性加载(渐进披露) 绝不一次性全加载。三级体系: 层级 触发时机 token 成本 Metadata 始终 ≈100 词 Core 指令 触发时 <5K 词 参考文件 按需 无上限 实现模式:

  • 文件指针 > 内联:
# 差:内联一切 ## API 参考 [2000 行] # 好:指针+按需 ## API 参考 见 docs/api.md,仅处理端点时加载。
  • 领域拆分:
skill/ ├── SKILL.md(仅核心流程) └── references/ ├── aws.md(仅 AWS 任务加载) ├── gcp.md └── azure.md
  • 条件加载(grep 模式):
# BigQuery 指标 见 references/metrics.md 搜索模式: - 收入查询:grep "revenue|billing" references/metrics.md - 用户分析:grep "cohort|retention|churn" references/metrics.md

策略 3:压缩与会话卫生 何时 /compact vs /clear: /compact —— 上下文冗长但主题仍相关:摘要后重启。 /clear —— 彻底切换任务:全清,白板。 规则:

  • 新主题=新会话,无例外。
  • 指向具体文件,不说“读整个代码库”。
  • 相关任务一次说完:“修 bug+重构+补测试” > 分三次。
  • 自己看的脚本别让 agent 跑。

策略 4:精简工具定义 工具也是上下文,每请求全量加载。 原则:

  • 最小可用工具集 —— 人类都分不清,模型也懵。
  • CLI > MCP:head -20 file.log(10 token) vs MCP JSON 返回(1000+ token)。
  • 工具返回摘要,而非原始转储。
  • 断开闲置 MCP 服务器 —— 每请求开销真实存在。
工具输出压缩: # 差:全 JSON {"status":"success","data":{"items":[...500 行...],"meta":{...}}} # 好:结构化摘要 "找到 847 项,前 5 项:[名称]。完整结果见 .cache/search.json"

策略 5:提示压缩技术 提取式压缩(低投入,高回报) 摘相关句,其余丢弃。适合叙事文本。 # 前:500 token 客户 John 报告网络不稳 3 天,视频通话中断。支持票 #4521 于 2026-04-15 开启。多次重启路由器失败。 # 后:30 token John:网络 3 天不稳,视频中断,路由器重启失败。

块级筛选 整段保留或丢弃,零重写成本。适合引用密集内容。 relevant_chunks = [c for c in retrieved if c.score > 0.75][:3]

LLMLingua 级 token 压缩 小模型去低信息 token,最高 20 倍压缩,质量损失 <2%。 适用:ICL 示例、检索文档、长指令。 不适用:代码、结构化数据、精确引用。 库:llmlingua(Python)、LLMLingua2。

策略 6:去重模式 上下文内:

  • 系统提示已含指令绝不重复。
  • 引用前文用轮次号:“如第 3 轮所述”。
  • 少样本示例去重 —— 3 个多样例 > 10 个雷同。

跨会话:

  • 共享上下文放文件,而非对话。
  • 用 memory/*.md 做跨会话记忆,避免重述。
  • 加载前哈希校验,避免重复。
数据来源ClawHub ↗ · 中文优化:龙虾技能库