Skip to content

第二章 Agents 深入

适用读者:已完成入门基础章节,想深入了解 MAF 中 Agent 的原理、类型和高级特性的开发者 本文目标:系统梳理 Microsoft Agent Framework 中 Agent 的核心概念、运行时模型、管道架构和高级功能


本章概要

Agents 是 Microsoft Agent Framework 的核心抽象层。本章从 MS Learn 官方文档出发,深入介绍:

章节核心内容
代理类型总览AIAgent 基类、ChatClientAgent、执行模型
运行代理RunAsync / RunStreamingAsync、运行选项、响应类型
代理管道三层管道架构(中间件 / 上下文 / 聊天客户端)
多模态图像分析、多模态输入
结构化输出RunAsync<T>、ResponseFormat、JSON Schema
后台响应长任务、延续令牌、轮询模式
RAG 检索增强生成TextSearchProvider、AIContextProviders
声明性代理YAML/JSON 定义代理、PromptAgentFactory
可观测性OpenTelemetry 集成、跟踪/日志/指标
评估框架LocalEvaluator、FoundryEvals、EvalItem
智能体技能SKILL.md 规范、渐进式披露
CodeAct代码执行沙盒、工具编排优化
代理安全安全策略、内容过滤、FIDES
A2A 协议Agent Card、Task 状态机、报文格式、流式通信

架构定位

在 MAF 的整体架构中,Agents 层位于托管层和协议层之下、基础设施层之上:

┌─────────────────────────────────────────────┐
│       应用层(你的 App / ASP.NET Core)       │
├─────────────────────────────────────────────┤
│   托管层 Hosting(DI 注册 · AddAIAgent)     │
│   协议层 A2A / OpenAI / AG-UI               │
├─────────────────────────────────────────────┤
│  ┌─── 第二章 聚焦 ───────────────────────┐  │
│  │         Agents 核心层                  │  │
│  │  AIAgent · ChatClientAgent            │  │
│  │  AgentSession · 管道 · 中间件          │  │
│  │  工具调用 · 多轮对话 · 流式 · RAG     │  │
│  └───────────────────────────────────────┘  │
├─────────────────────────────────────────────┤
│   IChatClient (OpenAI / Azure / Anthropic)  │
│   向量数据库 · 聊天历史 · Context Provider   │
└─────────────────────────────────────────────┘

本章将带您深入这个核心层,理解其设计哲学和高级用法。


本文内容基于 Microsoft Learn - Agent Framework Agents 官方文档编写。

学而不思则罔,思而不学则殆