14.MAF的Agent管道详解
文章平均质量分 74
MAF的Agent管道详解
JaydenAI
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[MAF的Agent管道详解-08]依赖注入的应用
借助于MAF提供的这个极具扩展性的Agent管道,我们可以利用它提供的众多扩展点来实现我们针对Agent执行的控制。当我们在自定义组件的时候,很多情况下都需要使用到注入的依赖服务。如何提取这些依赖服务对象?以及这些服务对象来源于何处?这就是这篇文章需要解答的问题。原创 2026-07-20 05:08:17 · 451 阅读 · 0 评论 -
[MAF的Agent管道详解-07]利用AIAgent中间件构建Agent管道
本文介绍了基于DelegatingAIAgent的中间件管道架构,通过装饰器模式实现对AIAgent调用的功能扩展。核心内容包括: DelegatingAIAgent作为抽象基类,通过嵌套代理模式构建中间件管道,每个中间件只需重写需要增强的方法,其余调用自动转发给内部代理。 系统提供了完整的中间件构建体系,包括AIAgentBuilder类支持链式注册中间件,最终构建出完整的代理管道。 预定义了多种功能中间件,涵盖消息增强、异常处理、日志记录、性能监控等场景,通过组合不同中间件可实现灵活的代理行为定制。 这原创 2026-05-26 08:48:02 · 595 阅读 · 0 评论 -
[MAF的Agent管道详解-06]ChatClientAgent对IChatClient和输入输出增强管道的整合
本文介绍了ChatClientAgent的构建过程,它整合了IChatClient管道、ChatHistoryProvider和AIContextProvider三大核心组件。通过两种构造函数方式,开发者可以灵活配置Agent属性,包括名称、描述、指令和工具集等。重点解析了ChatClientAgentOptions的配置选项及其构建规则,包括默认使用InMemoryChatHistoryProvider、中间件装饰逻辑以及处理历史记录冲突的策略。最后通过示例代码展示了如何基于OpenAI客户端创建具备对话原创 2026-05-23 07:45:21 · 651 阅读 · 0 评论 -
[MAF的Agent管道详解-05]对话历史的持久化和输入输出的增强
ChatClientAgent通过封装IChatClient实现与LLM的交互,其核心在于灵活定制输入消息和配置选项的机制。该机制主要由ChatHistoryProvider和AIContextProvider两个组件实现,前者管理基于Session的对话历史,后者作为中间件在调用前后执行定制逻辑。ChatHistoryProvider通过InvokingAsync和InvokedAsync方法分别在调用前后处理消息,支持消息过滤和来源标记(通过AgentRequestMessageSourceTy原创 2026-05-23 07:43:18 · 668 阅读 · 0 评论 -
[MAF的Agent管道详解-04]如何让LLM按照要求的结构输出数据?
本文介绍了通过IChatClient的GetResponseAsync<T>扩展方法实现结构化输出的技术方案。该方法利用JSON Schema指导LLM生成指定格式的响应,并通过反序列化将结果封装为ChatResponse<T>对象。文中提供了C#代码示例,演示如何从文本中提取结构化数据(如个人资料信息),并验证了响应结果与预期对象的匹配性。请求/响应JSON展示了Schema定义和LLM结构化输出的实际应用效果。原创 2026-05-22 08:52:54 · 356 阅读 · 0 评论 -
[MAF的Agent管道详解-03]连接LLM的IChatClient对象
本文介绍了如何通过IChatClient接口与不同LLM模型交互,重点演示了OpenAI客户端的实现方式。文章详细说明了如何创建IChatClient对象,包括通过OpenAIClient、AzureOpenAIClient和ProjectOpenAIClient三种方式,并展示了将返回对象转换为IChatClient接口的方法。随后通过一个天气咨询案例,模拟了Agent的ReAct循环过程:首次调用触发天气查询工具,第二次调用基于工具结果生成着装建议。示例代码完整展示了从初始化客户端、设置系统指令、处理工原创 2026-05-22 08:50:32 · 458 阅读 · 0 评论 -
[MAF的Agent管道详解-02]IChatClient管道如何完美连接大模型?
本文介绍了IChatClient接口作为Agent与LLM交互的连接器,类比数据库中的IDbConnection。文章详细解析了IChatClient的两个核心方法:阻塞式调用的GetResponseAsync和流式调用的GetStreamingResponseAsync,以及用于配置对话选项的ChatOptions类。ChatOptions标准化了各大模型供应商的常用参数,包括对话ID、温度值、Token限制、推理选项等。此外还介绍了ReasoningOptions用于控制推理过程,以及ChatToolM原创 2026-05-21 08:06:10 · 675 阅读 · 0 评论 -
[MAF的Agent管道详解-01]塑智能体边界,从AIAgent抽象类开始
MAF框架采用多态设计哲学,通过继承AIAgent基类创建不同类型的Agent,其中核心的ChatClientAgent采用管道式设计构建与LLM的消息交换通道。框架定义了关键基础类型:AgentRunContext承载运行时上下文,AgentRunOptions控制运行行为(如支持流式恢复的ContinuationToken和结构化输出的ResponseFormat),AgentSession管理会话状态。这些组件共同构成了MAF Agent管道的核心架构,其重要性堪比中间件管道之于ASP.NET Cor原创 2026-05-21 08:02:59 · 673 阅读 · 0 评论
分享