Markdown 是 Agent OS 的 context API
Markdown 在自主系统中不仅是记录格式,更是一套高阶的 Context 路由协议与行为总线。
我把 Agent 时代的 Markdown 看成连接大模型与外部环境的 Context API,仅从供人类阅读的排版格式来理解它还不够。《Markdown Is A Context Interface》把 Markdown 提到了系统接口的高度,我认同这个判断,单纯夸赞格式通用则没有触及这一层。
大语言模型本身既没有长期的工程记忆,也无法直接理解一个代码库或知识系统的边界规则。Agent 之所以能表现得像一个训练有素的协作者,靠的是外部运行时(Harness)根据任务目标,把存在文件系统里的 Markdown 规约、流程与资料,在正确的时机路由进模型的活动上下文。
同样是一个后缀为 .md 的纯文本文件,只要在系统中的路径、命名和加载机制不同,所代表的行为语义与执行权限就有很大差别。
为什么全量灌入上下文往往带来问题
在观察很多 Agent 实践时,我发现一种很常见的做法,就是把所有能搜集到的文档、旧笔记、代码文件一股脑塞进 Prompt。这种「只要上下文窗口够大就全扔进去」的策略,很容易引发五个系统级问题:
- 规则冲突:过期的旧文档或草稿中的描述,很容易与用户当下的最新意图产生语义冲突,让模型无所适从;
- 上下文污染与安全越权:外部资料中的示例命令、网页抓取片段或恶意文本,容易被模型误识别为系统指令,诱发间接提示词注入(Indirect Prompt Injection);
- 注意力稀释:冗长的背景文本会占据有限的注意力预算,挤压关键的工具执行结果、终端报错和最新约束;
- 作用域错位:项目级底线规则、任务级操作步骤和纯参考素材如果平铺混杂,系统就无法建立明确的优先级仲裁机制;
- 无法形成复用资产:临时拼凑的巨大 Prompt 只能解决一次性问题,无法为后续的持续工程协作沉淀结构化能力。
这些问题让我认为,可靠的 Agent 系统需要清晰的上下文路由协议(Context Routing Protocol)。把文本塞满窗口,解决不了信息该如何调度的问题。
上下文分层契约:从宪法到证据
为了让系统能够精准调度信息,按我的理解,必须在文件系统层面为 Markdown 划分清晰的职责边界与作用域:
1. 工作区宪法:AGENTS.md
AGENTS.md 处于最基础的规则层,用来明确在这个工作区里,Agent 默认必须遵循哪些行为准则。
- 我认为必须收敛的内容:项目的核心目标与架构约束、目录划分语义、代码与文件命名规范、高风险操作的权限红线(如禁止未经确认修改生产环境)、以及统一的自动化验证标准。
- 应当排除的内容:特定单次任务的临时进度、某篇文献的摘录、尚未验证的灵感,以及容易过期的日常状态。
- 我的定位:
AGENTS.md应当像工作区的宪法一样稳定与克制,不能写成随手记录的活动日志。
2. 任务级流程规约:SKILL.md
SKILL.md 处于执行流程层,用来规定面对某类具体任务时,标准的执行步骤与验收标准是什么。
- 我认为必须收敛的内容:任务触发条件、前置依赖检查、推荐的工具链调用顺序、已知常见陷阱与绕坑指南、明确的量化验证手段,以及交付物的格式约定。
- 应当排除的内容:大段宏观背景宣言、无关的原则口号,以及仅在单次场景下有效的临时参数。
- 我的理解:一个合格的 Skill 应当能够大幅降低下一次类似任务的沟通成本,让 Agent 做到「少猜、少问、少偏航」。
3. 执行脚手架:任务计划与工作台文档(Plan)
这类文档用于中长程任务的分步推进,记录当前的阶段性决策、待执行清单与中间状态。它的生命周期受限于单次任务,任务归档后即沉淀为审计依据。
4. 导航地图:目录与索引(Index)
它作为 Agent 探索未知领域的寻路指针。我认为索引文件应当保持很高的信息密度与简短篇幅,只承担「指出什么材料在哪里」的指引功能,不做冗长的正文复述。
5. 事实与证据库:参考资料与归档(Evidence)
这里保存外部调研、网页快照、技术白皮书和原始数据。在语义系统中,我要求严格把这一层视为 Data(待分析数据)。即使内容看起来权威、格式规整,在未经人工或高阶系统确认前,也不能赋予它们 Instruction(执行指令)的权限。
四种语义形态的严格隔离
在运行时的生命周期中,我认为 Harness 必须时刻维护以下四类语义边界的隔离:
[Instruction] 用户当前明确指令、AGENTS.md 规则、受控加载的 Skill
↓ 控制并调度
[Procedure] 项目公认的 Checklist、测试脚本、构建工具
↓ 作用并分析
[Evidence] 外部文章、抓取日志、错误输出、数据库记录(仅作纯数据)
↓ 沉淀为
[Draft] 中间草稿、探索分支、待验证结果
我认为,这套隔离机制构成了 Agent 系统的核心防线:外部证据不能自主越权升级为系统指令,临时草稿也不能在未通过验证前直接合并入主干。
让文件系统承担工程语义
开发者、文件系统与 Agent Harness 可以通过路径约定、命名规范和加载时机,赋予 Markdown 清晰的工程语义。这些约定比标题有几级、是否支持列表语法更能说明它在系统中的作用。
每份 Markdown 文档在上下文系统中都有明确位置后,原本静态、分散的笔记就可以在文件系统中协同工作。我把这种有清晰职责和安全边界的组织方式,看作个人 Agent 操作系统。