🤝 企业多代理工作流系统 (.NET)

📋 学习目标

本笔记本演示了如何使用 .NET 中的 Microsoft Agent Framework 和 GitHub 模型构建复杂的企业级多代理系统。您将学习如何通过结构化工作流程协调多个专业代理一起工作,利用 .NET 的企业功能来实现生产就绪的解决方案。

您将构建的企业多代理功能:

  • 👥 代理协作:具有编译时验证的类型安全代理协调
  • 🔄 工作流编排:使用 .NET 异步模式的声明式工作流定义
  • 🎭 角色专业化:强类型的座席个性和专业领域
  • 🏢 企业集成:具有监控和错误处理功能的生产就绪模式

⚙️ 先决条件和设置

开发环境:

  • .NET 9.0 SDK 或更高版本
  • Visual Studio 2022 或带有 C# 扩展的 VS Code
  • Azure 订阅(用于持久代理)

所需的 NuGet 包:

1
2
3
4
5
6
7
<PackageReference Include="Microsoft.Extensions.AI.Abstractions" Version="9.9.0" />
<PackageReference Include="Azure.AI.Agents.Persistent" Version="1.2.0-beta.4" />
<PackageReference Include="Azure.Identity" Version="1.15.0" />
<PackageReference Include="System.Linq.Async" Version="6.0.3" />
<PackageReference Include="Microsoft.Extensions.AI" Version="9.8.0" />
<PackageReference Include="DotNetEnv" Version="3.1.1" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.9.0-preview.1.25458.4" />

代码示例

本课程的完整工作代码可在随附的 C# 文件中找到:08-dotnet-agent-framework.cs

运行示例:

1
2
3
4
5
# Make the file executable (Linux/macOS)
chmod +x 08-dotnet-agent-framework.cs

# Run the sample
./08-dotnet-agent-framework.cs

或者使用 .NET CLI:

1
dotnet run 08-dotnet-agent-framework.cs

这个示例展示了什么

这个多代理工作流程系统使用两个专门的代理创建酒店旅行推荐服务:

  1. FrontDesk Agent:提供活动和地点建议的旅行社
  2. 礼宾代理:审核建议以确保真实的非旅游体验

代理在工作流程中协同工作,其中:

  • 前台代理收到初始旅行请求
  • 礼宾代理审核并完善推荐
  • 工作流程实时传输响应

关键概念

代理协调

该示例演示了使用 Microsoft Agent Framework 和编译时验证进行类型安全的代理协调。

工作流程编排

使用声明性工作流定义和 .NET 的异步模式来连接管道中的多个代理。

流式响应

使用异步枚举和事件驱动架构实现代理响应的实时流。

企业集成

显示生产就绪模式,包括:

  • 环境变量配置
  • 安全凭证管理
  • 错误处理
  • 异步事件处理