
「极客说」 是一档专注 AI 时代开发者分享的专栏,我们邀请来自微软以及技术社区专家,带来最前沿的技术干货与实践经验。在这里,您将看到深度教程、最佳实践和创新解决方案。关注「极客说」,与行业顶尖专家一起探索科技的无限可能!投稿请联系:17278094563(微信号)

利用 GitHub Copilot 可以让 AI 提升开发者的编程效率, 通过不同的 Chat Participant 更可以让开发者完成不同场景的 AI 赋能,如 @workspace 不仅可以创建简单项目和 Notebook,更可以帮你维护项目代码,以及生成测试环境等。你可以通过在 GitHub Copilot Chat 中输入 /help 以了解系统自带的 Chat Participant。当然你也可以自定义属于自己工作流上的各种 Chat Participant。现在自定义 Chat Participant,可以基于 Visual Studio Code Chat Extension 进行创建,也可以直接创建 Copilot Extensions 用以支持更多的 IDE 应用。

在上篇文章中,大家可以看到如何通过 Semantic Kernel 去编排 Multi-Agents。结合 LLM 的能力,我们可以使用 Multi-Agents 完成更复杂的工作,例如在软件工程中的支撑。过去,我们借助简单的框架使用 IDE 创建项目,再一步步根据需求进行不同的代码编写。有了生成式 AI 的加持后,我们或许可以结合 LLM,根据需求快速完成代码生成工作,不仅能搭建框架,还能够完成逻辑代码的生成。
利用 Azure AI Agent Service 提供的各种 DevOps 环境中的 Agent,可以应对不同的工作流来完成 Multi-Agents 编排。如创建项目,我们需要两个 Agent 配合我们的工作,一个读取需求并生成代码的 Agent,一个保存代码的 Agent。结合 Semantic Kernel 的能力,我们可以快速地完成项目创建工作。接下来让我们围绕 Python Flask 项目创建的场景来构建一个自定义的 Visual Studio Code Chat participant。

模型的选择
为了按特定步骤解读需求并生成代码,我们需要一个具备强大推理能力的模型。o1-mini 是非常棒的选择,当然我们也推荐你尝试 Phi-4。至于代码保存功能,我们可用 gpt-4o-mini 来实现。

Multi-Agent 编排
使用 Azure AI Inference SDK 调用 GitHub Models 的 o1-mini 来创建代码生成 Agent,利用 Azure AI Foundry SDK 创建基于 Azure AI Agent Service 的代码保存 Agent。使用 Semantic Kernel 进行 Muliti-Agent 编排,按下图所示与 Plugin 进行绑定,并在 GroupChat 中设置 Agent 交互模式。

整体架构

.NET Aspire 是非常好的分布式应用框架,我们使用 .NET Aspire 来管理我们的 Agent 服务。通过集成 .NET + Semantic Kernel,我们可以非常便捷地创建 Chat Participant 自定义接口服务。可以看到,Chat Participant 可用于应对不同的开发场景,不同的 AI Agents 也可以很好地完成相关定义。必须要说的是,在 LLM / SLM 时代,我们需要更灵活地适配工作流,Semantic Kernel / AutoGen 都具备 AI Agent 的编排能力。
至于 Visual Studio Code Chat Extension,我们定义两个指令 /help 以及 /proj,来分别定义自我介绍以及项目创建的工作。
-
/help 使用 GitHub Copilot 自带的 gpt-4o 来完成简单的介绍工作。无需绑定任何第三方 Agent。
-
/proj 用于构建项目,你需要编写需求,然后通过 fetch 调用由封装好的 Semantic Kernel 编排的多 Agent 接口。
查看完整代码
https://github.com/kinfey/MultiAIAgent/tree/main/ghext
相关资源
-
了解 Azure AI Agent Service
https://learn.microsoft.com/en-us/azure/ai-services/agents/
-
学习 Microsoft AutoGen
https://microsoft.github.io/autogen/dev/
-
学习 Microsoft Semantic Kernel
https://github.com/microsoft/semantic-kernel
-
学习 Visual Studio Code Chat extensions
https://code.visualstudio.com/api/extension-guides/chat
-
免费开启 Visual Studio Code GitHub Copilot
https://aka.ms/CopilotFree_R
卢建晖
微软高级云技术布道师
专注在 AI + Data,著有超过 70 万阅读量的 《Phi-3 Cookbook》。

(文:AIGC开放社区)