当前位置: 首页 > article >正文

从 @Tool 装饰器到 MCP,浅析大模型工具生态与 Function Calling 的底层逻辑

从 Tool 装饰器到 MCP浅析大模型工具生态与 Function Calling 的底层逻辑在开发 LLM Agent大模型智能体时我们经常会遇到各种层出不穷的技术名词Function Calling函数调用、JSON Schema、LangGraph 中的tool 装饰器以及最近大热的MCPModel Context Protocol模型上下文协议。初学者很容易陷入迷茫“既然我用几行 Python 代码加个 tool 就能让大模型调用本地函数为什么行业还在大费周章地推崇 MCP 协议它们之间到底是什么关系”本文将以一个通俗易懂的视角为你彻底拆解大模型工具生态的底层逻辑、演进过程以及它们在实际生产中的真实协作方式。一、 核心概念分清“点菜”与“做菜”要理清这套生态首先必须纠正一个常见的误区tool 或 MCP 并不等于 Function Calling。它们处于整个交互流程的不同阶段。我们可以用一个“在餐馆点餐”的经典场景来做类比菜单工具定义 / JSON Schema告诉客人店里有什么菜需要什么配料。点菜Function Calling客人大模型看完菜单后做出决策并喊出具体菜名和要求。后厨做菜工具执行服务员把订单传给厨房厨房真正开火把菜做出来。有了这个心智模型我们再来看技术层面的具体定义1. 什么是 Function Calling大模型的“意图表达”大模型LLM本身是不能直接运行 Python 代码、也不能直接读写数据库的。当用户输入“帮我查一下明天北京的天气”时大模型自己无能为力。Function Calling 的本质是大模型的思考决策过程。当它发现靠自身无法解决问题时就会决定“召唤”外部工具。此时它不执行任何代码而是输出一段结构化的数据通常是 JSON告诉你的外围代码“我选好工具了请帮我用这些参数执行它”。大模型吐出的 Function Calling 结果通常长这样JSON{ name: get_weather, arguments: { location: 北京, date: 明天 } }2. JSON Schema大模型看得懂的“说明书”大模型既然要“做选择题”选工具和“填空”填参数它总得事先知道有哪些工具可选。JSON Schema 就是大模型唯一能读懂的“工具说明书”。无论是 LangGraph 的 tool 还是 MCP 工具它们在底层都必须被翻译成标准化的 JSON Schema包含工具名、功能描述、参数类型等发送给大模型。大模型正是通过阅读说明书里的 description 来判断何时该用这个工具。二、 本地 tool vs 跨平台 MCP单机开发与分布式生态既然大模型对所有工具的调用最终都表现为 Function Calling那么 tool 和 MCP 的区别到底在哪里区别在于“工具的包装、发布与运行方式”。1. LangGraph 的 tool快捷的本地 App当你写下如下代码时Pythontool def get_weather(city: str) - str: 查询指定城市的天气预报。 # 具体的查询逻辑 return f{city}明天晴天LangGraph 框架会在后台自动提取这个函数的名称、文档注释Docstring和参数类型将其自动转化为 JSON Schema 发送给大模型。优势极简。心智负担极低非常适合单机开发或快速写个 Demo。劣势强绑定。这个工具被死死地绑在了当前的 Python 环境和 LangGraph 生态里。如果你明天想用 TypeScript 写一个新项目或者想在另一个框架如 AutoGen或 Cursor 等 IDE 里复用这个工具你就必须用对应的语言和框架把这段逻辑重写一遍。2. MCP万维网的 HTTP 协议MCPModel Context Protocol由 Anthropic 提出它的核心思想是将工具的“定义与运行”从 Agent 框架中完全剥离。MCP 引入了标准的客户端-服务器Client-Server架构。你用任何语言Python、Go、TypeScript 等写一个 MCP 服务器把它发布在网络上通过 Stdio 或 SSE 传输。任何支持 MCP 协议的客户端无论是 LangGraph、LlamaIndex、Cursor 还是 Claude 官方客户端都能直接插上使用根本不需要重写代码。3. 维度对比表为了让你更直观地看出两者的适用场景我们可以进行如下对比维度LangGraph toolMCP (Model Context Protocol)开发体验极简。直接写本地函数加个装饰器即可。稍显繁琐。需要启动并维护一个集成了 MCP 协议的微服务。跨语言/跨框架强绑定。通常绑定在特定的语言和生态内。完全通用。只要客户端和服务器都支持 MCP技术栈完全无所谓。安全性与架构本地运行。工具代码和 Agent 逻辑混在一起容易互相影响。隔离运行。工具作为独立微服务运行可具备独立的沙箱与权限控制。生态复用零散。很难直接拿别人写好的代码来用通常需要复制粘贴。开箱即用。社区有大量现成的 MCP 服务器如 GitHub、Postgres配置一下即可。三、 工具爆炸的终极挑战大模型如何动态发现工具在简单的 Demo 中你只有 3 个工具框架每次都会把这 3 个工具的 JSON Schema 全量塞进系统提示词System Prompt里。但在实际的企业级生产中你可能会面对成百上千个工具例如公司内部的所有 API 接口、各种数据库连接器。如果每次都全量注入将带来两个灾难性的后果Token 成本爆炸光是工具说明书就会吃掉几万个 Token每次对话都在无谓地烧钱。注意力分散Context Rot工具太多大模型会“挑花眼”导致工具调用的准确率急剧下降。为了解决这个问题现代高级 Agent 系统绝不是把说明书一次性拍在大模型脸上而是采用了“动态工具发现”的架构策略方案 1工具检索器Tool RAG—— 当下的主流将工具的“找寻”变成一个搜索过程。开发人员将成百上千个工具的名称和描述转化为向量嵌入Vector Embeddings存入向量数据库。用户输入“帮我查一下昨天财务报表里的利润率。”外围的传统代码无需大模型先去向量数据库里检索找出与“财务、报表、利润”最相关的 3-5 个工具。框架只把这几个被选中的工具的 JSON Schema 动态注入到当前的提示词中再交由大模型做最后的 Function Calling 决策。方案 2分层/多 Agent 架构Hierarchical Delegation不让一个大模型管所有的事而是采用“总管 专家”的模式。Router Agent总管只给它注入高层级的工具分类如[财务工具箱]、[日常办公工具箱]。Specialist Agent专家当总管判断当前任务属于财务时将任务指派给财务专家子 Agent。此时财务专家的提示词里只会注入具体财务相关的 5 个工具。四、 总结未来的主流架构回到最初的问题有了 tool我们还需要 MCP 吗答案是它们在未来是共存且融合的。你不需要在 LangGraph 和 MCP 之间二选一。在未来的复杂企业级 Agent 系统中你的架构大概率是这样的本地特异性工具对于那些只跟当前项目状态State紧密关联、逻辑简单的本地操作继续用 tool 定义图个方便快捷。企业基础设施与第三方生态比如公司内部的数据库查询、GitHub 企业版对接、或者复杂的文档解析器将它们做成MCP 外部服务。然后让你的 LangGraph 作为 MCP 客户端通过网络把这些外部工具动态拉进来。通过将Function Calling 作为核心大脑决策JSON Schema 作为沟通语言tool 解决本地敏捷开发MCP 解决跨平台分布式生态我们才真正拥有了一个可扩展、高可用的生产级 AI Agent 架构。

