AGENTS.md、Skills、MCP 分别做什么?Codex 扩展别放错层 AGENTS.md、Skills、MCP 分别做什么Codex 扩展别放错层摘要AGENTS.md、Skills 和 MCP 经常一起出现但它们解决的不是同一问题。AGENTS.md 负责项目内长期有效的约束Skill 封装需要重复执行的工作流MCP 则连接外部工具和实时上下文。把三者混在一起会让指令越来越长、流程难以复用甚至为了读取一条规则而扩大不必要的权限。给 Codex 增加项目规则、工作流程和外部工具时最常见的错误不是配置写错而是放错层把一整套发布教程塞进 AGENTS.md把几条静态规范做成 MCP或者把外部凭证写进 Skill 文档。判断方法可以很简单这条信息要持续多久是否需要重复执行一组步骤是否必须访问项目外系统AGENTS.md管理进入项目就要遵守的约束Codex 会在开始工作前读取AGENTS.md。官方当前支持从全局到项目目录逐层发现离当前工作目录更近的指导可以覆盖上层规则。它适合存放长期、稳定、与仓库直接相关的信息例如## Repository expectations - 修改 Python 文件后运行 python -m unittest。 - 不要改动 fixtures/ 中的基线文件。 - 新增生产依赖前先请求确认。这些规则不只服务某一次任务。无论修 Bug、补测试还是做审查都应该遵守所以放在项目指导里最合适。不要把十几页操作教程全部写进去。AGENTS.md 每次都会进入任务上下文内容过长会稀释真正重要的边界。Skill管理需要反复执行的完整流程Skill 是一组可复用的任务能力可以包含SKILL.md、参考资料和可选脚本。Codex 可以根据描述自动匹配也可以由用户显式调用。例如“发布前检查”不是一句项目规则而是一组有顺序的动作读取变更、运行测试、生成发布说明、检查版本号、输出交付清单。这类流程不需要每次对话都完整加载只在发布任务出现时调用因此适合做成 Skill。好的 Skill 应有明确触发条件、输入、步骤和输出。它不是用来保存某个项目所有背景资料的杂物箱。MCP连接项目外的工具和上下文MCP 用来把 Codex 连接到外部文档、浏览器、设计工具或其他开发系统。官方当前支持本地 STDIO 服务器和可流式 HTTP 服务器并可配置认证与工具审批。如果任务需要读取实时设计稿、查询外部文档、操作浏览器单靠仓库里的文字规则无法完成这时才需要 MCP。MCP 带来的不只是更多信息也可能带来外部动作因此工具范围和审批策略同样重要。同一个任务怎样组合三层假设团队要发布一个 Web 项目AGENTS.md规定所有改动必须通过测试禁止直接改生产配置。发布 Skill 按固定顺序执行测试、构建、变更摘要和交付检查。浏览器或部署平台 MCP 只在需要验证页面或读取外部状态时提供工具。三层可以协作但职责不能互换。项目规则回答“始终要遵守什么”Skill 回答“这类任务每次怎么做”MCP 回答“需要连接哪个外部系统”。先选最小承载面每次都有效的仓库约束写进 AGENTS.md。只在某类任务触发的多步方法做成 Skill。必须访问项目外数据或执行外部动作才接 MCP。扩展能力不是配置越多越好。放在正确层级Codex 才能在需要时拿到足够信息又不会让每个任务背着全部上下文和权限前进。下一篇会从最小版本开始写一份能真正约束改动和测试的AGENTS.md。参考资料OpenAI Codex 官方手册核对日期2026-07-22。https://developers.openai.com/codex/codex-manual.md