在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定制。从基础开始,根据需要再添加。

  1. 初始化你的项目:类型/init在聊天中分析你的工作区并生成一个.github/copilot-instructions.md文件中包含编码标准和针对你的代码库量身定制的项目上下文。审查并完善生成的说明。

  2. 添加针对性规则:创建基于文件的规则*.instructions.md用于应用特定规则以应对代码库的不同部分,比如语言约定或框架模式。

  3. 自动化重复性任务:为常见工作流程(如组件生成、代码审查或文档)创建提示文件。添加MCP服务器连接外部服务,如问题追踪器或数据库。

  4. 创建专业工作流程:为特定角色或项目阶段构建定制代理。将可复用能力打包为代理技能,以便在不同工具间共享,并最大限度地减少上下文的使用。

排查定制问题

如果你的自定义文件没有被应用或导致了意外行为,可以使用聊天自定义诊断视图来识别问题。

在聊天视图中选择配置聊天(齿轮图标)>诊断,可以看到所有加载的自定义代理、提示文件、指令文件和技能,以及任何错误。检查语法错误、配置无效或资源加载问题。

了解更多关于在VS Code中排查AI的问题