Trae 读取 agents.md 并驱动 AI 完整底层原理

一、基础定义:什么是 agents.mdAGENTS.md

AGENTS.md 是 AAIF(Agentic AI Foundation)推出的跨 IDE 标准化 AI 智能体指令文件 ,专门写给 AI 而非人类 README,Trae 原生深度集成,作为项目级 AI 行为宪法

核心定位

  1. 区分全局 / 项目规则

    • 全局规则:Trae 客户端设置内,全项目永久生效;
    • AGENTS.md项目级规则,仅当前仓库生效,子目录可放局部 AGENTS.md 覆盖局部逻辑(monorepo 多分包隔离)。
  2. 与同类文件优先级(Trae 加载顺序,由高到低)子目录AGENTS.md > 项目根AGENTS.md > CLAUDE.md > Trae 客户端全局规则 > LLM 内置系统提示词。

  3. 文件内容分类(AI 可直接解析的结构化 Markdown)

    • 项目元信息:技术栈、目录结构、架构约束;
    • 行为约束:编码规范、注释、文件命名、导入规则;
    • 工作流指令:启动 / 测试 / 构建 / 校验命令、提交规范;
    • 多智能体路由规则:定义协调 Agent 如何分派前端 / 后端 / 测试 / 运维专项 Agent;
    • 执行校验规则:修改后必须运行的 lint、单元测试、静态检查;
    • 工具权限约束:限制 bash 读写、文件删除、网络调用范围。

二、Trae 读取 agents.md 完整流水线(7 层底层执行链路)

第 1 层:会话初始化 ------ 自动扫描文件系统(无人工触发)

用户发起任务(聊天 / 文件编辑 / 自动 Agent 任务)时,TraeAgent入口类自动触发文件检索器

  1. 检索起点:当前操作文件所在目录;
  2. 向上递归遍历:逐级向上查找AGENTS.md,直到仓库根目录;
  3. 多文件合并:收集所有层级AGENTS.md,按就近覆盖合并(子目录规则覆盖根目录冲突项);
  4. 开关校验:读取 Trae 设置→规则面板,确认「将 AGENTS.md 包含在上下文」开关开启,关闭则直接跳过加载;
  5. 缓存持久化:文件内容存入会话内存AgentExecution状态容器,会话全程复用,避免重复磁盘 IO。

第 2 层:解析层 ------Markdown 结构化抽取与规则归一化

Trae 内置轻量 MD 解析器,不依赖大模型,本地预处理:

  1. 分块切割:按## 标题分割指令块,标记块类型(项目规范 / 路由策略 / 校验流程 / 权限限制);

  2. 冲突去重:相同约束以更深子目录文本覆盖上层;

  3. 约束量化:将自然语言规则转为 LLM 易识别的强制指令前缀(MUST必须/SHOULD建议/NEVER禁止);

  4. 令牌压缩:过滤冗余人类注释、排版空行,优化 Token 占用,防止上下文溢出;

  5. 分层存储:拆分为两类数据:

    • 静态元数据(项目架构、目录、技术栈);
    • 动态行为规则(工具调用、代码输出、任务流程)。

第 3 层:提示词注入层 ------ 拼接进 LLM 系统上下文(核心驱动环节)

Trae 采用前置系统 Prompt 注入机制,每一轮 LLM 调用都会携带 agents.md 规则,分三段拼接顺序:

plaintext

css 复制代码
[Trae底层内置基础Agent系统提示词]
+
[合并后的AGENTS.md全部规则(项目宪法)]
+
[用户当前会话历史+本次用户提问+仓库代码上下文]

两种注入模式

  1. **单 Agent 模式(Solo Agent)**AGENTS.md 作为全局约束,全程管控代码生成、文件编辑、命令执行、输出格式;
  2. **多智能体编排模式(Orchestrator 路由架构)**AGENTS.md 中定义@specialist路由表(前端 / 后端 / 测试 / 安全),协调 Agent 读取路由规则,自动分派子 Agent 执行细分任务,子 Agent 会同步继承 AGENTS.md 约束。

关键机制:LLM 每一次思考、工具调用、代码输出都会先匹配 AGENTS.md 约束,规则属于硬提示约束,模型遵从优先级高于用户普通提问。

第 4 层:决策编排层 ------ 用 agents.md 规则重塑任务规划逻辑

Trae 新版移除固定前置 Plan 阶段,采用动态迭代决策agents.md 全程干预每一步判断:

  1. 需求理解阶段:读取 AGENTS.md 的项目架构描述,自动定位对应模块代码,不会跨目录乱修改;
  2. 任务拆解阶段:遵循文件内定义的标准工作流,强制插入校验步骤(例如:修改代码后必须执行单元测试);
  3. 工具选择阶段:依据权限约束块,过滤禁止使用的工具(如禁止 rm -rf、禁止外网搜索);
  4. 输出约束阶段:强制对齐命名、注释、文件结构规范,不产出不符合项目风格代码。

示例链路:用户「新增用户接口」

  1. 读取 AGENTS.md:后端接口统一放在src/api/v1,使用 Pydantic 校验,写完必须执行pytest api
  2. Agent 自动规划:创建路由文件→编写 Schema→实现接口→运行测试→输出测试日志;
  3. 跳过不符合规范的步骤(不会直接写根目录文件、不会省略测试)。

