"2026年5月13日,凌晨1点47分。我盯着那个128K Token的上下文窗口,它已经用了127,982个Token。就在这时,Agent突然忘记了最开始的任务指令。那个瞬间,我明白了一个道理——上下文就像人的短期记忆,装太多东西,就会忘记最重要的那个。"
📚 什么是Context Engineering?
Context Engineering(上下文工程) 是一门系统性优化AI Agent输入上下文的学科,目标是在有限的Token预算内,最大化信息密度和任务完成质量。
🎭 周星驰式比喻
想象你是一个厨师(AI Agent),有人给你一张有限大小的菜单板(上下文窗口),让你根据上面的信息做菜。如果菜单板上写满了无关紧要的内容(冗余信息),真正重要的菜谱(关键指令)就写不下了。Context Engineering就是教你如何精挑细选,只把最重要的信息写在菜单板上,让每一寸空间都发挥最大价值。
为什么重要?
- 成本优化 - 减少Token消耗 = 降低API成本
- 性能提升 - 精炼的上下文 = 更准确的输出
- 避免遗忘 - 防止重要信息被挤出上下文窗口
- 提升速度 - 更少的Token = 更快的推理速度
🚀 OpenClaw中的Context Engineering实战
实战1:动态上下文加载
根据任务类型动态加载不同的上下文:
// OpenClaw上下文管理配置
{
"context_strategy": "dynamic",
"context_layers": [
{
"name": "system",
"content": "核心系统指令",
"priority": "always",
"token_budget": 2000
},
{
"name": "task_specific",
"content": "动态加载",
"priority": "on_demand",
"token_budget": 5000,
"loader": {
"skill": "context-loader",
"inputs": {"task_type": "$current_task.type"}
}
}
]
}
实战2:智能上下文压缩
使用摘要技术压缩长文档:
// 压缩前:50KB文档(~12,500 tokens)
// 压缩后:500字摘要(~500 tokens)
// 压缩比:25:1
{
"skill": "context-compressor",
"inputs": {
"document": "$user_uploaded_doc",
"strategy": "extract_keypoints",
"max_tokens": 500
}
}
// Agent自动调用:
// 1. 识别文档过长
// 2. 调用context-compressor生成摘要
// 3. 用摘要替换原文放入上下文
实战3:上下文缓存
缓存常用上下文,避免重复传输:
// OpenClaw自动上下文缓存
{
"cache_config": {
"enabled": true,
"ttl_seconds": 3600, // 1小时有效期
"max_cache_size_mb": 100,
"cache_layers": ["system", "few_shot_examples"]
}
}
// 效果:
// - 首次请求:传输完整上下文(10,000 tokens)
// - 后续请求:只传输缓存ID(100 tokens)
// - 成本节省:99%