
1. 执行摘要
随着 LLM 从对话界面演进为具备自主行动能力的 Agent,软件开发范式正从指令式编程转向基于意图和语境的编排。Agent 的效能瓶颈已不再是推理能力,而是其获取并遵循项目特定语境的能力。
为了解决"语境孤岛",行业正向标准化协议收敛:
本报告剖析了如何构建具备自主发现、解析并利用这些文件的 Agent,涵盖从文件系统遍历、AST 解析到基于 MCP 协议的安全沙箱执行环境的完整路线图。
2. 语境危机与 Agent 架构的演进
2.1 从"提示词工程"到"提示词运营(PromptOps)"
早期依赖庞大的系统提示词(System Prompt)存在两大局限:
- 语境污染:全量语境注入(Context Stuffing)挤压上下文窗口,导致模型注意力下降。
- 维护困难:硬编码的规则难以随代码库迭代。
**"配置即代码(Configuration as Code)"**的理念应运而生,将行为准则定义为版本受控的文件。
2.2 上下文感知的标准化协议
- AGENTS.md (项目的神经中枢):解决 Agent "我是谁?我在哪里?遵循什么规则?"的问题。支持层级化继承,允许规则覆盖与合并。
- SKILL.md (模块化的能力单元):采用渐进式披露模式。只有在识别到意图时才加载相关指令,优化 Token 效率。
3. 行业实现深度剖析
3.1 OpenAI Codex 与 GitHub Copilot:语境分层
- 发现机制:从用户主目录向上扫描至当前工作目录(CWD)。
- 优先级逻辑:距离 CWD 越近的文件优先级越高,实现"局部优于全局"。
3.2 Anthropic (Claude Code):虚拟机与技能挂载
- VM 架构:在受控虚拟机中运行。
- 子智能体模式 :主 Agent 编排,根据
SKILL.md启动加载特定上下文的子 Agent 以隔离干扰。
3.3 Cursor:语义检索增强 (RAG)
- 精细化控制 :引入
.mdc格式,利用 Glob 模式(如*.ts)限定规则生效范围。 - 语义路由:对技能描述进行向量索引,动态匹配用户查询。
4. 自研 Agent 核心模块架构
系统架构划分为四个核心层级:
| 模块名称 | 核心职责 | 关键技术栈 |
|---|---|---|
| I. 发现引擎 | 遍历文件系统,识别配置文件,处理忽略规则 | Python pathlib, pathspec |
| II. 认知解析层 | 解析 Markdown AST,验证 YAML 元数据,处理继承逻辑 | markdown-it-py, PyYAML, Pydantic |
| III. 语境管理器 | 动态构建 Prompt,实现渐进式披露,管理 Token 预算 | LangChain, Vector DB |
| IV. 执行运行时 | 安全执行脚本,工具调用,沙箱隔离 | MCP Protocol, Docker/Firecracker |
5. 模块实现详解
5.1 发现引擎:智能遍历
实现基于 .gitignore 感知的遍历器。
- 自底向上 :寻找
AGENTS.md以构建规则链。 - 自顶向下 :全局索引
SKILL.md构建技能库。
5.2 认知解析:AST 与元数据
- 语义合并 :解析
AGENTS.md为 AST,基于标题(Header)进行内容覆盖或追加。 - SKILL.md 验证 :严格校验 YAML 中的
name、description和allowed-tools(安全白名单)。
5.3 语境管理:动态 Prompt 构建
采用三层结构构建系统提示词:
- 身份层:基本人设。
- 宪法层 :合并后的
AGENTS.md(始终在线)。 - 能力索引层:仅包含技能名称与描述,具体指令按需加载(Lazy Loading)。
5.4 执行运行时:基于 MCP 的沙箱
为了防御 RCE 风险,必须采用隔离环境:
- MCP 协议:将文件系统和工具调用标准化。
- 沙箱化 :使用 Docker 容器或 Firecracker MicroVMs 运行
SKILL.md中定义的脚本。
6. 战略价值
- 知识资产化:将团队隐性知识转化为可执行的代码。
- 跨平台互操作 :遵循
AGENTS.md等标准,避免供应商锁定。 - 无限扩展性:通过添加技能文件夹即可赋予 Agent 新能力,无需微调模型。
7. 总结与展望
构建此类 Agent 是 AI 辅助开发走向工业级的关键。未来,自我进化型 Agent 将成为主流:它们不仅读取规范,还能通过观察项目偏差,主动发起 PR 更新 AGENTS.md,实现 DevOps 闭环。
附录:核心技术规格对比表
| 特性 | AGENTS.md | SKILL.md | .cursorrules |
|---|---|---|---|
| 主要职责 | 全局治理、行为准则 | 任务操作、工具封装 | 编辑器上下文注入 |
| 作用域 | 递归继承/覆盖 | 模块化独立定义 | 基于 Glob 文件匹配 |
| 执行能力 | 被动(规则) | 主动(含 scripts/) | 被动(Prompt) |
| 加载策略 | 全量合并加载 | 按需延迟加载 | 基于相关性 RAG |