news 2026/4/16 10:19:05

.NET+AI | Agent | Agent as Function (14)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
.NET+AI | Agent | Agent as Function (14)

Agent 转换为工具:实现 Agent 嵌套调用

一句话简介

MAF 提供两种方式将 Agent 转换为可复用工具:AsAIFunction()用于应用内嵌套,MCP 工具用于跨平台互操作。


🎯 核心价值

  • 复用性:将 Agent 封装为工具,在不同场景下复用

  • 两种模式:AsAIFunction(进程内)和 MCP Tool(跨平台)

  • 组合能力:通过 Agent 嵌套构建复杂业务逻辑


📝 两种复用模式对比

特性

AsAIFunction

AsMcpTool

适用场景

应用内嵌套调用

跨应用、跨平台调用

性能

⚡ 高(进程内调用)

🔌 中(进程间通信)

互操作性

🔒 .NET 限定

🌐 支持任何 MCP 客户端

调试工具

无专用工具

MCP Inspector

复杂度

⭐ 简单

⭐⭐ 中等


💻 方式一:AsAIFunction

场景:应用内 Agent 嵌套

实现步骤

// 1️⃣ 创建子 Agent(天气助手) var weatherAgent = chatClient.CreateAIAgent( instructions: "你是天气查询助手", name: "WeatherAgent", tools: [AIFunctionFactory.Create(GetWeather)] ); // 2️⃣ 转换为 AIFunction var weatherFunction = weatherAgent.AsAIFunction(); // 3️⃣ 注册到主 Agent var travelAgent = chatClient.CreateAIAgent( instructions: "你是旅行助手,可以调用天气助手查询天气", name: "TravelAgent", tools: [weatherFunction] // 注册子 Agent 作为工具 );

核心要点:

  • 🔧AsAIFunction()将整个 Agent 封装为函数

  • 🔧 子 Agent 保留完整能力(包括工具调用)

  • 🔧 适用于层次化 Agent 架构


💻 方式二:MCP Tool

场景:跨平台 Agent 调用

实现步骤

// 1️⃣ 将 Agent 转换为 MCP 工具 var weatherAgentFunction = weatherAgent.AsAIFunction(); var weatherMcpTool = McpServerTool.Create(weatherAgentFunction); // 2️⃣ 创建 MCP Server 并注册工具 var (mcpClient, mcpServer) = await McpHelper.CreateInMemoryClientAndServerAsync( tools: [weatherMcpTool] ); // 3️⃣ 通过 MCP 调用 var result = await mcpClient.CallToolAsync( toolName: "WeatherAgent", arguments: new Dictionary<string, object> { { "query", "北京天气" } } );

核心要点:

  • 🌐 任何 MCP 客户端都可以调用(Claude、VS Code 等)

  • 🌐 使用Cast<AIFunction>()将 MCP 工具转换回 AIFunction

  • 🌐 支持跨语言、跨平台互操作


🏢 企业级实战:多 Agent 协作

智能客服系统

// 创建多个专项 Agent var weatherAgent = CreateWeatherAgent(); var orderAgent = CreateOrderAgent(); // 通过 MCP 获取外部服务 var couponMcpFunctions = await couponMcpClient.ListToolsAsync(); // 组合到主 Agent var mainAgent = chatClient.CreateAIAgent( instructions: "你是智能客服助手", tools: [ weatherAgent.AsAIFunction(), // 内部 Agent orderAgent.AsAIFunction(), // 内部 Agent ..couponMcpFunctions.Cast<AIFunction>() // 外部 MCP 工具 ] );

混合架构

主 Agent ├─ 内部 Agent (AsAIFunction) │ ├─ 订单处理 Agent │ └─ 库存查询 Agent └─ 外部服务 (MCP) ├─ 天气服务 └─ 物流追踪

🎯 总结

  • AsAIFunction:应用内嵌套,性能高,适合层次化架构

  • MCP Tool:跨平台互操作,支持 Claude/VS Code 等客户端

  • 混合使用:内部 Agent 用 AsAIFunction,外部服务用 MCP

  • 企业应用:构建可复用、可组合的 Agent 生态


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

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

户外LED显示屏安装前期风载与防水考量深度解析

户外LED显示屏安装前期风载与防水考量深度解析城市街头、高速路旁、商业广场——如今&#xff0c;户外LED显示屏早已成为我们生活中不可或缺的信息窗口。无论是广告投放、交通引导还是公共信息发布&#xff0c;这些“发光的幕墙”以其高亮度、强可视性赢得了广泛应用。然而&…

作者头像 李华
网站建设 2026/4/14 22:42:57

抖音无水印下载神器:3步搞定高清视频永久保存

抖音无水印下载神器&#xff1a;3步搞定高清视频永久保存 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载&#xff1a;https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downloader 还在为抖音精彩视频…

作者头像 李华
网站建设 2026/4/13 21:29:00

8 个降AI率工具,研究生必备!

8 个降AI率工具&#xff0c;研究生必备&#xff01; AI降重工具&#xff0c;论文写作的“隐形助手” 在当今学术研究日益依赖人工智能的时代&#xff0c;研究生们在撰写论文时常常面临一个棘手的问题&#xff1a;如何在保持原有语义和逻辑的基础上&#xff0c;有效降低AIGC率、…

作者头像 李华
网站建设 2026/4/1 4:14:02

从下载到激活:Multisim14.3教学环境安装全记录

从下载到激活&#xff1a;Multisim14.3教学环境安装全记录&#xff08;优化润色版&#xff09; 当你在实验室卡在“许可证错误”时&#xff0c;到底发生了什么&#xff1f; 作为一名常年负责电子类课程实验平台搭建的工程师&#xff0c;我见过太多学生抱着笔记本跑来求助&…

作者头像 李华
网站建设 2026/4/15 21:31:00

基于Keil的STM32实时变量监控:图解说明方法

Keil调试实战&#xff1a;手把手教你实时监控STM32变量&#xff0c;告别“打印式”调试你有没有过这样的经历&#xff1f;为了查一个ADC采样异常&#xff0c;反复在代码里加printf&#xff0c;改完编译下载运行&#xff0c;结果串口输出还把系统时序打乱了。等终于发现问题&…

作者头像 李华
网站建设 2026/4/13 3:53:44

告别传统照明痛点,安科瑞智能系统开启智慧控光新时代

唐雪阳 安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;随着物联网、大数据技术与“双碳”战略的深度融合&#xff0c;传统照明系统在能耗管理、控制灵活性及运维效率上的局限性日益凸显。智能照明作为建筑电气自动化与绿色节能的关键环节&#xff0c;已成为现代楼…

作者头像 李华