news 2026/3/27 23:53:46

.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/3/27 12:52:48

全自研仿真GPU求解器x虚实对标物理测量工厂,打造具身合成数据SuperApp,加速具身仿真生态丨光轮智能@MEET2026

编辑部 整理自 MEET2026量子位 | 公众号 QbitAI从大模型智能的“语言世界”迈向具身智能的“物理世界”&#xff0c;仿真正在成为连接落地的底层基础设施。在本次量子位MEET2026智能未来大会上&#xff0c;光轮智能联合创始人兼总裁杨海波给出了他的观察&#xff1a;具身智能的…

作者头像 李华
网站建设 2026/3/26 21:56:36

达梦数据库备份还原

目录 一、 核心架构&#xff1a;达梦备份还原全景图 二、 基石配置&#xff1a;开启归档模式全流程 2.1 归档模式的重要性 2.2 开启归档实战步骤 三、 备份实战&#xff1a;多种场景详细操作 3.1 联机全量备份&#xff08;生产环境首选&#xff09; 3.2 增量备份策略 3.…

作者头像 李华
网站建设 2026/3/27 15:32:20

如何在数据科学职位申请中创造机会并获得成功

原文&#xff1a;towardsdatascience.com/how-to-create-opportunities-and-succeed-in-data-science-job-applications-3881a5c86508?sourcecollection_archive---------7-----------------------#2024-10-29 我从成功与失败中汲取的宝贵经验&#xff0c;将帮助你在职业道路上…

作者头像 李华
网站建设 2026/3/27 4:58:25

LangFlow条件判断节点使用方法:实现智能路由逻辑

LangFlow条件判断节点使用方法&#xff1a;实现智能路由逻辑 在构建大语言模型&#xff08;LLM&#xff09;驱动的应用时&#xff0c;一个常见的挑战是&#xff1a;如何让系统“听懂”用户的意图&#xff0c;并据此做出不同响应&#xff1f;比如&#xff0c;用户问的是退货政策…

作者头像 李华
网站建设 2026/3/27 0:40:31

ModbusTCP报文格式说明:图解入门与实例演示

深入理解 Modbus TCP 报文结构&#xff1a;从零开始的实战解析 在工业自动化和物联网系统中&#xff0c;设备之间的通信是系统的“神经系统”。而在这条神经网络中&#xff0c; Modbus TCP 是最常见、最可靠的一种协议之一。它简洁、开放、易于实现&#xff0c;被广泛应用于 …

作者头像 李华