实例讲解什么是上下文治理

3 小时 34 分钟前
 ximaoyang

上下文治理( Context Governance )是上下文工程( Context Engineering )中的一个部分。但我觉得,上下文治理是上下文工程里最有意思的部分。

光这么说,你肯定会像我一开始一样,觉得这个概念很抽象。但是,如果你跟我一样,了解了几种主流智能体( Agent )的上下文治理之后,你一定会对"上下文治理"有一个非常直观的理解。

接下来,我会通过比较 4 种智能体的上下文治理方式,让你直观地理解什么是上下文治理。以下四种工具的上下文治理,从简单到复杂、从低级到高级。


Codex

首先是 OpenAI 的 Codex 。虽然 OpenAI 是第一个做出 LLM 的公司,但是它们的智能体产品反而最年轻。

虽然它最年轻,但它的上下文治理也是最简单的。在 .codex/ 目录下,有一个叫 AGENTS.md 的文件。这是一个简单的 AGENTS.md 文件示例:

# 仓库规范

## 项目结构
- `src/` 存放应用代码
- `tests/` 存放测试代码

## 常用命令
- 运行测试:`npm test`
- 运行代码检查:`npm run lint`

## 编码规范
- 优先使用 TypeScript
- 避免使用 default export (默认导出)
- 使用 async/await ,而不是直接使用原始 Promise

Codex 在开始工作之前,会先读取这个文件的内容。这个文件需要你手动维护,不断往里面添加规则。

除了这个文件以外,还有一个文件夹:~/.codex/memories/ 顾名思义,就是"记忆"。Codex 会自动往里面写文件。

大概的结构如下:

类型 可能内容
summaries session 摘要
durable 长期稳定记忆
recent 最近上下文
evidence 来源证据

可以看到,Codex 的上下文治理其实非常轻量。

它本质上还是:

仅此而已。


Claude Code

Claude Code 的上下文治理很特别。

官方支持的其实跟 Codex 差不多:

就这两个东西。你一看名字基本就懂了。但是,Claude Code 的社区自己增强了它的上下文治理,逐渐演化成了这样:

名字 类型 作用 人工/自动
CLAUDE.md 文件 项目规则、Agent 行为规则 人工
MEMORY.md 文件 长期记忆、长期偏好、长期经验 半自动
NOTES.md 文件 临时工作笔记、scratchpad 人工
DECISIONS.md 文件 关键架构/技术决策历史 人工
ARCHITECTURE.md 文件 系统结构、模块关系、数据流 人工
LEARNINGS.md 文件 踩坑经验、经验总结 半自动
TASKS.md 文件 当前任务列表、待办事项 人工
SESSION.md 文件 当前 session 工作记录 半自动
docs/ 文件夹 长文档上下文来源 人工
memory/ 文件夹 memory 分类存储 半自动
prompts/ 文件夹 prompt 模板、workflow prompt 人工
.cursorrules 文件 Cursor 兼容规则 人工

这下就比 Codex 复杂很多了。但是你会发现,这里面有大量文件都需要人工维护。而且整个结构特别像我们以前做项目时写的 Wiki 文档结构。

其实,为了让 Agent 更好地工作,它也应该像我们一样,先看看项目 Wiki 。人们现在只是把 Wiki 文档,变成了上下文 Markdown 文件而已。这样理解就很容易了。Claude Code 在这些上下文文档的基础上,工作的方式越来越像一个真正的程序员。


Open Claw

Open Claw 的定位跟 Claude Code 不太一样。它更偏向生活助手。而且 Claude Code 社区版的上下文治理,需要管理的文件太多了。不同于 Claude Code ,Open Claw 的用户更多是普通人。很多用户其实并不会直接编辑 Open Claw 的上下文文件,甚至都不知道这些文件需要人工维护。

但是,Open Claw 的上下文设计其实比 Claude Code 社区版更"Agent 化"。因为 Claude Code 社区版的上下文结构,还是带有很强的人类项目管理思维。但在 Agent 面前,其实并不一定需要拆成那么多文档。

Open Claw 的上下文治理更偏向"角色"和"人格"。它有这些上下文文件:

核心指令层(静态,你手动维护)

自动化层

记忆层

可以看出,Open Claw 已经比前两个系统复杂很多了。所以你在使用 Open Claw 的时候,会明显觉得它"更聪明"。


Hermes Agent

接下来就是重头戏了。如果你不理解上下文治理,你可能会觉得 Hermes Agent 跟 Open Claw 没什么区别。但不知道你有没有发现:Open Claw 里仍然有很多文件需要你手动维护。

甚至就算是我,用了这么久 Open Claw ,也是最近才知道这些文件需要人工维护。这就导致 Open Claw 设计的很多上下文,其实一直都没有真正被使用起来。Hermes Agent 的上下文治理跟 Open Claw 和 Claude Code 都不太一样。它的核心设计理念是:

"自我进化"——Agent 自己写自己的记忆和技能。

整个体系住在 ~/.hermes/ 目录下。

身份层(静态)

项目上下文层(按优先级,只加载第一个匹配的)

先找到谁就用谁。

这意味着 Hermes 同时兼容 Claude Code 和 Cursor 的项目配置文件。

记忆层(三层,Agent 自己维护)

这时候,记忆已经开始进入数据库时代了。因为只有数据库,才能真正支撑长期上下文检索。

技能层( Hermes 最独特的部分)

关键区别在于:

技能不是人类写的。Agent 在完成非平凡任务之后,会通过 skill_manage 工具自己创建技能。同样,记忆也不再主要依赖人类维护。Agent 会在对话间隙,自己编辑 MEMORY.mdUSER.md。而且技能是按需加载的。不用的技能不会进入上下文。这其实已经开始接近真正的"上下文自动治理"了。

调度层

到了这一步,上下文治理不仅变复杂了,还开始自动化了。


总结

AI 是否真的能干活、干得好不好,已经不仅仅是模型之间的区别了。很多时候,更好的上下文治理,对智能体工作效率的提升,甚至比你换一个更强的模型还明显。

电子脑

随之而来的,还有一个很有意思的问题:上下文,其实就是智能体的"电子脑"。一个 Agent 用久了,那份上下文就会逐渐变成独一无二的它。只要上下文还在,就算换了一个"壳",你的小助手还是你的小助手。如果智能体坏了需要重装,或者你想迁移到另一个智能体平台,只要把上下文迁移走,你的助手理论上就还能继续存在。

于是,一个新的问题出现了: 如何安全地迁移上下文?

但现在的问题是: 各家之间的文件名、结构、格式都完全不同。这就导致上下文迁移非常麻烦。我相信,未来一定会出现更统一、更标准化的上下文协议。而"上下文治理",也会逐渐成为 AI Agent 最核心的能力之一。

314 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1214352

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX