跳到正文

08 · 02.dotnet-agent-framework-workflow-ghmodel-sequential

返回:多 Agent 协作 · 不可变原始文件

原课程补充材料

根据对应简体中文译本整理。原代码片段未进行云端验证。

⏩ 使用 Azure OpenAI (Responses API)进行顺序 Agent 工作流(.NET)

📋 高级顺序处理教程

本笔记本演示了如何使用 .NET 的 Microsoft Agent Framework 和 Azure OpenAI(Responses API)实现 顺序工作流模式 。你将学习如何构建复杂的逐步处理流水线,Agent 按特定顺序执行,每个阶段基于前一阶段的结果展开。

🎯 学习目标

🔄 顺序处理架构

  • 线性工作流设计 :创建具有清晰依赖关系的逐步处理流水线
  • 状态管理 :维护跨顺序工作流阶段的上下文和数据流
  • Azure OpenAI(Responses API) :在多阶段 .NET 工作流中利用 Azure OpenAI 模型
  • 企业流水线模式 :构建可用于生产的顺序处理系统

🏗️ 高级顺序模式

  • 阶段门控处理 :在工作流阶段间实现验证检查点
  • 上下文保留 :维护所有阶段的状态和累积知识
  • 错误传播 :优雅地处理顺序处理链中的失败
  • 性能优化 :高效的顺序执行,开销最小化

🏢 企业顺序应用

  • 文档处理流水线 :多阶段文档分析、转换和验证
  • 质量保证工作流 :顺序审核、验证和审批流程
  • 内容生产流水线 :调研 → 写作 → 编辑 → 审核 → 发布
  • 业务流程自动化 :具有明确阶段依赖关系的多步骤业务工作流

⚙️ 前置条件与设置

📦 必备 NuGet 包

.NET 顺序工作流所需的核心包:

xml

<PackageReference Include="Microsoft.Extensions.AI" Version="10.*" />


<PackageReference Include="Azure.AI.OpenAI" Version="2.*" />


<PackageReference Include="Azure.Identity" Version="1.15.0" />
<PackageReference Include="System.Linq.Async" Version="6.0.3" />

🔑 Azure OpenAI 配置

环境设置(.env 文件):

text
AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com
AZURE_OPENAI_DEPLOYMENT=gpt-5-mini

配置管理:

csharp
// Load environment variables securely
Env.Load("../../../.env");
var azureEndpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
var deployment = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT");

🏗️ 顺序工作流架构

原课程流程图 · 保留原图节点与关系
查看 Mermaid 源码
graph TD
    A[Initial Input] --> B[Stage 1: 分析代理]
    B --> C[检查点 1]
    C --> D[Stage 2: 处理代理]
    D --> E[检查点 2]
    E --> F[Stage 3: 验证代理]
    F --> G[最终输出]
    
    H[状态上下文] --> B
    H --> D
    H --> F
    
    I[Azure OpenAI(响应 API)] --> B
    I --> D
    I --> F

关键组件:

  • 顺序 Agent :为每个处理阶段提供专门 Agent
  • 状态上下文 :维护跨阶段的累积数据和决策
  • 检查点 :阶段间的验证点,确保质量和一致性
  • Azure OpenAI 客户端 :所有工作流阶段一致访问 AI 模型

🎨 顺序工作流设计模式

📝 文档处理流水线

Raw Document → Content Extraction → Analysis → Validation → Structured Output

🎯 内容创作工作流

Brief/Requirements → Research → Content Creation → Review → Final Polish

🔍 质量保证流水线

Initial Review → Technical Validation → Compliance Check → Final Approval

💼 商业智能工作流

Data Collection → Processing → Analysis → Report Generation → Distribution

🏢 企业顺序优势

🎯 可靠性与质量

  • 确定性处理 :通过结构化阶段实现一致且可重复的结果
  • 质量关卡 :验证检查点确保各阶段质量
  • 错误隔离 :一阶段的问题不传播至后续阶段
  • 审计跟踪 :完整跟踪每个阶段的决策和转换

