教程介绍如何通过仓库自定义指令、技能和自定义Agent,让Copilot理解项目要求。还展示了连接Playwright等MCP服务器的方法。
使用 AI 时,上下文很重要。每个代码库都有自己的规则:组件如何组织、应该运行哪些脚本,以及不同框架和文件类型分别遵循哪些约定。
Copilot 可以帮你在整个项目中修改代码,但它了解这些规则时,才能发挥得更好。这些知识大多可以放在仓库里,让 Copilot 自动获取,不必每次开始新任务时,都重新向它解释同一套标准、脚本和工作流程。
在这篇 GitHub Copilot app 入门系列文章中,我们将介绍四种方法,让 Copilot 按照你项目的要求工作:
下面来看看它们各自如何工作,以及如何配合使用。
假设你让 Copilot 为应用添加自定义页面尺寸。完成修改只是工作的一部分,新代码还应该遵循团队已有的模式。
仓库级 custom instructions 可以为 Copilot 提供这些基础上下文。添加一个 .github/copilot-instructions.md 文件,写入适用于整个仓库的指导,例如你偏好的架构、命名约定,以及对测试和验证的要求。
你也可以在 .github/instructions 中创建针对特定路径的指令文件。这些文件通过 applyTo 字段告诉 Copilot,哪些情况下应该使用这些指导。
当 Copilot 处理匹配的文件时,它可以同时使用仓库级指令和更具体的指导。这样,你就能把通用规则集中放在一处,同时让不同文件类型遵循各自适合的规范。
Custom instructions 适合定义影响多种任务的标准。但有些指导只有在 Copilot 执行特定流程时才有用,例如运行质量检查、准备发布,或排查失败的工作流。
这就是 Agent skills 的用武之地。一个 skill 是一个文件夹,其中包含指令,也可以包含脚本和其他资源,供 Copilot 在需要时加载。项目级 skills 可以放在 .github/skills 中,每个 skill 都有自己的子文件夹。
例如,.github/skills/quality-checks 文件夹可以包含一个 SKILL.md 文件,用来说明:
SKILL.md 中的描述可以帮助 Copilot 判断这个 skill 何时适用。更新界面后,Copilot 可以加载 quality-checks skill,按照项目已有的流程执行测试和 linting,而不必猜测该运行哪些命令。
有些任务的范围超出了单个流程。例如,无障碍审查可能需要 Copilot 检查多个文件中的组件、模板、样式和交互。
Custom agents 让你可以为这类工作创建专门的 Copilot。仓库级 Agent 配置文件放在 .github/agents 中,可以定义 Agent 的用途、指令、工具,以及相关的项目上下文。
如果某类经常出现的工作适合交给一个专门的角色,或需要从特定角度来处理,就可以使用 custom agent。尤其是当任务可能涉及多个文件,并需要使用多种工具或上下文来源时。
Instructions、skills 和 agents 帮助 Copilot 理解如何在项目内部开展工作。MCP servers 则扩展了它在仓库之外可以访问的资源和执行的操作。
MCP servers 将 Copilot 连接到外部工具、数据源和服务。文档服务器可以让它获取框架相关的指导,而 Playwright 这样的服务器则可以让它在浏览器中打开你的应用并与之交互。
你可以在 Copilot app 中浏览可用的 MCP servers,也可以添加自定义服务器。配置好 Playwright 后,你可以这样要求 Copilot:使用 Playwright MCP server 手动测试功能。
随后,Copilot 就可以用 Playwright 在浏览器中打开应用,像你一样与应用交互。这样,它不仅能验证代码是否通过自动化检查,还能确认更新后的界面是否按预期运行。
这些定制方式解决的问题各不相同,但组合使用时会更有价值:
要为 Copilot 提供有用的项目上下文,可以先问自己四个问题:
不知道从哪里开始?社区已经通过 Awesome Copilot 分享了现成的 instructions、skills、agents 等资源。找一个能解决你日常重复工作流程的资源,检查它包含的内容,再根据仓库使用的工具和标准进行调整。
从小处着手:选一项你一直在反复解释的约定,把它添加到 .github/copilot-instructions.md 中,看看 Copilot 在你的下一个任务中如何应用它。
试用 GitHub Copilot app >
GitHub Copilot app 入门系列
GitHub 高级开发者布道师
开发者并没有变得更粗心,只是软件发展的速度已经超出了他们的应对能力。帮助开发者创造更多软件的工具,也应该承担更多保护软件的工作。
我们正在推出 ReviewBench,这是一个面向代码审查 Agent 的 benchmark。它以具有代表性的 GitHub pull requests、多来源的标准答案、经过校准的评估,以及贴合生产环境的指标为基础。
学习如何指挥 AI agents、批判性地审查它们的输出,并始终让技术判断成为工作流程的核心。