Note
GitHub Copilot Extensions 为 公共预览版,可能随时更改。
GitHub Copilot 内的技能是指模型为响应用户查询而调用以执行特定任务的工具。 技能集是这些技能的集合(每个技能集最多包含五项技能)。 Github Copilot skillsets 提供了一种简化的方式来扩展 Copilot 的功能,使构建者能够将外部服务或自定义 API 终结点集成到他们的 Copilot 工作流中。 借助技能集,构建者能够让 Copilot 执行诸如检索数据或在第三方服务中执行操作等任务,而无需管理复杂的工作流或体系结构。
如需技能集的快速入门示例,请查看 skillset-example 存储库。 有关生成技能集的信息,请参阅“构建 Copilot 技能集”。
技能集和代理的不同之处
技能集和代理是通过 Copilot Extensibility Platform 扩展 Copilot 的功能和上下文的两种方式。 它们支持将外部服务和 API 集成到 Copilot Chat 中,但每一种都适用于不同的用例,并提供不同程度的控制和复杂度:
- 技能集轻巧且精简,是为那些需要使用 Copilot 执行特定任务(例如,数据检索或简单操作)且希望以最少的设置来完成的开发人员而设计的。**** 它们会自动处理路由、提示构建、函数评估以及响应生成,这使得它们非常适合进行快速且直接的集成。
- 代理适用于那些需要完全控制请求处理方式以及响应生成方式的复杂集成****。 它们支持实现自定义逻辑,与其他 LLM 和/或 Copilot API 集成,管理对话上下文,并处理用户交互的各个方面。 虽然代理需要更多的工程和维护工作,但它们为复杂的工作流提供了最大的灵活性。 有关代理的详细信息,请参阅“关于 Copilot 代理”。
扩展性平台
技能集和代理均在 GitHub Copilot Extensibility Platform 上运行,该平台管理用户请求和函数评估的流程。 借助 Copilot skillsets,该平台可处理路由、提示构建、函数调用以及提示生成。
工作流概述
可扩展性平台遵循一个结构化的工作流来处理用户请求并生成响应:
-
用户请求
用户在 Copilot Chat 界面中发出请求,比如请求获取数据或执行特定操作。 -
路由
请求将路由到相应的扩展。 对于技能集而言,这意味着平台代理根据用户的意图来识别并调用相应的技能集。 每项技能的推理描述有助于平台确定要调用哪项技能。 -
动态提示构建
GitHub Copilot 使用以下内容生成提示:- 用户的查询。
- 相关的会话历史记录。
- 技能集中的可用函数。
- 任何以前的函数调用的结果。
-
LLM 补全
语言模型 (LLM) 处理提示并确定:- 用户的意图是否与某个技能集函数相匹配。
- 要调用哪个(些)函数以及使用什么参数。
- 如果需要,LLM 可能会发送额外的函数调用以收集更多上下文。
-
函数评估
扩展调用所选的函数,这可能涉及:- 收集相关上下文,比如 Copilot skillsets 存储库或用户元数据。
- 向外部服务发起 API 调用以检索数据或执行操作。
-
响应生成 平台会迭代优化输出,根据需要循环进行提示构建、LLM 补全以及函数评估。 一旦该流程完成,Copilot 会在聊天界面中将最终响应流式传输回给用户。