📈 可扩展性与性能

  • 模块化设计 :各阶段可独立优化
  • 资源管理 :跨阶段高效分配 AI 模型资源
  • 状态优化 :各阶段间最小化状态传递以优化性能
  • 并行阶段组 :允许多个顺序工作流并行运行

🔒 安全性与合规性

  • 阶段级安全 :不同处理阶段应用不同安全策略
  • 数据验证 :确保每个检查点数据完整和合规
  • 访问控制 :对不同工作流阶段实施细粒度权限
  • 法规合规 :通过结构化处理满足法规要求

📊 监控与分析

  • 阶段级指标 :监控每个工作流阶段性能
  • 瓶颈识别 :识别并优化缓慢阶段
  • 质量指标 :跟踪每阶段的质量和成功率
  • 流程优化 :基于阶段级分析不断改进

让我们一起构建稳健的顺序 AI 处理流水线!🚀

💻 运行代码

完整实现见 02.dotnet-agent-framework-workflow-ghmodel-sequential.cs。该文件展示了一个 三阶段家具分析工作流

  1. 阶段 1 - 销售 Agent :分析家具图片并提供购买建议
  2. 阶段 2 - 价格 Agent :提供详细价格细目和预算选项
  3. 阶段 3 - 报价 Agent :生成专业的 Markdown 格式报价文档

🏗️ 工作流架构

Image Input → Sales Analysis → Price Estimation → Quote Generation → Final Output

每个 Agent:

  • 接收前一阶段的输出作为上下文
  • 利用专业知识构建前期分析结果
  • 通过状态管理保持工作流连续性

🚀 运行示例

前置条件:

  • 将家具图片放在 ../imgs/home.png(或更新 imgPath 变量)
  • 配置 .env 文件,包含 Azure OpenAI 端点和部署信息,然后执行 az login 登录
bash
# 使脚本可执行(Unix/Linux/macOS)
chmod +x 02.dotnet-agent-framework-workflow-ghmodel-sequential.cs

# 运行顺序工作流
./02.dotnet-agent-framework-workflow-ghmodel-sequential.cs

或在 Windows:

powershell
dotnet run 02.dotnet-agent-framework-workflow-ghmodel-sequential.cs

📝 预期输出

工作流将:

  1. 销售 Agent :从图片识别家具项目并提供建议
  2. 价格 Agent :增加详细定价分析,包含预算级别和购物建议
  3. 报价 Agent :生成包含所有信息综合的格式化报价文档

最终输出将是基于图片分析的全面、专业家具报价单。

🔧 自定义选项

修改 Agent 行为:

csharp
// Adjust agent instructions to change their focus
const string SalesAgentInstructions = "Your custom instructions...";

更改顺序流程:

csharp
// Add or reorder workflow stages
var workflow = new WorkflowBuilder(salesagent)
    .AddEdge(salesagent, priceagent)
    .AddEdge(priceagent, quoteagent)
    .AddEdge(quoteagent, newAgent)  // Add another stage
    .Build();

使用不同输入:

csharp
// Process text instead of images
ChatMessage userMessage = new ChatMessage(ChatRole.User, [
    new TextContent("Analyze pricing for a modern living room set")
]);

🎯 真实应用场景

该顺序模式适用于:

  • 电子商务 :产品分析 → 定价 → 报价生成
  • 房地产 :物业分析 → 估价 → 上架创建
  • 保险 :理赔分析 → 评估 → 报价生成
  • 内容创作 :调研 → 写作 → 编辑 → 发布

🔍 理解状态流

顺序中每个 Agent 接收:

  • 原始输入 :初始用户消息(图片+文本)
  • 前序 Agent 输出 :会话历史中所有先前 Agent 响应
  • 累积上下文 :贯穿工作流的完整状态维护

这使得多阶段复杂处理成为可能,每个 Agent 基于全部前序阶段的综合上下文进行构建。


基于 Microsoft AI Agents for Beginners · 非官方中文学习版

100%