上下文指针

Context pointer

一份文档中对另一份文档的引用,让 Agent 只在任务需要时才把它拉进上下文窗口。这是渐进式披露的基本单元。

使用指针(而不是内联内容)的原因是成本。指针只占上下文窗口中的一行。它背后的文档可能有数千 Token,但在 Agent 真正跟随指针之前,这些 Token 不产生任何费用。把一本 2,000 Token 的手册内联进 Agent.md,每个 Session 都要为之付费;换成“部署流程:见 internal/deploy.md”,只有真正要部署的 Session 才会加载它。当任务匹配时,Agent 会通过工具调用跟随指针。

指针要起作用需要两部分:一个稳定的路径,以及足够的描述,让 Agent 知道什么时候值得跟随它。裸路径是 Agent 没有理由跟随的指针;“见 internal/deploy.md”如果不提示里面有什么,需要它的 Session 也会跳过。写这行时要匹配任务出现的方式:“发布、部署或回滚——先读 internal/deploy.md”。

稍加留意就会发现指针无处不在:Agent.md 里的每一行、Skill 描述(Harness 加载描述;Skill 正文藏在它后面)、目录列表里的文件名、文档之间的链接。

指针还可以把二手来源回指到它所源自的一手来源——比如上下文压缩摘要里提到原始对话记录,或者某份文档里提到它所描述的源文件。这让二手来源的有损性变得可恢复:当摘要不敷使用时,Agent 可以跟随指针去读原始记录,而不是只基于摘要保留下来的内容工作。

避免:用“reference”——太干瘪,没法表达跟随它会拉入更多上下文;用“Portal”——太花哨。

用法:

“Agent.md 越来越大了。”

“其中大部分应该是上下文指针,而不是正文。把始终生效的规则保留为内联;把部署手册和风格指南做成 Skill,并留下一个上下文指针。”