在 Visual Studio Code 中定制 AI
AI 模型具有广泛的常识,但它们不了解您的代码库或团队实践。定制可以弥合这一差距,根据您的编码标准、项目结构和工作流程来定制响应。
本文介绍了 VS Code 中的自定义选项:自定义指令、提示文件、自定义代理、代理技能、MCP 服务器和语言模型。
快速参考
| 选项 | 加载 | 最适合 |
|---|---|---|
| 始终生效的指令 | 每个会话 | 代码库护栏 |
| 基于文件的指令 | 模式匹配/描述匹配 | 特定区域规则 |
| 提示 | 用户调用 | 单次工作流程 |
| 技能 | 描述匹配,按需 | 可重用功能 |
| 自定义代理 | 顶级或作为子代理 | 受限工作流程 |
| MCP | 会话开始 | 外部网关 |
自定义指令
自定义指令使您能够定义通用准则和规则,这些规则会自动影响 AI 如何生成代码和处理其他开发任务。无需在每次聊天提示中手动包含上下文,您可以在 Markdown 文件中指定自定义指令,以确保 AI 响应与您的编码实践和项目要求保持一致。
VS Code 支持两种类型的自定义指令
- 始终生效的指令:自动应用于每个聊天会话。
- 基于文件的指令:根据文件路径模式或指令描述应用
使用自定义指令来
- 记录如何处理您的代码,例如编码标准、首选技术或项目要求
- 提供有助于 AI 理解项目目标、架构和文件结构的全局上下文
- 指定特定任务的指南,例如如何编写测试、文档或执行代码审查
代理技能
代理技能使您能够通过包含指令、脚本和资源的文件夹为 AI 提供专业功能和工作流程。这些技能根据手头的任务按需加载。代理技能是一种 开放标准,可用于多个 AI 代理,包括 VS Code、GitHub Copilot CLI 和 GitHub Copilot 编码代理。
使用代理技能来
- 创建可在不同 GitHub Copilot 工具中使用的可重用功能
- 为测试、调试或部署过程定义专业工作流程
- 使用开放标准与 AI 社区共享功能
- 在指令旁包含脚本、示例和其他资源
提示文件
提示文件(也称为斜杠命令)允许您通过将常见任务编码为独立 Markdown 文件来简化这些任务的提示,您可以直接在聊天中调用这些文件。每个提示文件都包含有关如何执行任务的任务特定上下文和指南。
使用提示文件来
- 简化常见任务的提示,例如构建新组件、运行和修复测试或准备拉取请求
- 覆盖自定义代理的默认行为,例如创建最小实现计划或为 API 调用生成模型
自定义代理
自定义代理使您能够让 AI 为特定角色或任务承担不同的角色,例如数据库管理、前端开发或规划。自定义代理在 Markdown 文件中进行描述,该文件定义了其行为、功能、工具和语言模型偏好。
使用自定义代理来
- 创建专注于特定任务或角色的专业自定义代理,只为它们提供相关的上下文和工具
- 通过编排多个专业代理来创建模块化工作流程,其中每个代理处理过程的特定部分
- 通过将自定义代理作为 子代理 运行,帮助优化复杂任务的上下文使用
MCP 和工具
MCP 和工具通过模型上下文协议 (MCP) 为外部服务和专业工具提供网关。这会将代理的能力扩展到代码和终端之外,并使其能够与数据库、API 和其他开发工具进行交互。MCP 应用允许您定义丰富的用户体验,如图表或表单,以促进复杂的交互。
使用 MCP 和工具来
- 连接数据库工具以查询和分析数据,而无需离开开发环境
- 与外部 API 集成以获取实时信息或执行操作
语言模型
语言模型允许您从针对特定任务优化的不同 AI 模型中进行选择。您可以在模型之间切换,以获得代码生成、推理或专业任务(如视觉处理)的最佳性能。带来您自己的 API 密钥以访问更多模型或对模型托管有更多控制权。
使用不同的语言模型来
- 使用快速模型进行快速代码建议和简单的重构任务
- 切换到更强大的模型以进行复杂的架构决策或详细的代码审查
- 带来您自己的 API 密钥以访问实验性模型或使用本地托管的模型
入门
增量地实现 AI 自定义,从最简单的选项开始,并根据需要逐步增加更多复杂性。
1. 尝试不同的语言模型
首先尝试不同的语言模型,以获得不同类型工作的更好结果。使用聊天中的模型选择器在模型之间切换 - 对简单任务尝试更快的模型,对复杂的推理尝试更强大的模型。这无需额外的设置即可提供即时结果。
2. 设置基本准则
创建始终生效的 .github/copilot-instructions.md 自定义指令,以建立通用的编码标准并提供项目上下文。保持简洁并专注于高层次的准则作为开始。
逐步扩展基于文件的 *.instructions.md 自定义指令,以对代码库或技术的特定部分断言更具针对性的规则。
3. 添加任务自动化
一旦确定了重复性任务,就为常见工作流程(如组件生成、代码审查或文档任务)创建提示文件。这些可以节省时间,并有助于确保团队的一致性。
4. 扩展功能
当您需要连接外部服务或执行专门操作时,添加 MCP 服务器和工具以将聊天扩展到基本代码辅助之外,并引入组织数据或第三方 API,例如查询问题跟踪器或数据库。
5. 创建专业工作流程
对于高级用法,构建自定义代理,将特定工具、指令和上下文组合到特定的角色或项目阶段中。
识别可重用的功能和工作流程,并将它们打包为代理技能,可以根据需要按需加载。这可以扩展代理的额外功能,同时最大限度地减少对上下文使用的影响。
疑难解答自定义问题
如果您的自定义文件未应用或导致意外行为,请使用聊天自定义诊断视图来识别问题。在“聊天”视图中右键单击并选择诊断以查看所有加载的自定义代理、提示文件、指令文件和技能以及任何错误。
了解有关 在 VS Code 中疑难解答 AI 的更多信息。