相关文章:

从 @Tool 装饰器到 MCP,浅析大模型工具生态与 Function Calling 的底层逻辑

从 Tool 装饰器到 MCP,浅析大模型工具生态与 Function Calling 的底层逻辑 在开发 LLM Agent(大模型智能体)时,我们经常会遇到各种层出不穷的技术名词:Function Calling(函数调用)、JSON Schema…...

机器学习---监督学习入门实验全攻略(小白友好版)

新晋码农一枚,小编会定期整理一些写的比较好的代码和知识点,作为自己的学习笔记,试着做一下批注和补充,转载或者参考他人文献会标明出处,非商用,如有侵权会删改!欢迎大家斧正和讨论!…...

矩池云实战: 用Gemma 4 + Open WebUI打造你的私人OpenAI

在开源 AI 生态中,如何不依赖闭源 API,纯靠开源堆栈搭建出一套具备“深度思考(CoT)&原生多模态顶配开发环境? 答案是:Ollama Gemma-4-31B Open WebUI Ollama Gemma-4-31B Open WebUI 的真正核心价…...

架构测试方法体系:覆盖、验证与CHAM动态语义分析

一、引言:架构测试的三维框架 架构测试的独特挑战在于:它不仅要验证系统"做得对不对",更要验证"设计得对不对"。传统测试方法聚焦于代码层面的功能正确性,而架构测试关注的是结构合理性、组件交互正确性以及质量属性可达性。 根据测试目标的不同,架…...

2026年国内镜像站选择指南:一站接入GPT-5.5和主流AI模型

先交代一下背景。2026年的大模型格局已经变了——GPT-5.5、Claude、Gemini、Grok 各有各的强项,做项目的时候经常需要这个模型写代码、那个模型分析文档、再来一个做联网搜索。但问题是,国内想用上这些模型,光解决"能访问"就已经够…...

