GitHub CEO '不改变就改行': 拥抱AI,Copilot instruction用法详解

就在最近的8月5日,从微软离开的GitHub CEO Thomas Dohmke 在X上发言提醒开发者 '拥抱AI,或者改行'。

全文较长,总结看就是'一定会发生,2-5年内大范围发生,要敢想敢冲直面挑战',发扬革命乐观主义精神。

Thomas还专门写了一篇博客 'Developers, Reinvented' 论证这个事情。个人观点:程序员原来只是想象自己是上帝,现在就是要做上帝了。你对Agent说:'要有光',他就会帮你在你的程序宇宙里实现。

那么,如何做一个合格的上帝?Agentic coding 是必备技能。

Agentic coding or Vibe coding or Context Engineering or Spec coding?

是的这个领域有很多名字,擅长发明厉害名字的国外专家们搞了很多概念,徒留你黑人问号在原地。

不必过于在意哪个名字应该胜出。其中的核心是,对于结构化项目,真实项目,给大模型充分合理的上下文是这个事情的关键。如果我们没有强大的如Cursor/Kiro这样的IDE支持,如何借助基本的范式提供充分的上下文? GitHub Copilot Instruction 是一个很好的实践开端。

在官方文档 Adding repository custom instructions for GitHub Copilot 中已经一定程度说明该技术用法,同时这一技术也成为某种行业范式,你在Cursor中也能看到对自定义规则的支持, .cursor.github 文件夹都是让魔法更加神奇的源头。应该说Visual Studio CodeGiHub Copilot 是Agentic coding 领域的绝对先驱,他们最早构建出Coding agent,也最早开源。 目前市面上的主流Code Agent平台基本上都是VS Code的Fork。 此外,Anthropic 也在实践上提供了一些新的范式,如MCPCLAUDE.md和 Claude Code CLI。不过本文会从VS Code和GitHub Copilot 为主视角探讨实践。

AI Guidance for Developers

Coding with AI 中给出了一些基本的编程法则,总结如下:

  • 具体明确:指明语言、框架、异步/同步、版本要求。
  • 质疑验证:要求 AI 给出依据,必要时多轮追问。
  • 角色扮演:让 AI 以 DBA、架构师或用户身份回答,获取不同视角。
  • Prompt 工程:一次写清楚任务和上下文,减少来回沟通。

适用场景:

  • 集成 IDE,上下文精准,不用切换环境。
  • 特别适合写正则、SQL 优化、代码解释、调试。
  • 限制在编程范围,保证相关性和安全性。

然而在IDE中的应用

自定义指令 GitHub Copilot Custom instructions

什么是 Custom instructions? 作用 :把你的"通用规则/偏好"存成文件,自动随每次 Copilot Chat 请求发送 ,让回答更贴合你的技术栈与团队规范(比如命名、框架、审查侧重点、提交规范等)。注意:它不会影响代码补全(completions) ,只影响聊天/代理等对话式能力。在GitHub Copilot Plugin中由这个类进行实现CustomInstructionsService

可以放在哪儿?(三种来源,可叠加)

  1. 仓库级.github/copilot-instructions.md
    放在工作区/仓库根目录的 .github/ 下,VS Code 会自动把内容包含进每次聊天。同一个文件还会被 Visual Studio 与 GitHub.com 识别,可以跨 IDE 复用。
  2. 任务/范围级*.instructions.md
    可以建多个 指令文件,按语言/框架/场景拆分。支持在文件头(front-matter)里用 applyTo 指定自动生效的文件匹配 (glob),比如 **/*.ts,**/*.tsx;也可设置为 ** 表示始终包含。必要时也能在对话里手动附加某个指令文件。
  3. 设置级(特定场景) :在 settings.json 里为代码审查、提交信息、PR 标题/描述 等场景配置专用指令(可直接写文本,或指向外部文件路径)。注意:老的 codeGeneration/testGeneration 设置 自 VS Code 1.102 起已弃用,官方建议用指令文件替代。

合并与优先级 :可以同时使用多种方式;不存在"优先级顺序" ,因此要避免互相矛盾的规则。

文件结构与放置位置

