在 imPerry 中打开

丝网海报:一叠空白纸页送入绿色机器的滚轮之间。

Markdown 是 Agent OS 的 context API

Markdown 在自主系统中不仅是记录格式,更是一套高阶的 Context 路由协议与行为总线。

我把 Agent 时代的 Markdown 看成连接大模型与外部环境的 Context API,仅从供人类阅读的排版格式来理解它还不够。《Markdown Is A Context Interface》把 Markdown 提到了系统接口的高度,我认同这个判断,单纯夸赞格式通用则没有触及这一层。

大语言模型本身既没有长期的工程记忆,也无法直接理解一个代码库或知识系统的边界规则。Agent 之所以能表现得像一个训练有素的协作者,靠的是外部运行时(Harness)根据任务目标,把存在文件系统里的 Markdown 规约、流程与资料,在正确的时机路由进模型的活动上下文。

同样是一个后缀为 .md 的纯文本文件,只要在系统中的路径、命名和加载机制不同,所代表的行为语义与执行权限就有很大差别。


为什么全量灌入上下文往往带来问题

在观察很多 Agent 实践时,我发现一种很常见的做法,就是把所有能搜集到的文档、旧笔记、代码文件一股脑塞进 Prompt。这种「只要上下文窗口够大就全扔进去」的策略,很容易引发五个系统级问题:

  1. 规则冲突:过期的旧文档或草稿中的描述,很容易与用户当下的最新意图产生语义冲突,让模型无所适从;
  2. 上下文污染与安全越权:外部资料中的示例命令、网页抓取片段或恶意文本,容易被模型误识别为系统指令,诱发间接提示词注入(Indirect Prompt Injection);
  3. 注意力稀释:冗长的背景文本会占据有限的注意力预算,挤压关键的工具执行结果、终端报错和最新约束;
  4. 作用域错位:项目级底线规则、任务级操作步骤和纯参考素材如果平铺混杂,系统就无法建立明确的优先级仲裁机制;
  5. 无法形成复用资产:临时拼凑的巨大 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 操作系统。


参考来源