自定义
AI 模型拥有广泛的通识,但不了解您的代码库或团队实践。可以将 AI 想象成一名技术娴熟的新成员:它代码写得很好,但不了解您的约定、架构决策或首选库。自定义正是您共享这些背景信息的方式,以便 AI 的响应符合您的编码标准、项目结构和工作流程。
本文介绍了不同的自定义选项以及何时使用每种选项。有关分步配置,请参阅各章节中链接的独立指南。
自定义选项一览
| 目标 | 使用 | 示例 | 激活时机 |
|---|---|---|---|
| 在各处应用编码标准 | 常驻指令 | 强制执行 ESLint 规则,要求 JSDoc 注释 | 在每个请求中自动包含 |
| 针对不同文件类型的不同规则 | 基于文件的指令 | 针对 .tsx 文件的 React 模式 |
当文件匹配模式或描述时 |
| 我反复运行的可重用任务 | 提示文件 | 构建 React 组件框架 | 当您调用斜杠命令时 |
| 通过脚本封装多步骤工作流 | 智能体技能 | 测试、Lint 和部署流水线 | 当任务匹配技能描述时 |
| 具有工具限制的专业 AI 角色 | 自定义代理 | 安全审查员、数据库管理员 | 当您选择它或由其他智能体委派时 |
| 连接到外部 API 或数据库 | MCP | 查询 PostgreSQL 数据库 | 当任务匹配工具描述时 |
| 在智能体生命周期点自动执行任务 | 钩子 | 每次文件编辑后运行格式化程序 | 当智能体达到匹配的生命周期事件时 |
| 安装预打包的自定义项 | 智能体插件 | 安装社区测试插件 | 当您安装插件时 |
从针对项目范围标准的自定义指令开始。当您有可重复的任务时,添加提示词文件 (Prompt files)。需要外部数据时使用 MCP。为专业角色创建自定义智能体。随着需求的增长,您可以组合多种自定义类型。
自定义指令
自定义指令是定义编码标准和项目背景的 Markdown 文件。AI 会在聊天请求中自动包含它们,因此您无需在每个提示词中重复这些规则。指令是最简单的自定义设置方式,也是最好的入门点。
有两种类型
- 常驻指令:定义在
.github/copilot-instructions.md中的项目范围规则,适用于每个请求。将其用于整个团队遵循的约定,如代码风格、命名模式或首选库。 - 基于文件的指令:基于文件路径模式或任务描述适用的
.instructions.md文件中的准则。当代码库的不同部分需要不同规则时使用它们,例如针对.tsx文件的 React 模式或后端 API 约定。
了解更多关于 创建自定义指令 的信息。
提示文件
提示词文件是可重用的 Markdown 文件,它们编码了特定任务并在聊天中显示为斜杠命令。当您发现自己反复输入同类提示词时,提示词文件可以将其转换为一步式命令。每个提示词文件都可以引用特定文件、工具和上下文,从而为 AI 提供完成该任务所需的一切。
提示词文件适用于诸如构建新组件、为模块生成测试用例或准备拉取请求描述等任务。
了解更多关于 创建提示词文件 的信息。
智能体技能
智能体技能 (Agent skills) 将多步骤功能打包为包含指令、脚本和资源的文件夹。与提供单一提示词的提示词文件不同,技能为 AI 提供了一个用于特定领域任务的完整工具包,例如生成 API 文档、运行安全审计或执行数据库迁移。
当任务与技能描述匹配时,技能会按需加载。它们构建在 开放标准 之上,因此相同的技能适用于不同的智能体类型。
了解更多关于 创建智能体技能 的信息。
自定义代理
自定义智能体为 AI 赋予了特定的角色和针对特定职责的受限工具集。例如,安全审查员智能体仅能访问代码分析工具并遵循以安全为重点的指令,而数据库管理员智能体则通过 MCP 连接到您的数据库并遵循您的模式约定。
每个智能体都在 .agent.md 文件中定义,该文件指定了其行为、可用工具和语言模型偏好。智能体还可以委派给其他智能体,这实现了多步骤工作流,即由不同的专家处理任务的不同部分。
了解更多关于 创建自定义智能体 的信息。
MCP
模型上下文协议 (MCP) 是用于将 AI 连接到外部工具和数据源的开放标准。如果没有 MCP,AI 只能处理代码和终端。MCP 服务器通过提供查询数据库、调用 API、与云服务交互或访问任何其他外部系统的 工具 来扩展其能力。
MCP 服务器可在本地或远程运行,还可以提供资源、提示词和交互式应用程序。
了解更多关于 添加和管理 MCP 服务器 的信息。
钩子
钩子 (Hooks) 在智能体对话期间的特定点运行自定义 Shell 命令。虽然指令和提示词引导 AI 的行为,但钩子确保您的代码在预定义的生命周期点执行。当您需要确定性结果(例如每次文件编辑后运行格式化程序、阻止未通过 Lint 检查的提交,或记录每次工具调用以进行审计追踪)时,钩子是正确的选择。
了解更多关于 配置钩子 的信息。
智能体插件
智能体插件是您可以从插件市场发现并安装的预打包自定义项集合。您无需自行构建所有内容,只需安装一个插件,即可获得现成的斜杠命令、技能、自定义智能体、钩子和 MCP 服务器组合。插件适用于采用社区最佳实践或在团队间共享内部工具。
智能体插件目前处于预览阶段。
了解更多关于 智能体插件 的信息。