NotebookLM关键词提取结果不一致?权威测试报告揭示模型版本、文档编码、上下文窗口三重耦合陷阱

更多请点击: https://kaifayun.com 第一章:NotebookLM关键词提取 NotebookLM 是 Google 推出的基于用户文档构建的 AI 助手,其核心能力之一是自动从上传的文本中识别并提取关键语义单元——即关键词(Keywords)。这些关…...

AI智能体安全防御:从代码数据分离到多代理系统架构实践

1. 项目概述:当AI智能体成为攻击目标 最近和几个做AI应用落地的朋友聊天,大家不约而同地提到了同一个焦虑:模型能力越强,系统越复杂,心里反而越没底。一个能自主调用API、处理文件、联网搜索的智能体,一旦被…...

如何让抓取手机日志---ADB 从入门到实战:小米14日志抓包与连接详解

一、ADB 是什么? ADB 的全称是 Android Debug Bridge(安卓调试桥)。顾名思义,它就像一座桥梁,连接你的电脑和安卓手机。 Debug(调试):它的核心用途是帮助开发者调试应用、分析问题。…...

第一性原理缺陷计算准备:以氢掺杂氧化镓为例的VASP实践指南

1. 项目概述:从“掺杂”到“缺陷”的计算准备在半导体材料研究领域,尤其是宽禁带半导体,对材料进行掺杂以调控其电学、光学性质是核心课题之一。氧化镓(Ga2O3)作为一种新兴的超宽禁带半导体,因其在功率电子…...

智能电表:解锁智能照明精细化能耗管控新密码

摘要随着双碳政策深度落地与智慧楼宇数字化升级,智能照明已成为商业园区、市政道路、综合体的标配设施。传统机械式电表仅具备基础电量统计功能,存在数据滞后、精度不足、无分区计量、无异常监测等短板,无法适配现代照明多回路、多场景、长时…...

AI 大模型未来技术演进方向与应用发展趋势预判

引言:AI 技术快速迭代,未来已来AI 大模型技术正以超乎想象的速度迭代演进,从参数规模扩张到能力提升、从技术架构创新到应用场景拓展、从成本高企到普惠落地,每一次技术突破都在重塑产业格局、改变商业逻辑、影响生活方式。2026 年…...

中关村、首体院、京奥电竞三方签约,共探AI+电竞产学研一体化突破

AI电竞:三方签约开启产学研新篇在今日的大会上,中关村人工智能研究院、首都体育学院、京奥电竞(北京)科技有限公司举行了一场重量级的三方签约。中关村人工智能研究院专注于具有产业价值和颠覆意义的人工智能与交叉学科领域探索&a…...

内连接,左连接,右连接怎么区别开来?

区分这三种连接其实非常简单,核心就在于看**“谁的数据必须全部保留,谁的数据没有匹配就要被过滤掉”**。 为了让你彻底搞懂,我们可以把 user 表(用户)和 orders 表(订单)想象成两个班级&#x…...

全球首创 XR+AGV 融合技术,超元力 XR 黑暗乘骑无轨AGV开启星际探险新纪元

传统黑暗乘骑项目长期受困于"被动观影"模式:游客坐在固定轨道车上观看预设影片,缺乏互动性,复购率低。广东超元力文化科技有限公司推出的全球首创 XR 黑暗乘骑无轨 AGV 产品,以 XRAGV 融合技术为核心,将被动…...

【系统架构师-综合题(14)】数学与经济管理知识点

数学与经济管理这一章,表面上最不像“系统架构师”的章节,因为它看起来更像一组杂乱的应用题:有组合计数、有工程进度、有集合统计、有线性规划、有图论最短路、最大流、最小生成树、动态规划、指派问题,还有概率决策和匿名调查。…...

Java程序设计(第3版)第四章——成员变量的默认值

成员变量的默认值 1.成员变量和局部变量不同,对于成员变量而言,系统会为其分配一个默认值 2.默认值的规则同数组: 整数类型0 小数类型:0.0 布尔类型:false 字符类型:‘\u0000’(空字符) 引用类型&#xf…...

装上这个技能,让你的 OpenClaw 和 Hermes 变身私人旅行规划师

一句话说清楚给小龙虾和马装上 Voyago,以后你只需要说"帮我规划杭州两天一夜",它就会自动帮你查火车票、搜机票、找酒店、查门票、规划路线、搜小红书攻略、算预算,最终输出一份万字级的完整旅行方案——精确到每两个地点之间坐几号…...

可迪尔环境(DADAIR)造船喷涂废气治理项目验收,RTO蓄热燃烧炉厂家首选方案