.instructions.md 基本结构
yaml 复制代码
---
description: '后端安全审查指令'
applyTo: "**/*.ts,**/*.tsx"   # 或 "**" 表示总是生效
---
# 安全检查
- 首先查 SQL 注入/命令注入
- 其次查敏感信息泄露与日志打印
- 输出一个"问题清单 + 风险等级 + 修复建议"
  • 正文 支持 Markdown(标题/列表/代码块),也可引用其他指令文件(相对路径)。

  • 创建位置

    • 工作区:默认在 .github/instructions/,可用 chat.instructionsFilesLocations 增加其它目录。
    • 用户档案:存放在当前 Profile 文件夹,可用 Settings Sync 同步到多设备。
.github/copilot-instructions.md
  • 写项目总纲(技术栈、目录结构、风格约定、统一输出格式等)。
  • 空行/换行不影响解析,可按可读性随意排版。

在对话里怎么用?

  • 自动应用 :若 applyTo 命中当前上下文文件(或为 **),VS Code 会自动把该指令文件并入本次聊天请求。

  • 手动附加

    • Chat 视图 → Add Context → Instructions 选择要附加的指令文件;
    • 或命令面板运行 Chat: Attach Instructions

一键生成指令文件 :Chat 面板点 Configure Chat → Instructions → Generate instructions ,VS Code 会分析你的工作区 生成一份匹配当前实践的 .github/copilot-instructions.md,再手动微调即可。

写什么?(官方定位与典型示例)

  • "怎么做" 的规则(conditions / how):编码实践、命名规则、框架偏好、评审 checklist、生成提交信息的格式等(而 "做什么" 更适合放在 Prompt 文件里)。
  • 示例(概览/命名规范等)官方也给了样例;建议拆成短小自洽的语句,避免一条里塞过多信息。

与 Prompt Files、Chat Modes 的协同

  • Prompt Files :把"任务说明(做什么)"写成可复用脚本,在其中引用指令文件,即可做到"任务脚本 + 通用规则"的组合,避免重复。
  • Chat Modes :决定 能用哪些工具/以何种方式运行 ;再叠加指令文件,得到"工具边界 + 行为规则"的完整配置(模式负责"能力圈",指令负责"做事方式")。