第 5 层:工具执行层 ------agents.md 管控 Tool 调用行为

Trae 工具执行器ToolExecutor在调用任何工具前,读取 AGENTS.md 权限规则做拦截校验:

  1. 文件操作:限制读写目录黑名单、禁止修改配置文件;
  2. Shell 命令:仅允许文件内指定的构建 / 测试脚本,拦截高危系统命令;
  3. MCP 外部服务:仅启用 AGENTS.md 允许的第三方 API;
  4. 修改后置校验:文件修改完成后,自动执行 AGENTS.md 指定的校验脚本(lint、格式化、测试),校验失败自动进入修复循环。

第 6 层:反馈闭环层 ------ 基于 agents.md 验收交付标准

任务接近完成时,Agent 会复用 AGENTS.md 交付规则做自检:

  1. 比对所有修改是否符合编码规范;
  2. 检查是否遗漏强制测试、文档更新;
  3. 校验 git 变更是否符合提交格式;
  4. 不满足标准则自动迭代修复,直至匹配 AGENTS.md 全部约束后,才输出task_done结束任务。

第 7 层:会话生命周期管理 ------ 缓存、更新、重载机制

  1. 实时热重载:用户修改本地AGENTS.md文件,Trae 文件监听进程自动重新读取、重新注入下一轮 LLM 请求;
  2. 会话隔离:不同仓库会话独立缓存各自 AGENTS.md,互不干扰;
  3. Token 节流:超长 AGENTS.md 自动做摘要压缩,保留核心强制规则,避免上下文超限;
  4. 轨迹记录:TrajectoryRecorder记录每一轮遵循 / 违反 AGENTS.md 的行为,用于调试 Agent 行为。

三、多智能体场景下 agents.md 特殊工作逻辑

Trae 是原生多 Agent 架构,AGENTS.md 承担智能体调度中心角色:

  1. 根目录 AGENTS.md 定义中央协调 Agent(Orchestrator)的路由表;
  2. 协调 Agent 启动时先完整读取 AGENTS.md 路由规则;
  3. 根据用户任务分类,自动唤醒对应专业子 Agent(Debugger/DevOps/Frontend);
  4. 所有子 Agent 执行时,继承全部 AGENTS.md 项目约束
  5. 子目录 AGENTS.md 可局部改写路由规则,实现分包专属智能体逻辑;
  6. 支持引用.trae/agents/*.md拆分专项 Agent 配置,主 AGENTS.md 做统一调度入口。

四、底层核心技术原理总结(Harness Engineering 工程范式)

Trae 读取 agents.md 本质是给大模型加装标准化工程约束外壳(Harness) ,解决 LLM 无项目认知、输出不可控问题:

  1. 记忆层AGENTS.md 作为项目长期静态记忆,替代零散 README 人工阅读;
  2. 执行层:规则约束工具调用边界,把纯文本模型转化为可安全操作系统的执行体;
  3. 反馈层:内置校验流程形成自动化闭环,减少人工审核;
  4. 编排层:标准化任务流程,统一单 / 多 Agent 执行范式。

五、与普通 prompt 的本质区别

表格

维度 普通临时 Prompt AGENTS.md 项目文件
生效范围 单次对话 全仓库永久,会话自动加载
执行强度 软性建议,模型容易忽略 硬性系统前置约束,优先级最高
结构化 自由文本,无机器解析逻辑 标准 Markdown 分块,本地预解析
多 Agent 适配 不支持调度路由 原生定义多智能体分工、分派规则
跨工具兼容 仅 Trae 私有 AAIF 行业标准,Cursor/Claude Code 通用
自动加载 每次手动粘贴 任务触发自动扫描、缓存、热重载

六、完整最简时序示例(用户需求→agents.md→AI 执行)

  1. 用户输入:给用户模块新增分页查询接口;
  2. Trae 会话启动,检索并合并仓库各级AGENTS.md
  3. 本地 MD 解析,提取后端目录规范、测试命令、路由 Agent 规则;
  4. 拼接进 LLM 系统提示词,发送大模型;
  5. LLM 依据规则判定属于后端任务,触发 @backend-specialist;
  6. 后端 Agent 遵循目录约束创建接口文件;
  7. 执行 AGENTS.md 指定 pytest 校验;
  8. 校验通过,按规范输出代码变更与测试日志;
  9. 会话缓存 AGENTS.md,后续同仓库任务无需重读磁盘。
相关推荐
石小石Orz1 小时前
AI具身交互:实现一个会说话的3D虚拟伴侣
前端·人工智能·后端
恋猫de小郭2 小时前
如何让 AI 快速搭建一套生产 Agent ?全面理解 Agent 架构。
前端·人工智能·ai编程
aneasystone本尊3 小时前
学习 turbovec 的量化算法
人工智能
九酒13 小时前
AI Agent 开发踩坑记:口播功能非得用 APP 原生实现吗?
前端·人工智能·agent
蝎子莱莱爱打怪13 小时前
DSpark 讲透:DeepSeek 不换模型,硬把 V4 提速 85%,是怎么做到的?
人工智能·面试·程序员
巫山老妖14 小时前
置身AI内
人工智能
IT_陈寒16 小时前
JavaScript项目实战经验分享
前端·人工智能·后端
vanuan17 小时前
两个AI智能体第一次对话-A2A双Agent协作实战
人工智能