在全球造船业向绿色低碳转型的浪潮中,VOCs治理成为一道绕不开的“必答题”。在船舶制造过程中,预处理线的调漆、喷漆、烘干环节会产生高浓度有机废气。选择一家技术过硬、经验丰富的造船喷涂废气治理厂家,是确保合规生产的关键。 近日&#x…...

两张图片拼接在一起中间有条白线

运行示例:给父元素设置font-size: 0;给图片设置display: block;都没用。 后面我换了一个图片就正常了。发现是图片本身的问题,单个看没任何问题,拼接后就会出现白线。 好像说是切的位置不是整数像素,出现 0.5 像素偏移就会出现。 …...

为Hermes Agent配置自定义Provider并接入Taotoken聚合模型服务

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为Hermes Agent配置自定义Provider并接入Taotoken聚合模型服务 Hermes Agent 是一款功能强大的智能体开发工具,它支持通…...

Gemini3.1Pro如何使用代码教程

概要Gemini 3.1 Pro是Google DeepMind于2026年2月推出的旗舰级多模态大语言模型。ARC-AGI-2得分77.1%,SWE-Bench Verified 80.6%,GPQA Diamond 94.3%,在推理能力和代码生成上相比前代有明显提升。本文面向开发者,从零开始讲解Gemi…...

3分钟部署OpenClaw最新版v2026.4.26指南,可视化小白可用操作简单

装OpenClaw这件事,说难不难,但真要踩到坑里也挺耽误时间的。今天把我踩过的几个坑整理出来,给大家省点排查时间。 下载地址:https://top.wokk.cn,有详细版本说明可以先看一下。 坑1:PowerShell执行策略拦路…...

Gemini3.1Pro攻克长文本quot;迷失中间quot;难题

长上下文“迷失在中间”的缓解策略:Gemini 3.1 Pro 的可验证工程路径(不靠玄学,只看指标闭环)长上下文的一个经典难题是“迷失在中间”:模型并非简单地把信息“看不见”,而是当关键证据位于输入中间区域时&…...

2026 SSH工具推荐:不装传统面板,还有什么更适合管理 Linux 服务器?

这几年很多人选 SSH 工具,已经不只是为了“远程登上服务器敲命令”。 真正常见的需求其实是:连上服务器之后,还要继续完成文件管理、服务部署、HTTPS 配置、站点检查,甚至多台 VPS 的统一管理。 也正因为这样,到了 202…...

Android 四大组件之 Service

一、Service:没有界面的"长跑选手" 如果说 Activity 是用户能看到的"页面",那么 Service 就是看不见的"长跑选手"——它在后台默默工作,不与用户直接交互。 它适合执行那些用户不需要直接看着、又要持续一段…...

金仓数据库KingbaseES自动创建表空间目录:简化运维,适配国产生态

目录 一、前言:传统表空间创建的运维痛点 二、自动创建表空间目录核心方案 2.1 核心控制参数 2.2 功能强制约束条件 2.3 多场景实操测试(含大小写混合路径) 场景1:目标目录已存在 场景2:目标目录部分存在 场景…...

昇腾CANN ops-blas 仓:GEMM 算子的高性能实现

前言 矩阵乘法是深度学习里最核心的操作,没有之一。Transformer 的 Attention 要做 QK.T 和 PV,FFN 要做两 个 MatMul。GEMM(General Matrix Multiply)就是专门优化矩阵乘的算子。ops-blas 仓是 CANN 的线性代数基础算子库&#x…...

2026 AI搜索迭代下的获客革新:SEOGEO双引擎战略落地实战方案

2026 AI搜索迭代下的获客革新:SEO&GEO双引擎战略落地实战方案摘要:2026年生成式AI全面渗透搜索场景,传统关键词SEO流量遭遇结构性下滑,零点击搜索成为行业常态。本文以泉州本地中小企业数字化服务场景为依托,深度剖…...

机械/土木 专业是否可以转嵌入式?

机械专业是否可以转嵌入式?总有人担心 “我学机械的能转嵌入式吗?”答案是:完全可以!连学土木工程的,我都带出了好几个成功转行嵌入式的! 干机械的甚至比纯 电子 / 计算机的 更有优势 !📌 为什么机械转嵌入…...

武林外传十年之约手游官网下载:武林外传十年之约最新官方下载渠道

《武林外传十年之约》又名《武林外传手游》《武林外传怀旧版》《武林外传正版复刻》,由安徽游昕联合忆往游戏运营的正版武侠 MMORPG 手游。1:1 复刻同福客栈、七侠镇、五霸岗、十八里铺等经典场景,完美还原枪豪、剑客、术士、医师四大职业体系&#xff0…...