Copilot 指令文件全解析:copilot-instructions.md vs AGENTS.md vs .instructions.md
作为常年和 VS Code 打交道的研发,最近在折腾 Copilot Agent 时,发现很多同学被 .github/copilot-instructions.md、AGENTS.md 和 .instructions.md 这三个文件绕晕了。
明明都是给 Copilot 写的'指令',为什么要分三个文件?它们的生效范围有啥区别?什么时候该用哪一个?
带着这些疑问,翻遍官方文档并在 AI Agent 项目中反复实测,终于把这三者的关系理得清清楚楚。本文结合实战配置,帮你彻底搞懂 Copilot 指令文件的使用逻辑。
一、先搞懂核心:三者的定位差异
在讲细节前,先用一个通俗的类比定调,这能帮你快速建立认知:
.github/copilot-instructions.md:项目的'全局家规',管整个仓库的所有 Copilot 基础交互;AGENTS.md:Copilot Agent 的'任务清单',只服务于 Agent 进阶自动化功能;.instructions.md:目录的'局部特例',管特定文件夹的 Copilot 基础交互,优先级最高。
简单来说:前两者是'全局 vs 专属功能'的区别,后两者是'全局 vs 局部'的区别,而 AGENTS.md 则是完全独立的'进阶功能配置'。
二、三者核心辨析(一张表搞定)
为了方便查阅,将三者的关键差异整理成表格:
| 特性 | .github/copilot-instructions.md | AGENTS.md | .instructions.md |
|---|---|---|---|
| 核心定位 | 项目级全局通用指令文件 | Copilot Agent 专属任务配置文件 | 目录 / 文件级细粒度指令文件 |
| 生效范围 | 整个代码仓库(所有文件、目录) | 仅 Copilot Agent 功能(手动触发时生效) | 仅当前文件所在目录及子目录 |
| 作用对象 | Copilot 基础能力(补全、注释、代码解释) | 仅 Copilot Agent 进阶功能(自动化任务) | Copilot 基础能力(同左,仅局部生效) |
| 触发方式 | 被动生效(Copilot 自动读取) | 主动触发(VS Code 中手动点击「Run Agent」) | 被动生效(Copilot 自动读取) |
| 存放路径 | 强制:仓库根目录 /.github/(大小写敏感) | 无强制(建议放 .github/ 或项目根目录) | 无强制(放在需要生效的目标目录下) |
| 内容风格 | 项目规则、技术栈、业务背景描述 | 具体任务步骤、执行目标、输出要求 | 局部特殊规范、目录专属业务逻辑 |
| 优先级 | 高于 Copilot 全局默认,低于 .instructions.md | 独立优先级(不与其他两者冲突) | 最高(覆盖全局规则) |
| 典型场景 |


