网站建设策划书邢台网站建设

南平市丰源电子有限公司 2026/09/09 18:49:00

MAF 中间件管道架构:企业级 Agent 的三层拦截体系

一句话简介

MAF 提供三层中间件架构,分别拦截 ChatClient 调用、Agent 运行和工具调用,实现日志、限流、权限等企业级横切关注点。


🎯 核心价值

  • 三层拦截:ChatClient 层、Agent Run 层、Function Invocation 层

  • 职责分离:每层处理不同粒度的横切关注点

  • 灵活组合:可独立或组合使用,按需配置


📝 三层中间件架构

各层职责对比

层级

拦截时机

典型用途

触发频率

Agent RunRunAsync()

调用

PII 过滤、Guardrails

每次 Agent 调用 1 次

ChatClient

LLM 调用

Token 统计、限流、缓存

每次 LLM 调用(可能多次)

Function

工具执行

日志、权限检查、Mock

每次工具调用


💻 实现方式

1. ChatClient 中间件

使用 MEAI 的DelegatingChatClientUse()方法:

var chatClient = AIClientHelper.GetDefaultChatClient() .AsBuilder() .Use(getResponseFunc: async (messages, options, innerClient, ct) => { Console.WriteLine($"📊 [ChatClient] 请求消息数: {messages.Count()}"); var response = await innerClient.GetResponseAsync(messages, options, ct); Console.WriteLine($"📊 [ChatClient] Token: {response.Usage?.TotalTokenCount}"); return response; }) .Build();

核心要点:

  • 🔧 拦截每次 LLM 调用

  • 🔧 可访问完整的请求和响应

  • 🔧 适用于监控、限流、缓存等场景


2. Agent Run 中间件

使用AgentBuilder.Use()添加:

var agent = chatClient.CreateAIAgent(instructions: "你是智能助手") .AsBuilder() .Use(async (messages, thread, options, innerAgent, ct) => { Console.WriteLine($"🛡️ [Agent Run] Pre-Run 检查"); var response = await innerAgent.RunAsync(messages, thread, options, ct); Console.WriteLine($"🛡️ [Agent Run] Post-Run 完成"); return response; }, null) .Build();

核心要点:

  • 🛡️ 包裹整个 Agent 执行流程

  • 🛡️ 适用于安全检查、审计日志

  • 🛡️ 每次RunAsync()只触发一次


3. Function Invocation 中间件

拦截工具函数的执行:

var agent = chatClient.CreateAIAgent(...) .AsBuilder() .Use(async (agent, context, next, ct) => { Console.WriteLine($"🔧 [Function] 调用: {context.Function.Name}"); var result = await next(context, ct); Console.WriteLine($"🔧 [Function] 结果: {result}"); return result; }) .Build();

核心要点:

  • 🔧 拦截每个工具函数调用

  • 🔧 可修改参数或覆盖结果

  • 🔧 适用于权限检查、Mock 数据


🏢 企业级最佳实践

推荐的中间件组合

// 1️⃣ ChatClient 层:监控和性能 var chatClient = baseChatClient.AsBuilder() .Use(new TokenMonitoringMiddleware()) .Use(new RateLimitingMiddleware()) .Build(); // 2️⃣ Agent 层:安全和审计 var agent = chatClient.CreateAIAgent(...) .AsBuilder() .Use(PIIFilterMiddleware, null) // PII 过滤 .Use(GuardrailsMiddleware, null) // 内容安全 .Use(FunctionLoggingMiddleware) // 工具日志 .Build();

各层职责建议

层级

推荐用途

ChatClient

Token 统计、限流、缓存、重试

Agent Run

PII 过滤、Guardrails、全局审计

Function

权限检查、调用日志、Mock 数据


🎯 总结

  • 三层架构:ChatClient、Agent Run、Function Invocation 各司其职

  • 洋葱模型:请求从外向内,响应从内向外

  • 灵活组合:根据需求选择合适的中间件层级

  • 企业级应用:安全检查最外层,性能优化靠内层


如需获取文章配套完整代码,可扫码咨询领取。👇

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

住房和城乡建设部网站建设手机网站

本文介绍LlamaIndex的Adapter适配器微调技术,通过冻结基础模型仅训练轻量级适配器层,实现显存需求降低90%,训练时间大幅缩短。文章详细展示了从数

2026/06/30 10:35:51

免费网站建设仙桃网站建设

解锁嵌入式安全新范式:Cppcheck MISRA合规自动化实战【免费下载链接】cppcheckstatic analysis of C/C++ code项目地址: ht

2026/06/30 11:34:56

番禺网站建设龙岩网站建设

Simulink通信系统仿真1. Simulink概述1.1 Simulink简介Simulink是MATLAB的一个附加产品,主要用于动态系统建模、仿真和分析。Simulink提供了一

2026/06/30 10:43:21

网站建设策划书无锡网站建设

第一章:R语言在生态环境预测中的核心价值R语言凭借其强大的统计分析能力与丰富的生态建模工具,在生态环境预测领域展现出不可替代的核心价值。它不仅支持复杂的数据处理与可视化&#

2026/06/30 11:24:55

河北网站建设新乡网站建设

YOLOv8 Git下载加速技巧:使用国内镜像代理在深度学习项目开发中,环境搭建往往是最先遇到的“拦路虎”。尤其是当我们想快速上手像YOLOv8这样功能强大但依赖复杂的开源

2026/06/30 12:12:59

网站建设方案永康网站建设

9个AI论文工具,MBA轻松搞定开题报告!AI 工具如何助力 MBA 学子高效完成开题报告在当前的学术环境中,MBA 学生面对论文写作的压力日益增加ÿ

2026/06/30 11:33:26

网站建设合同行业网站建设

7大AI论文工具核心对比工具名称核心功能查重优化适用场景效率评分AiBiye论文全流程辅助智能降重从选题到定稿★★★★★AiCheck查重与降重深度降重算法论文修改阶段★★★★☆AskPaper文献阅

2026/06/30 12:47:33

苏州网站建设齐齐哈尔网站建设

Jupyter Notebook 插件推荐:提升 PyTorch-CUDA-v2.8 开发效率在深度学习项目中,最让人头疼的往往不是模型结构设计或训练调参,而

2026/06/30 13:32:06

青海网站建设常德网站建设

YOLOv8在自动驾驶场景中的目标检测应用在智能汽车加速迈向L3级自动化的今天,环境感知系统正面临前所未有的挑战:如何在复杂多变的城市道路中,以毫秒级响应速度

2026/06/30 12:50:03

网站建设解决方案建设厅网站

序列化(Serialization)是将内存中的对象或数据结构转换为可存储或可传输的格式(如字节流、JSON、XML 等)的过程。它的核心目的&

2026/06/30 09:57:17