🌟 什么是 Context Engineering?
世界上有一种工程叫Context Engineering,它不是让AI记住更多,而是让AI该记住的记住,该忘的忘。
就像你妈的唠叨——她不是记得你小时候所有糗事,她只记得最该用来"挟持"你的那几件。好的上下文管理也是这样。
💡 Context Engineering 核心概念
- 短期上下文:当前对话的即时信息(类似人类的工作记忆)
- 长期记忆:跨会话持久化的重要信息
- 遗忘策略:主动管理Token使用,丢弃不重要信息
- 检索增强:需要时从外部存储检索相关信息
60%
Token使用节省
3x
上下文容量提升
45%
响应质量提升
🏗️ 上下文管理架构
分层上下文模型
当前对话
→
会话摘要
→
长期记忆
→
知识库
🎯 滑动窗口策略
保留最近N轮对话,丢弃超出的历史
📝 摘要压缩策略
定期将历史对话压缩成摘要
🔍 检索提炼策略
需要时从记忆库检索相关信息
⭐ 优先级注意策略
标记重要信息,保留在上下文中
代码实现
# OpenClaw上下文配置示例
context:
window_size: 20 # 保留最近20轮对话
summary_interval: 10 # 每10轮压缩一次摘要
memory:
type: "hybrid" # 混合记忆:短期+长期
short_term:
max_tokens: 4000
ttl: "1h"
long_term:
storage: "vector-db"
retrieval_top_k: 5
summarize_on_save: true
forget_strategy:
priority_fields: ["user.name", "task.id"]
drop_fields: ["system.status", "debug.log"]
compress_regex: "[\s\S]{1,1000}" # 压缩长序列
🔧 Token优化策略
1. Prompt精简
减少无效的prompt占用:
// ❌ 冗余prompt
const badPrompt = "我希望你是一个有用的AI助手,请帮我查一下天气。\n" +
"我之所以问这个问题是因为我要决定今天是否出门...";
// ✅ 精简prompt
const goodPrompt = "天气查询:城市=北京,日期=今天";
2. 结构化上下文
使用结构化格式减少Token使用:
// 结构化上下文模板
const context = {
version: "1.0",
user: {
id: "u_1234",
preferences: ["tech", "ai"],
recent_actions: 5
},
current_task: {
type: "weather_query",
params: { city: "北京" }
},
history: [
{ role: "user", summary: "询问了AI新闻" },
{ role: "assistant", summary: "推荐了GPT-5.6文章" }
]
};
✅ Token优化最佳实践
- 使用结构化JSON替代自然语言描述
- 定期压缩冗长的对话历史
- 丢弃已完成的子任务上下文
- 使用通用的系统prompt模板
- 利用OpenClaw的上下文缓存机制
🎯 记忆系统实战
构建持久化记忆
// OpenClaw记忆系统配置
memoryStorage:
type: "vector"
provider: "pgvector"
embedding_model: "text-embedding-3-small"
# 记忆分类
categories:
- name: "user_preferences"
retention: "permanent"
- name: "task_history"
retention: "30d"
- name: "conversation_logs"
retention: "7d"
# 检索配置
retrieval:
top_k: 5
min_score: 0.7
mix_strategy: "recency-relevance" # 近期+相关性混合
💡 王家卫式哲理时刻
"世界上有一种记忆叫Context,你以为800万token都记住了,其实能记住你的只有那关键的1024个。其他的,都在遗忘的边缘徘徊。"