LLM工具调用(Function Calling、MCP、Skill、CLI的区别)
2026/8/6 20:40:21 网站建设 项目流程
什么是Function Calling?原理是什么

工具定义使用JSON Schema描述,description字段是LLM判断是否调用的核心依据;运行时是「两轮对话+中间执行」的闭环流程;模型通过finish_reasontool_calls来明确告知需要工具帮助;以及模型支持一次返回多个tool_calls实现并行调用。

  • LLM全程只负责决策,输出结构化的JSON调用请求,真正执行工具的是宿主程序代码,这个职责分工是整个机制的核心设计。
  • Function Calling的关键改进是LLM直接输出结构化JSON而非自然语言,让工具调用有了统一标准。
LLM是如何学会调用外部工具的?

SFT通过大量包含完整工具调用流程的对话样本,让模型学会识别工具定义、判断要不要调用、输出规范JSON的整套流程;RLHF通过人类打分训练奖励模型,再让强化学习调整主模型,让它建立「能直接回答就不调用工具」的边界感。另外运行时的Function Calling机制,模型只负责决策输出JSON,代码负责执行。

训练层面靠两个阶段:

  • SFT(监督微调):给模型喂入大量「工具调用示范对话」,让它通过模仿学会「看到工具描述→判断要不要调用→输出结构化JSON请求」整套流程
  • RLHF(基于人类反馈的强化学习):收集人类对「哪种回答更好」的判断,训练一个打分器,再用这个分数反复调整模型,让它学会什么是否不应该调用工具

运行层面,在每次调用请求时,应用代码将工具描述(Schema)传给模型,模型如果判断需要工具,就结构化输出一个tool_calls JSON;代码拿到这段JSON去真正执行,把结果塞回对话,模型再给出最终答案。

MCP协议

Function Calling解决的是「模型怎么输出结构化的工具调用请求」,而MCP解决的是「工具怎么标准化接入、一次实现到处复用」,两者是不同层面的东西。MCP是开放协议,任何支持MCP的客户端都可以接入。MCP不是Function Calling的替代品,而是建立在Function Calling之上的。

MCP解决的工具接入碎片化问题,每接入一个新工具都要单独写对接代码,换个客户端又得重写。MCP是Client-Server架构,Server是工具实现方,Client是AI应用侧,一个Client可以连接多个Server。

MCP核心能力:Tools是有副作用的操作(需要授权),Resources是只读数据(无副作用),Prompts是可复用的提示词模板。

底层通信使用JSON-RPC 2.0,传输层支持Stdio(本地)和Streamable HTTP(远程)两种方式。

MCP和CLI

MCP获取到数据会被完整输入LLM的上下文窗口中,提供给模型读取和理解,上下文窗口的大小是有限的,当数据量比较大时会撑爆窗口,导致模型无法处理而报错或中断回答。

MCP 的通信机制和 LLM 的架构限制:

  • 上下文窗口是瓶颈
  • 数据溢出会导致错误
  • 累积效应加剧问题

为什么换成“脚本”就没问题?

CLI脚本可以绕过MCP的问题,核心是改变了数据流向:

  • MCP数据流入模型:数据被拉进LLM上下文窗口,成为模型思考的一部分,大数据会直接撑爆窗口导致失败
  • 脚本数据留在外部:脚本在模型外部执行,数据被处理后,只把精简的结果(如一个路径、一个简短摘要)返回给模型,模型只需要处理少量文本,避免了窗口溢出的风险。

工程最佳实践:

  1. MCP Server要优化返回数据,只返回必要字段或摘要
  2. 对于大数据,MCP Server 可以提供“先检索、再按需获取”的工具组合。先用工具A找到目标,再用工具B获取特定部分
  3. 可以在 MCP Client(如 Claude Desktop)和 Server 之间加一个代理层(Proxy),自动拦截大响应,存到外部存储,只返回一个摘要和ID给模型,模型后续可以再通过特定工具按需获取详情
  4. 将 MCP 工具调用的结果缓存起来,当模型再次需要相同数据时,可以直接从缓存读取,避免重复调用和上下文污染

MCP 不是银弹,它只是桥梁。

真正的高级用法,是不要让模型去“看”数据,而是让模型去“指挥”工具处理数据

把模型当成大脑,把 MCP 工具当成手脚。大脑不需要记住身体的每一个细胞,只需要能指挥手脚去拿东西即可。

为什么有些特定的模型不支持MCP协议?

推理模型的思考链是一次性连续生成的,不能中途打断;工具调用天然需要在生成过程中暂停等待外部执行,这和连续生成的范式冲突;MCP底层依赖于Function Calling,推理模型连Function Calling都支持不好,MCP自然也使用不了。

但时候后续模型迭代中采用了折中方案,在保证推理质量和支持工具调用之间找平衡点。就是让工具调用发生在思考阶段结束后,保证思考过程仍然完整连续;后续还有允许在多次工具调用之间穿插思考,部分缓解了局限。

Agent Skill

Agent Skill是一个能力包,本质是一个包含指令、脚本和资源的文件夹。它的核心是完成特定任务的复杂流程、专业知识和最佳实践,封装成AI可以随时查阅和执行的操作手册。Agent能自动发现它、按需加载它、在需要时调用里面的脚本和资源。它不只是存prompt,而是一份Agent能自己翻阅的操作手册和工具箱。每个skill都是一个文件夹,里面有skill.md指令文件,可以带上脚本、模板、参考文档等资源。

和Prompt的区别:Skill能被Agent自动发现和按需加载,不能每次手动输入

和MCP工具的区别:MCP给Agent提供外部工具和数据的访问能力,而Skill教Agent拿到这些工具和数据后该怎么使用。

Skill具有渐进式加载设计,三层加载机制(只读元数据→按需加载指令→用到时才读取资源)

Prompt、Tool和Agent Skill的区别

  • Tool 和 Skill 互补,不冲突:Tool 是「能做什么」,Skill 是「该按什么流程做 」。给新人配了电脑和所有权限(Tool),他也不知道怎么完成代码审查(需要 Skill)。
  • Skill ≠ 保存好的 Prompt:Skill 多了「自动发现」「按需加载」「配套脚本模板」「团队复用」这四样东西。把它当 prompt 文件夹理解就对了。
  • Skill vs CLI:两者都打包指令,但 CLI 必须手动输入/code-review触发;Skill 是 Agent 看到任务后自己判断「这个需要code-review」然后主动加载。

学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!​

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示

​因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

四、AI大模型商业化落地方案

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询