第二章 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 官方文档编写。