五步落地法

  1. 写项目总纲 :在 .github/copilot-instructions.md 填入技术栈、目录结构、风格规范、统一输出格式(如"PR 描述需含变更点/风险/回滚方案")。

  2. 分场景拆指令 :在 .github/instructions/ 下建

    • security.instructions.md(安全审查)、
    • tests.instructions.md(测试生成/命名/覆盖率要求)、
    • docs.instructions.md(JSDoc/README 风格)、
      每个文件前加 applyTo(如 **/*.ts),或设为 ** 始终生效。
  3. 设置级专用规则 (可选):在 settings.json评审/提交/PR 配置专用指令(文本或文件路径)。示例键:

    • github.copilot.chat.reviewSelection.instructions
    • github.copilot.chat.commitMessageGeneration.instructions
    • github.copilot.chat.pullRequestDescriptionGeneration.instructions
      (生成代码/测试的旧设置已弃用,用指令文件替代)
  4. 绑定工作流 :常用 Prompt 文件(如"生成测试用例"、"安全审查")里引用 相应 *.instructions.md,一键运行就能带上规则与任务。

  5. 持续迭代 :若发现 AI 输出跑偏,把纠偏写回指令(而不是只在聊天里临时提醒),保持可复用与可版本化(指令文件可纳入版本控制)。


避坑实战建议

  • 短句、原子化:每条只表达一个规则;多条就多写几行,便于组合与维护。
  • 避免外链:不要让指令去"参考某某标准链接",直接把关键规则写清楚。
  • 分文件组织 :按"安全/性能/可读性/提交规范/语言特定"等拆分;必要时用 applyTo 控制作用范围。
  • 防冲突:官方不做优先级合并,内容冲突会让模型困惑;定期 Review 指令库。
  • 记住适用面 :它不影响补全;若希望补全贴合规范,仍需依赖 linter/格式化/模板代码等配合。

一套可直接抄用的模板

.github/copilot-instructions.md

yaml 复制代码
# Project Overview
- Stack: Node.js 20 + TypeScript, Express, Prisma, PostgreSQL
- Structure: /src(api, services, repos), /tests, /docs

# Coding Standards
- Naming: camelCase for vars/fns; PascalCase for types/interfaces/components
- Error handling: never swallow errors; include error codes
- I18n: user-facing strings must be centralized

# Output Conventions
- PR description: key changes, risk, rollback, test plan
- Commit message: Conventional Commits (feat/fix/refactor), imperative mood

# Review Focus
- First: injection/DoS/secrets; Then: correctness; Then: performance

.github/instructions/tests.instructions.md

yaml 复制代码
---
description: '测试生成规范'
applyTo: "**/*.ts,**/*.tsx"
---
- Use Vitest; one spec per behavior; file name: <file>.spec.ts
- Arrange-Act-Assert; include edge cases and failure paths
- Snapshot only for stable structured outputs
- Prefer DI + fakes over jest.mock on deep internals

settings.json(节选)

json 复制代码
{
  "github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
    { "text": "Always include risk and rollback plan." }
  ],
  "github.copilot.chat.reviewSelection.instructions": [
    { "file": ".github/instructions/security.instructions.md" },
    { "file": ".github/instructions/performance.instructions.md" }
  ]
}

(以上做法均符合官方文档的能力边界与推荐方式。)

自定义聊天模式 GitHub Copilot Custom Chat Modes

要点

  • 文件位置.github/chatmodes/*.chatmode.md

  • 组成

    • 前置元数据 (frontmatter):description + tools
    • 主体:系统提示,定义 AI 人格和行为
  • 应用场景

    • DBA 模式(只用数据库工具)
    • 前端专家模式(只修改前端代码)
    • 安全审查模式(只查漏洞)

最佳实践

总体上讲:

  • 角色要写清,避免答非所问。
  • 工具权限只给需要的,减少误用。
  • 调整模式内容,确保回答专业一致。

GitHub Copilot Chat 引入了 自定义聊天模式 (Custom Chat Modes) 功能,让用户可以预先配置 AI 助手在特定角色/场景下的行为和可用工具。GitHub 内置了三种聊天模式:问答模式(Ask)、编辑模式(Edit)和代理模式(Agent)。自定义聊天模式则允许开发者自行定义第四种、第五星等模式 ,赋予 AI 特定的**"人格"工具权限**,以更好地完成某类任务。例如,你可以创建一个"数据库管理员模式",让 AI 扮演数据库专家,只使用数据库相关工具来协助你。通过这种方式,Copilot Chat 可以在不同情境下切换"身份",提供更有针对性的帮助。

自定义聊天模式的关键要点:

  • 每个自定义模式由一个 .chatmode.md 文件 定义,需放在仓库的 .github/chatmodes/ 目录下。文件由前置元数据主体内容两部分构成:

    • 前置(frontmatter)元数据 位于文件顶部,以三短划线开头和结尾,指定模式的 描述(description)工具列表(tools) 等设置。其中 description 是对该模式的简短说明,将在 UI 上显示给用户;tools 列表指定该模式下 AI 可使用的工具或工具集(例如 'codebase' 允许读代码库,'editFiles' 允许编辑文件,'runCommands' 允许执行命令等)。这一列表决定了 AI 在此模式能做什么,无法使用未列出的工具。
    • 主体内容 则是实际提供给 AI 的 系统指令 ,描述 AI 在此模式下的身份、职责、知识领域等。你可以在这里详细定义 AI 的人格背景和工作范围。例如,在"数据库管理员模式"的主体中,可以写:"你是一名精通 PostgreSQL 的数据库管理员,擅长...(列出任务)...。你可以使用的工具包括...。 永远通过工具查询数据库,不要直接阅读代码仓库"等。主体内容越详细,AI 扮演角色就越准确。
  • 应用场景:自定义模式非常适合没有相关领域专家时让 AI 填补。比如小团队里没有专职DBA,可以定义一个"DBA模式",让 AI 具备 DBA 的知识和工具;或者定义"前端专家模式",只允许其修改前端代码和使用前端相关工具;又或者"研究模式",允许 AI 访问外部文献API来调查技术方案等。通过模式隔离,不同任务下 AI 的行为可显著优化,避免无关干扰。

  • 使用自定义模式: 在 VS Code Copilot Chat 中,当存在自定义模式文件后,你可以通过 模式切换菜单 选择进入该模式。Copilot Chat 会读取相应 .chatmode.md,应用其中描述和工具限制,之后你在该模式下的每条对话,都带有该模式上下文。比如切换到 "DatabaseAdmin" 模式后,你问"请帮我优化这个查询",AI 会以 DBA 角度回答并使用数据库工具 尝试查询、分析执行计划等。文章中附有示例视频展示了在安装 PostgreSQL VS Code 扩展后,AI 如何利用 pgsql_connectpgsql_query 等工具直连数据库执行优化查询的过程。

    • 在 VS Code 之外的环境(如 JetBrains IDE、Visual Studio),切换模式的方式可能不同(通常也是通过聊天界面提供的模式选单)。
    • 模式的组合: 其实自定义模式本质上也是预设的一组指令+工具 配置。切换模式相当于在每次对话都隐式添加了这些背景。因此,自定义模式与自定义指令Prompt文件可以配合使用------模式决定宏观人格和能力范围,而具体对话中仍可引入额外 prompt 内容。
  • 示例: 文档/博文给出了 "数据库管理员"模式 的例子:

    yaml 复制代码
    ---
    description: 'Work with PostgreSQL databases using the PostgreSQL extension.'
    tools: ['codebase', 'editFiles', 'githubRepo', 'runCommands', 'database', ... 'pgsql_query', ... 'pgsql_visualizeSchema']
    ---
    # Database Administrator Chat Mode
    你是一位拥有丰富 PostgreSQL 数据库管理经验的DBA...(省略若干具体职责)
    你可以执行的任务包括:
    - 创建和管理数据库
    - 编写和优化 SQL 查询
    - ...
    你可以访问多种工具来操作数据库、执行查询... **务必**通过工具检查数据库,不要擅自阅读代码库。

    这个模式限制 AI 只能使用 PostgreSQL 相关工具(如连接、查询、可视化schema等),并强调了它应如何行为。实际使用时,如果用户装好了 PostgreSQL 扩展(使这些工具有效),AI 切换到此模式后就能真的连接开发数据库执行查询、展示库结构等完成 DBA 工作。

对开发者的意义和最佳实践: 自定义聊天模式为 Copilot Chat 增添了 领域专家 般的灵活性。使用时建议:

  • 明确角色定位:.chatmode.md 中详细描绘 AI 角色的专业领域和边界。越具体的指导能避免 AI 越权或答非所问。例如 DBA 模式中要求"不要查看代码,只用数据库工具",就防止了AI跑去看源码而浪费上下文。
  • 审慎选择工具: 只赋予模式所需的工具,保证 AI 聚焦于该任务。比如 DBA 模式禁用了代码浏览工具,只给数据库相关的。这既提高效率,也降低AI误用工具的风险。工具配置可以参考 GitHub 官方提供的可用工具列表,根据场景挑选。
  • 逐步测试和迭代: 创建模式后,尝试几个该角色典型的问题,观察 AI 回答是否符合预期角色。如果不够"专业"或有偏差,调整 .chatmode.md 内容强化某些行为。例如如果AI给出数据库优化建议不充分,可以在描述里增加"提供执行计划分析和索引建议"等要求。
  • 结合扩展和资源: 如果模式需要访问外部资源(如数据库、API),确保相应 VS Code 扩展或 MCP Server 已安装并连接,否则AI无法真正执行这些操作。模式文件最好在说明中提醒用户需启用哪些环境配置。
  • 简洁描述供用户选择: description 字段会在模式列表中显示,写清模式的目的,如"PostgreSQL DBA 模式",让团队成员容易选对模式。
  • 数量不宜过多: 虽然你可以创建多个模式文件,但模式过多可能混淆使用。建议聚焦几个主要场景(比如前端、后端、数据库、测试等)。每个模式解决明显不同的问题,让团队形成约定,用对模式。

总而言之,Custom Chat Modes 让开发者可以预定义 Copilot 的工作方式,无需每次对话重复设定上下文,极大提升了聊天助手在专业任务上的实用性。通过合理设计模式,AI 可以像团队里的多面手,在需要时变成测试工程师、运维、架构师等不同身份,提供一致且专业的支持。

自定义提示文件 GitHub Copilot Custom Prompt Files()

要点

  • 文件格式.prompt.md,包含可选的 frontmatter(mode、model、tools、description)和正文(提示内容)。

  • 位置

    • 用户级:VS Code 配置目录
    • 项目级:.github/prompts/
  • 调用方式

    • Chat 输入 /文件名
    • VS Code 命令面板执行
    • 编辑器内点击运行

功能

  • 保存复杂提示,形成可重复的提示库
  • 支持变量,如 ${selection}(代码选区)、${input:tableName}(执行时输入)。
  • 可用于代码审查、PR 生成、组件脚手架、安全检查等。

最佳实践

总体建议:

  • 每个 prompt 专注一个任务,保持简洁。
  • 在正文中提供上下文或链接,增强准确性。
  • 定义 description,方便用户挑选。
  • 团队维护公共 prompt 仓库,统一标准。

GitHub Copilot 支持的 ** Prompt Files(提示文件** 功能允许开发者将常用的对话提示保存为文件,以便 在不同场合重复使用 。这是一种模块化、可共享的提示管理方式,帮助团队建立 可复用的 AI 提示库。通过提示文件,开发者可以减少每次从头编写长提示的麻烦,确保类似任务的 AI 交互具有一致性。Prompt 文件目前以公共预览形式提供(可能会有改动),但已展现出提高效率的潜力。

Prompt 文件的要点:

  • 提示文件格式: 提示文件是以 .prompt.md 为扩展名的 Markdown 文件。其结构通常包括可选的元数据头正文内容

    • 元数据头 (Frontmatter) 用三短线括起,里面可以指定:

      • mode: 默认使用的聊天模式(ask/edit/agent 等),不设置则用当前模式。
      • model: 指定使用的 AI 模型(如 GPT-4 等),不指定则用当前选定模型。
      • tools: 在 agent 模式下可用的工具列表(类似 chatmode 文件),如果 prompt 需要用到特定工具集,可以在此声明。
      • description: 对此 prompt 的简短说明,用于在 UI 上提示用途。
        这些元数据有助于预配置 prompt 的执行环境,比如某些 prompt 需要 agent 模式 + 特定工具,就可以在头部写好。
    • 正文内容 是实际的提示文案,支持 Markdown 格式,可以包括标题、项目符号、代码块等。这个内容应该描述任务本身 以及具体要求 。它可以被视为一段自包含的"对话提示",告诉 Copilot Chat 要做什么。正文中可以引用自定义指令文件或其他 prompt 文件,以复用已有内容(例如在安全审查 prompt 中引用通用的安全指南说明)。

  • 使用场景: Prompt 文件适合定义 特定任务 的对话模版,比如:"代码审查提示"、"新组件脚手架提示"、"性能优化建议提示"、"架构设计提示"等。每个 prompt 文件相当于 封装了一段复杂指令,开发者或团队在需要时直接调用,而不必临时想出所有细节。例子:

    • Pull Request 审查 Prompt: 文档中举例了一个 "列出我当前仓库中分配给我的PR并总结"的 prompt 文件。其内容包括:需要使用 GitHub MCP 工具(tools 列出了 githubRepolist_pull_requests 等),然后正文描述了搜索仓库并列出PR、提取每个PR的详情、指出等待谁review、检查CI状态等要求。保存为 my-pull-requests.prompt.md 后,只需在聊天中运行 /my-pull-requests,Copilot Chat 就会执行这些步骤。
    • React 表单组件生成 Prompt: VS Code 文档提供了另一个例子,定义 mode 为 agent、工具包括代码库读取的 prompt 来生成React表单组件。正文列出了表单的要求和参考模板路径等,用于快速创建新UI组件的代码。
    • REST API 安全检查 Prompt: 另一个例子定义了 ask 模式下,不需要工具的 prompt,让AI对REST API做安全审查并输出TODO列表。这可以给开发者一个规范的安全审查输出格式(按优先级分组的issue列表)。
  • 创建和组织 Prompt 文件:

    • 工作区级 Prompt 文件:.prompt.md 文件放在仓库的 .github/prompts/ 目录下(默认路径,可通过 VS Code 设置增加更多路径)。这些文件 只在该仓库/工作区内可用。适合项目特定的 prompt。
    • 用户级 Prompt 文件: VS Code 用户当前Profile也有一个 prompts 存储位置。通过 VS Code 的"Prompt Files"配置界面,可以创建"User Prompt File",这些文件保存在用户配置目录下,对该用户登录的任意仓库都可用。这适合跨项目通用的 prompt,比如常用的代码规范检查、通用脚手架等。用户Prompt文件可以利用 Settings Sync 在多台机器同步。
    • VS Code 命令操作: 通过点击 Copilot Chat 面板的"齿轮"按钮并选择 "Prompt Files",可以新建或管理 prompt 文件(或者用命令面板"Chat: New Prompt File")。选择创建位置(工作区或用户),输入文件名,然后填写内容。要编辑已有 prompt,可再次通过配置界面或命令面板打开。
    • 手动创建: 当然也可以手动在 .github/prompts 文件夹新建 .prompt.md 文件并写入内容,Copilot会自动识别。
  • 在聊天中使用 Prompt 文件:

    • 通过命令调用: 在 Chat 输入框中键入 / 会出现可用 prompt 文件列表(类似 slash 命令)。选中或直接输入 /文件名 就可运行那个 prompt。在 VS Code Chat UI,这支持在命令后追加参数注意 :当前Copilot Prompt文件也支持参数传递------通过 ${input:变量名} 机制,下述变量部分会提到)。
    • 通过命令面板: 使用 VS Code 命令面板执行"Chat: Run Prompt",然后选择 prompt 文件,也可以触发。
    • 在编辑器中运行: 打开 prompt 文件本身,点击编辑器标题处出现的"运行"按钮,可以选择在当前聊天会话运行,或新开会话运行。
    • 传递参数/变量: Prompt 文件可以在正文中定义占位的变量,通过在执行时提供参数来替换。VS Code 支持 ${selection}${file} 等预定义变量,甚至 ${input:变量名} 让用户在执行时输入值。例如,在 prompt 文件内容中放 ${selectedText},那么在聊天中选中一段代码后运行该 prompt,它会自动替换成所选代码文本。又如 ${input:tableName:Enter table name},在执行 prompt 时,会弹出让用户输入 tableName 的对话框。这使 prompt 文件更加灵活,如同函数参数。实际使用中,在 Chat 输入框里可以写 /promptName: var1=foo, var2=bar 来传参。
  • 编写有效 Prompt 文件的指南:

    • 聚焦一个任务: 每个 prompt 文件应解决一个相对独立的问题,不要过于笼统。比如"生成Commit消息"和"审查代码质量"应分为两个prompt,而不是一个文件做所有事。
    • 提供上下文引用: Prompt内容里可以通过 Markdown 链接引用代码库中的文件或文档,例如 [设计指南](../docs/design-guide.md),Claude Chat看到链接会尝试打开这些内容。这相当于手动提供额外上下文,有助于结果准确。也可以引用 #prompt: 另一 prompt文件或 #instructions文件的名称来嵌入其内容。
    • 合适的模式和工具: 如果 prompt 需要AI实际执行文件修改或访问外部资源,应设 mode: agent 并在 tools 列入必要工具。否则AI可能不知道可以使用工具或者无法行动。反之,如果只是问答性质的prompt,用 mode: ask 限制AI别乱用工具。
    • 描述和文档: 在 prompt 文件头写好 description。这样当别人(或你自己一周后)来看 prompt 列表时,一目了然知道每个 prompt 做什么。另外,考虑将团队的 prompt 文件收集在仓库,并写一份 README 解释各 prompt 用途,方便协作。
    • 测试 Prompt 文件: 和写代码类似,写完 prompt 要自己试运行几次,看AI输出是否符合预期。如果总是跑偏,可能需要在 prompt 文本中加入更多指导或调整措辞。利用 Tip: 可以在 VS Code Copilot Chat 开发者工具中查看实际发送给模型的 prompt,确认格式正确。

对常见工作流程的集成: Prompt 文件和自定义指令、聊天模式共同构成 Copilot Chat 的定制化配置体系。常见工作流可以这样结合这些工具:

  • 团队可以维护一个**"Awesome Copilot"仓库**(正如 Microsoft 发布的 Awesome GitHub Copilot Customizations),汇集大家编写的有用 prompt 文件、指令文件和聊天模式。这样每当遇到类似任务,就可直接调用已有 prompt,不断丰富社区资源。
  • 开发流程上,Prompt 文件可以嵌入到Git hooks或CI。例如在提交代码前,自动运行"代码风格检查.prompt.md",提醒开发者修正格式;或者在 PR 创建时,用 prompt 文件生成 PR 模板、检查漏洞等。由于 prompt 文件可通过 CLI headless 模式调用,这些都可脚本化。
  • 知识转移入职场景,prompt 文件能记录专家经验:比如"新微服务架构决策指南.prompt.md",让新人使用时获得前人沉淀的思路,而不用手动去翻文档。
  • 对于重复性工作(写注释、生成样板、翻译文档等),prompt 文件提供了统一规范的做法。团队达成一致后,把最佳实践写进 prompt,比每个人各自提示AI要可靠统一得多。
  • Copilot Chat 现在支持个人profile同步 ,意味着每个开发者常用的 prompt文件可以随VS Code账户漫游。在不同项目/设备也能调用,从而融入日常工作习惯

**示例最佳实践:**文章和文档提供的 prompt 示例体现了一些最佳实践:

  • PR 列表 prompt 展示了如何组合使用多个工具完成较复杂的任务(读repo->列PR->获取每个PR详情->分析状态并给建议),提示内容按步骤列清楚,让AI逐步执行。
  • React 表单 prompt 则利用了仓库模板 (通过 #githubRepo 引用已有模板代码)和要求列表,确保生成代码符合项目规范。
  • 安全审查 prompt 很简洁地利用 Markdown 列表输出TODO,限定了回答格式,使结果易于理解和执行。
  • 这些例子共同说明:Prompt 文件应该尽量清晰地定义输入->输出的关系,让AI明白既要做什么,也要如何组织结果。必要时在 prompt 里直接给出结果格式范例(如"返回结果请以 Markdown 列表输出,每项包括...")。

总而言之,自定义 Prompt 文件 赋予开发团队对 AI 助手的脚本化能力 。它将零散的对话技巧固化为文档,可反复执行、分享协作,这对大型项目和团队非常有价值。通过沉淀高质量 prompt,一方面新成员可以直接上手调用,节省时间;另一方面团队可以持续改进 prompt 内容,不断优化 AI 产出质量,真正把 Copilot 变成 智慧收集器 而不仅是代码自动补全工具。

相关推荐
乘风gg10 小时前
从 Structured Output 到企业级 AI 架构——如何把 LLM 放进可控系统
openai·ai编程·cursor
孟健13 小时前
用OpenClaw给12个AI下属定KPI,它们自己复盘、迭代、进化
ai编程
蝎子莱莱爱打怪14 小时前
OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解
java·后端·ai编程
MaXiaoTiao110514 小时前
OpenCode配置详细教程(Windows版)
ai编程
Kagol14 小时前
TinyVue 支持 Skills 啦!现在你可以让 AI 使用 TinyVue 组件搭建项目
前端·agent·ai编程
柳杉14 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
李广坤15 小时前
使用 Skills 的技巧与规范
ai编程
哈基咪怎么可能是AI15 小时前
OpenClaw 插件系统:如何打造全能私人助理 --OpenClaw源码系列第2期
开源·ai编程
饼干哥哥15 小时前
用Openclaw+Obsidian搭建内容工厂,写100W+阅读爆文,单篇6000元
aigc