自定义
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 规范。
了解更多关于创建自定义指令的信息。
提示文件
提示词文件(Prompt files)是可复用的 Markdown 文件,它们编码了特定任务,并在聊天中显示为斜杠命令。当您发现自己反复输入相同类型的提示词时,提示词文件可以将其转换为一步式命令。每个提示词文件都可以引用特定的文件、工具和上下文,从而为 AI 提供完成该任务所需的一切信息。
提示词文件适用于搭建新组件、为模块生成测试用例或准备拉取请求(PR)描述等任务。
了解更多关于创建提示词文件的信息。
智能体技能
智能体技能将多步能力打包为包含指令、脚本和资源的文件夹。与提供单一提示词的提示词文件不同,技能为 AI 提供了一个针对特定领域任务的完整工具包,例如生成 API 文档、运行安全审计或执行数据库迁移。
技能在任务匹配其描述时按需加载。它们基于开放标准构建,因此相同的技能可在不同类型的智能体中通用。
了解更多关于创建智能体技能的信息。
自定义代理
自定义智能体为 AI 赋予特定的角色和受限的工具集。例如,安全审查员智能体只能访问代码分析工具并遵循以安全为中心的指令,而数据库管理员智能体通过 MCP 连接到您的数据库并遵循您的模式约定。
每个智能体都在 .agent.md 文件中定义,该文件指定了其行为、可用工具和语言模型偏好。智能体还可以委托给其他智能体,从而实现多步工作流,由不同的专家处理任务的不同部分。
了解更多关于创建自定义智能体的信息。
MCP
模型上下文协议 (MCP) 是一种用于将 AI 连接到外部工具和数据源的开放标准。如果没有 MCP,AI 只能处理代码和终端。MCP 服务器通过提供工具扩展了其能力,这些工具可以查询数据库、调用 API、与云服务交互或访问任何其他外部系统。
MCP 服务器可以在本地或远程运行,还可以提供资源、提示词和交互式应用程序。
了解更多关于添加和管理 MCP 服务器的信息。
钩子
钩子(Hooks)在智能体回话期间的特定节点运行自定义 shell 命令。虽然指令和提示词指导 AI 的行为,但钩子确保了您的代码在定义的生命周期节点运行。当您需要确定性的结果时(例如在每次文件编辑后运行格式化程序、阻止 lint 检查失败的提交,或记录每次工具调用以进行审计跟踪),钩子是正确的选择。
了解更多关于配置钩子的信息。
智能体插件
智能体插件是您可以从插件市场发现并安装的预打包自定义集合。无需自己构建一切,您可以安装一个插件,它提供斜杠命令、技能、自定义智能体、钩子和 MCP 服务器的现成组合。插件对于采用社区最佳实践或在团队间共享内部工具非常有用。
智能体插件目前处于预览阶段。
了解更多关于智能体插件的信息。