在Visual Studio Code中自定义AI。
AI模型有广泛的通用知识,但不了解你的代码库或团队实践。把AI看作是新来的熟练成员:它写出优秀的代码,但不了解你的惯例、架构决策或偏好的库。定制化是你分享这些上下文的方式,让响应与你的编码标准、项目结构和工作流程相匹配。
本文介绍了 VS Code 中的自定义选项:自定义指令、提示文件、自定义代理、代理技能、MCP 服务器和语言模型。
快速参考
| 目标 | 用途 | 当它启动时 |
|---|---|---|
| 在各处应用编码标准 | 始终在线指令 | 自动包含在每个请求中 |
| 不同文件类型的不同规则 | 基于文件的指令 | 当文件与某个模式或描述相符时 |
| 我反复运行的可重复使用任务 | 提示文件 | 当你调用斜杠命令时 |
| 用脚本打包多步工作流程 | 代理技能 | 当任务符合技能描述时 |
| 带有工具限制的专业AI角色 | 海关代理 | 当你选择它或另一个代理人委托给它时 |
| 连接外部 API 或数据库 | MCP | 当任务与工具描述相符时 |
| 自动化代理生命周期点的任务 | 钩子 | 当代理达到匹配的生命周期事件时 |
提示文件与自定义代理:提示文件最适合作为斜杠命令调用的单一且可重复的任务(例如,搭建组件支架)。自定义代理是持久化的人物,控制可用的工具,并能为多步工作流程编排子代理。
自定义说明
自定义指令使你能够定义通用的指导方针和规则,自动影响AI生成代码和处理其他开发任务的方式。与其在每个聊天提示中手动包含上下文,不如在Markdown文件中自定义指令,以确保AI响应一致,符合您的编码实践和项目需求。
VS Code 支持两种类型的自定义指令:
- 始终在线的指令:自动应用于每次聊天会话。
- 基于文件的指令:根据文件路径模式或指令描述应用
使用自定义说明来:
- 记录如何处理你的代码,比如编码标准、偏好技术或项目需求
- 提供全项目背景信息,帮助AI理解项目目标、架构和文件结构
- 具体制定任务指导方针,如如何编写测试、文档或代码审查
特工技能
代理技能使你能够通过包含指令、脚本和资源的文件夹为AI提供专业化的能力和工作流程。这些技能会根据任务需求随时加装。Agent Skills 是一个开放标准,适用于多个 AI 代理,包括 VS Code、GitHub Copilot CLI 和 GitHub Copilot 编码代理。
利用特工技能:
- 创建可重复使用的功能,适用于不同的 GitHub Copilot 工具
- 定义用于测试、调试或部署流程的专用工作流程
- 利用开放标准与人工智能社区共享能力
- 请附上脚本、示例及其他资源,同时附上说明
提示文件
提示文件,也称为斜线命令,通过编码成独立的Markdown文件,在聊天中直接调用,简化了常见任务的提示。每个提示文件都包含任务特定的上下文和任务执行指南。
使用提示文件来:
- 简化常见任务的提示,如搭建新组件、运行和修复测试,或准备拉取请求
- 覆盖自定义代理的默认行为,例如创建最小实现计划,或生成 API 调用的模型
海关代理
定制代理允许AI根据特定角色或任务扮演不同角色,比如数据库管理、前端开发或规划。自定义代理在 Markdown 文件中描述,定义其行为、能力、工具和语言模型偏好。
使用定制代理来:
- 创建专注于特定任务或角色的专业定制代理,只提供相关背景和工具
- 通过协调多个专业代理,每个代理负责流程的特定部分,创建模块化工作流程
- 通过运行自定义代理作为子代理,帮助优化复杂任务的上下文使用。
MCP与工具
MCP及其工具通过模型上下文协议(MCP)提供通往外部服务和专用工具的网关。这使代理的能力超越了代码和终端,使其能够与数据库、API 及其他开发工具交互。MCP 应用允许你定义丰富的用户体验,如仪表盘或表单,以促进复杂交互。
利用MCP和工具来:
- 连接数据库工具查询和分析数据,无需离开开发环境
- 与外部API集成以获取实时信息或执行作
钩子
钩子使你能够在代理会话的关键生命周期点执行自定义壳命令。钩子提供确定性、代码驱动的自动化,无论代理如何被提示都能运行。
使用钩子来:
- 通过在命令执行前阻止危险命令来执行安全策略
- 通过在文件编辑后运行格式化器和链接,自动化代码质量的工作流程
- 创建所有工具调用的审计轨迹以实现合规
- 自动将项目上下文注入代理会话
语言模型
语言模型允许你从针对特定任务优化的不同AI模型中进行选择。你可以在不同模型之间切换,以获得代码生成、推理或视觉处理等专业任务的最佳性能。带上你自己的API密钥,可以访问更多模型或对模型托管拥有更多控制权。
使用不同的语言模型来:
- 使用快速模型,快速提出代码建议和简单的重构任务
- 切换到更强大的模型,以应对复杂的架构决策或详细的代码审查
- 带上自己的API密钥以访问实验模型或使用本地托管模型
为人工智能搭建你的项目
逐步实现AI定制。从基础开始,根据需要再添加。
-
初始化你的项目:类型
/init在聊天中分析你的工作区并生成一个.github/copilot-instructions.md文件中包含编码标准和针对你的代码库量身定制的项目上下文。审查并完善生成的说明。 -
添加针对性规则:创建基于文件的规则
*.instructions.md用于应用特定规则以应对代码库的不同部分,比如语言约定或框架模式。 -
自动化重复性任务:为常见工作流程(如组件生成、代码审查或文档)创建提示文件。添加MCP服务器连接外部服务,如问题追踪器或数据库。
-
创建专业工作流程:为特定角色或项目阶段构建定制代理。将可复用能力打包为代理技能,以便在不同工具间共享,并最大限度地减少上下文的使用。
排查定制问题
如果你的自定义文件没有被应用或导致了意外行为,可以使用聊天自定义诊断视图来识别问题。
在聊天视图中选择配置聊天(齿轮图标)>诊断,可以看到所有加载的自定义代理、提示文件、指令文件和技能,以及任何错误。检查语法错误、配置无效或资源加载问题。
了解更多关于在VS Code中排查AI的问题。