小白程序员必看:掌握Function Call、MCP、ReAct、Skills,解锁大模型实用技能(收藏版)
大语言模型虽能生成文本但存在知识截止和无法执行的问题。Function Call技术通过让模型输出结构化JSON声明所需函数调用由宿主程序执行并反馈结果使模型具备实时信息获取和执行能力。文章深入解析了Function Call、MCP、ReAct、Skills四大技术如何协同工作实现大模型的实用化适合想要学习大模型应用开发的程序员参考。一、Function Call从「能说」到「能做」的第一步1.1 它解决了什么问题大语言模型的本质是一个文本续写器——给它一段文字它预测下一段最合理的文字。这意味着它天生有两个致命缺陷缺陷一知识截止— 训练数据有截止日期无法获取实时信息缺陷二无法执行— 它能说该怎么做但不能真正去做Function Call 的核心思想很简单让模型不仅输出文字还能输出一段结构化的 JSON声明我需要调用某个函数。宿主程序拦截这个 JSON执行对应的函数再把结果喂回模型。1.2 技术细节一次 Function Call 到底发生了什么图Function Call 完整执行序列上图展示了一次完整的 Function Call 流程。关键技术点在于工具定义Tool Schema每个可调用的函数都用 JSON Schema 描述其参数类型和含义。这是模型理解工具能力的基础{ name: get_weather, description: 查询城市天气, parameters: { type: object, properties: { city: {type: string, description: 城市名}, date: {type: string, description: 日期, YYYY-MM-DD} }, required: [city] } }模型的决策过程模型并不是简单地关键词匹配来决定调用哪个函数。它会\1. 理解用户意图的语义不是匹配关键词\2. 从所有可用工具中选择最匹配的可能选零个、一个或多个\3. 根据上下文推断缺失参数如用户没说日期推断为今天\4. 生成严格符合 JSON Schema 的参数对象1.3 演进从单次调用到并行调用2023 年 Function Call 刚出来时只支持单次调用模型一轮只能调一个函数。到 2024 年底主流模型已支持并行函数调用Parallel Tool Use——模型可以在一轮中同时请求调用多个函数宿主程序并行执行后统一返回结果。这大幅提升了复杂任务的效率。比如用户问「北京和上海今天天气对比」模型会同时发出两个 get_weather 调用而不是串行执行两次。但 Function Call 本质仍是一次性的、无状态的。要让模型能自主完成多步骤任务——比如先搜索资料再写文章最后发布——需要更高级的编排模式。二、ReAct让大模型学会「边想边做」2.1 论文核心为什么要同时推理和行动2022 年普林斯顿的 Yao 等人发表了开创性的论文《ReAct: Synergizing Reasoning and Acting in Language Models》。他们发现了一个关键洞察纯推理Chain-of-Thought模型能想得很深但容易幻觉——因为它只在自己的知识里打转无法验证想法。纯行动Act-only模型能调用工具但缺乏规划——它不知道为什么要调这个工具也不知道拿到结果后下一步该做什么。ReAct 让推理指导行动让行动结果修正推理。图ReAct 推理-行动循环流程2.2 一个完整的 ReAct 执行过程以「查询苹果公司最新市值并与微软对比」为例看 ReAct 循环如何运作[Thought 1] 用户想对比苹果和微软的市值。 我需要分别查询两家公司的最新市值数据。 先查苹果。 [Action 1] search_web(Apple Inc market cap 2026) [Observation 1] 苹果市值约 3.8 万亿美元2026 年 4 月 [Thought 2] 拿到了苹果的数据。 现在需要查微软的市值才能做对比。 [Action 2] search_web(Microsoft market cap 2026) [Observation 2] 微软市值约 3.4 万亿美元2026 年 4 月 [Thought 3] 两个数据都有了。 苹果 3.8 万亿 vs 微软 3.4 万亿, 苹果领先约 11.8%。 可以给出最终答案了。 [Final Answer] 截至 2026 年 4 月苹果市值约 3.8 万亿...2.3 ReAct 的三个关键设计决策设计决策作用如果缺失会怎样Thought 可见推理过程写入上下文指导后续决策模型重复调用相同工具陷入死循环Observation 注入真实数据取代模型的猜测模型依赖训练数据产生过时信息循环终止条件模型自主判断何时该停止无限循环消耗 token 和时间2.4 2026 年的 ReAct 演进到 2026 年ReAct 已经从单 Agent 模式扩展为更复杂的架构Plan-and-Execute先用一个规划 LLM 生成完整计划再用执行 LLM 逐步实施。比 vanilla ReAct 更适合长任务。Reflexion在 ReAct 循环外增加反思环节——任务完成后回顾整个过程提炼经验下次做得更好。Multi-Agent ReAct多个 Agent 各自运行 ReAct 循环通过 A2A 协议协作主 Agent 负责拆解和汇总。三、MCP标准化一切工具连接3.1 Function Call 的碎片化困境Function Call 虽好但带来了一个严重的工程问题每个 AI 应用都需要自己实现工具接入。假设你的 AI 应用要接 5 个工具搜索、文件、数据库、浏览器、日历如果市场上有 3 个 AI 应用Claude Desktop、VS Code AI、自研系统那就是 5 x 3 15 个独立的接入实现。每加一个工具或一个应用整个矩阵都要扩展。这就是经典的M x N 问题。HTTP 协议解决了 Web 的 M x N 问题USB 解决了硬件外设的 M x N 问题——AI 工具连接需要自己的 USB。3.2 MCP 的架构设计图MCP 三层协议架构MCPModel Context Protocol由 Anthropic 在 2024 年底提出并开源其核心设计分为三层第一层传输层stdio 模式MCP Server 作为子进程运行通过标准输入/输出通信。最简单、最安全适合本地工具。HTTP SSE 模式MCP Server 作为独立 HTTP 服务运行支持远程连接。适合共享型工具如数据库、云服务。两种模式上层协议完全一致切换无需改代码。第二层协议层JSON-RPC 2.0MCP 复用了成熟的 JSON-RPC 2.0 协议而不是发明新轮子。核心方法initialize— 握手协商双方能力tools/list— 列出 Server 提供的所有工具tools/call— 调用指定工具并传参resources/read— 读取数据资源第三层能力层三大原语原语说明谁控制Tools可执行的函数如查天气、写文件模型主动调用Resources可读取的数据源如文件内容、DB 记录应用程序控制Prompts预定义的交互模板如代码审查流程用户选择触发3.3 一个 MCP Server 长什么样from mcp.server import Server from mcp.types import Tool, TextContent app Server(weather-server) app.list_tools() async def list_tools(): return [Tool( nameget_weather, description查询城市天气, inputSchema{ type: object, properties: { city: {type: string} } } )] app.call_tool() async def call_tool(name, arguments): if name get_weather: result await weather_api.query(arguments[city]) return [TextContent(textjson.dumps(result))] # 启动后任何 MCP 客户端都能自动发现并调用 app.run(transportstdio)写一次 MCP Server就能被 Claude Desktop、VS Code Copilot、Cursor、以及任何支持 MCP 的应用调用。这就是协议标准化的力量——M x N 降为 M N。3.4 MCP 生态爆发截至 2026 年 4 月MCP 生态已经覆盖文件与代码filesystem、Git、GitHub、GitLab数据库PostgreSQL、MySQL、SQLite、MongoDB浏览器Puppeteer、Playwright、Browser MCP设计工具Figma、Pencil本文的架构图就是通过 MCP 驱动 matplotlib 生成的云服务AWS、GCP、Cloudflare、Docker… 以及数千个社区贡献的 Server四、Skills可复用的能力封装4.1 为什么需要 Skills有了 Function Call ReAct MCP模型已经能自主调用工具完成任务。但在实际部署中我们会发现一个问题同样的工具组合 同样的流程在不同场景下反复出现。比如发布一篇微信公众号文章这个任务每次都涉及1. 搜索素材调用 search MCP Server 2. 撰写文章调用 LLM 自身能力 3. 排版转 HTML调用 formatter 工具 4. 生成配图调用 image generation MCP Server 5. 发布到公众号调用 wechat-publish API 6. 检查发布结果验证步骤如果每次都靠 ReAct 从零推理这个流程不仅慢每步都要思考还不稳定可能遗漏步骤或顺序出错。Skill 经验的固化。它把我已经知道怎么做这件事封装起来已验证的工具组合 固定的执行流程 特定领域的知识 一个可复用的能力单元。4.2 Skill 的技术构成一个 Skill 通常包含四个部分组成部分说明Prompt 模板告诉 Agent 你现在的角色是XXX你需要完成XXX的系统提示词工具清单这个 Skill 需要哪些 MCP Server 和 Tools执行脚本可选的确定性流程代码不是所有步骤都需要 LLM 推理领域知识特定领域的规则和约束如微信会剥离 style 标签必须用内联样式4.3 Skill vs Prompt vs Agent这三个概念容易混淆区分如下Prompt一段静态的指令文本。没有工具没有流程没有执行能力。类比一张「菜谱」。SkillPrompt 工具 流程 知识的打包。可被 Agent 激活和执行。类比一个「训练有素的厨师」。Agent拥有多个 Skills、能自主决策调用哪个 Skill 的完整实体。类比一个「餐厅经理」。五、四层协同完整的 Agent 技术栈图AI Agent 四层协同架构现在把四者放在一起看。当你对 AI 说**「帮我调研 AI Agent 趋势写篇公众号文章发布」**时一个完整的 Agent 内部是这样运作的Step 1 - Skills 层Agent 识别到这是一个调研写作发布任务激活 research-to-wechat Skill。Step 2 - ReAct 层Skill 启动 ReAct 循环。Thought: “先搜索 AI Agent 2026 相关资料”。Step 3 - MCP 层ReAct 决定调用搜索工具通过 MCP 协议连接搜索 Server发送 tools/call 请求。Step 4 - Function Call 层search_web(“AI Agent 2026 trends”) 被实际执行返回搜索结果。Step 5 - ReAct 层Observation 接收结果。Thought: “资料足够开始写文章”。Step 6 - MCP 层连接图表生成 Server生成架构图。Step 7 - Function Call 层matplotlib 渲染图表返回图片数据。Step 8 - ReAct 层Thought: “文章和图表就绪调用发布 API”。Step 9 - Function Call 层POST wechat-publish API返回发布成功。Step 10 - Skills 层Skill 执行完毕向用户报告结果。这个例子不是假设——你正在阅读的这篇文章就是这个架构的实际产物。本文的架构图由 matplotlib MCP 工具生成内容由 ReAct 循环驱动搜索和写作最终通过微信发布 API 的 Function Call 推送到你的屏幕上。六、对比与思考6.1 四者关系一张表维度Function CallMCPReActSkills层级执行层协议层编排层能力层粒度单次调用连接标准多步循环完整流程类比手指神经系统大脑肌肉记忆有无状态无状态有连接状态有推理状态有领域知识可否独立使用可以需要工具需要工具需要 Agent6.2 安全问题不可忽视当 AI 从只会说话进化到能调工具、能自主循环、能执行多步任务时安全威胁面也发生了本质变化Prompt 注入升级恶意内容可以通过工具返回值如网页内容、文件内容注入到 Agent 的上下文中劫持后续行为。权限扩散Agent 具备文件读写、API 调用等能力后一次误操作的影响范围远大于纯文本对话。Tool Confusion恶意 MCP Server 可能伪装成正常工具窃取用户数据或执行恶意操作。目前的应对方案包括MCP 的能力协商机制Server 声明权限边界、Agent 的人工审批节点关键操作需用户确认、以及沙箱化执行环境。但这仍是一个快速演进的领域。写在最后Function Call 让模型长出了手指MCP 为这些手指接通了神经系统ReAct 赋予了大脑边想边做的能力Skills 则沉淀下肌肉记忆。四者的融合正在把 AI 从「被动回答问题的工具」变成「主动解决问题的助手」。而这个转变不是发生在未来——你手中的这篇文章就是它今天的作品。最后对于正在迷茫择业、想转行提升或是刚入门的程序员、编程小白来说有一个问题几乎人人都在问未来10年什么领域的职业发展潜力最大答案只有一个人工智能尤其是大模型方向当下人工智能行业正处于爆发式增长期其中大模型相关岗位更是供不应求薪资待遇直接拉满——字节跳动作为AI领域的头部玩家给硕士毕业的优质AI人才含大模型相关方向开出的月基础工资高达5万—6万元即便是非“人才计划”的普通应聘者月基础工资也能稳定在4万元左右。再看阿里、腾讯两大互联网大厂非“人才计划”的AI相关岗位应聘者月基础工资也约有3万元远超其他行业同资历岗位的薪资水平对于程序员、小白来说无疑是绝佳的转型和提升赛道。对于想入局大模型、抢占未来10年行业红利的程序员和小白来说现在正是最好的学习时机行业缺口大、大厂需求旺、薪资天花板高只要找准学习方向稳步提升技能就能轻松摆脱“低薪困境”抓住AI时代的职业机遇。如果你还不知道从何开始我自己整理一套全网最全最细的大模型零基础教程我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的大模型学习资源希望能帮到你。扫码免费领取全部内容1、大模型学习路线2、从0到进阶大模型学习视频教程从入门到进阶这里都有跟着老师学习事半功倍。3、 入门必看大模型学习书籍文档.pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里4、AI大模型最新行业报告2026最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5、面试试题/经验【大厂 AI 岗位面经分享107 道】【AI 大模型面试真题102 道】【LLMs 面试真题97 道】6、大模型项目实战配套源码适用人群四阶段学习规划共90天可落地执行第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容3、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】