
1. 题目分析这道题看起来在问LLM 怎么调工具但面试官真正考察的深度远不止于此。他想看你是否理解 Tool Use 背后的完整技术链路——从模型层面怎么让 LLM 知道有哪些工具可用到推理层面LLM 怎么决定用哪个工具、传什么参数再到系统层面工具调用结果怎么回传给 LLM 继续推理。如果你只能说出把工具描述写在 prompt 里让模型输出 JSON那最多算及格能讲清楚 Function Calling 的原生机制、Prompt 工程方案、以及微调方案这三条路线的区别和适用场景才算真正有深度。1.1 LLM 为什么需要工具在讨论怎么调工具之前先要搞清楚为什么要调工具。LLM 本质上是一个基于海量文本训练出来的语言模型它的能力边界由训练数据决定。这意味着它天生有几个硬伤第一知识有截止日期训练数据之后发生的事情它不知道第二不擅长精确计算比如让它算 1234×5678 它大概率算不对第三无法与外部系统交互它不能发邮件、查数据库、调 API。工具调用Tool Use就是为了弥补这些硬伤而设计的。通过让 LLM 学会在需要的时候调用外部工具——搜索引擎、计算器、数据库、第三方 API 等——它的能力就从只能说扩展到了能说也能做。这也是 Agent 和普通 Chatbot 的本质区别之一。但这里有一个关键的认知要先建立LLM 并不是真的在执行工具调用。LLM 做的事情只有一件——生成文本。所谓的调用工具实际上是 LLM 生成了一段结构化的文本比如一个 JSON表达我想调用某个工具参数是什么然后由外部的运行时系统Agent Runtime / Orchestrator来解析这段文本、真正执行工具调用、获取结果、再把结果喂回给 LLM。LLM 在这个过程中扮演的是决策者而非执行者的角色。理解了这一点后面讲的所有方案就都好理解了——它们本质上都是在解决同一个问题如何让 LLM 准确地生成符合格式要求的工具调用指令1.2 Function CallingFunction Calling 是目前最主流、效果最好的工具调用方案由 OpenAI 在 2023 年 6 月率先推出随后各大模型厂商Anthropic、Google、国内的通义千问、智谱等都跟进支持了。Function Calling 的核心思路是**在模型训练阶段就让模型学会什么时候该调工具、怎么生成调用参数**而不是仅仅靠 prompt 在推理阶段去引导。具体来说模型厂商在训练数据中加入了大量的工具调用样本——这些样本告诉模型当用户问到这类问题时你应该输出一个特定格式的工具调用请求。经过这种训练后模型原生就具备了工具调用的能力。在使用时开发者需要在 API 请求中通过tools参数传入可用工具的定义每个工具定义包括工具名称、功能描述、以及参数的 JSON Schema。比如{ tools: [{ type: function, function: { name: get_weather, description: 获取指定城市的当前天气信息, parameters: { type: object, properties: { city: { type: string, description: 城市名称如北京 } }, required: [city] } } }] }当模型判断需要调用工具时它不会输出普通的文本回复而是输出一个结构化的tool_calls对象里面包含要调用的函数名和参数值。比如{name: get_weather, arguments: {city: 北京}}。开发者的代码接收到这个对象后执行实际的 API 调用拿到结果再把结果以tool类型的消息追加到对话历史中发送给模型进行下一轮推理。Function Calling 的优势非常明显因为是模型训练阶段内化的能力所以格式稳定性极高几乎不会出现 JSON 解析错误的情况同时模型对什么时候该调工具、什么时候不该调的判断也更准确能很好地处理不需要工具直接回答和需要工具辅助之间的切换。而且现在主流模型都支持并行工具调用——一次推理同时调用多个工具大幅提升效率。1.3 Prompt Engineering在 Function Calling 出现之前或者对于不支持 Function Calling 的模型开发者主要依靠精心设计的 Prompt来引导 LLM 生成工具调用指令。这也是 ReAct 框架最初采用的方案。具体做法是在 System Prompt 中详细描述每个可用工具的名称、功能和使用格式并通过 few-shot 示例教模型按照固定格式输出工具调用指令。比如你可以使用以下工具 1. search(query: str) - 在互联网上搜索信息 2. calculator(expression: str) - 计算数学表达式 3. database_query(sql: str) - 执行 SQL 查询 当你需要使用工具时请严格按照以下格式输出 Action: 工具名 Action Input: 参数值 示例 用户2023年中国GDP是多少 Thought: 我需要搜索最新的中国GDP数据 Action: search Action Input: 2023年中国GDP总量系统在接收到 LLM 的输出后通过正则表达式或字符串解析来提取 Action 和 Action Input然后执行对应的工具调用。这种方案的优势是灵活性极高——不依赖模型厂商的特定 API任何模型都能用而且工具的定义和格式完全由开发者控制。但劣势也很明显格式稳定性差。模型毕竟是在做自由文本生成它不一定每次都严格遵守你定义的格式——有时候会在 Action 前面多写几句话有时候参数格式不对有时候干脆忘了用工具直接瞎编答案。这在工程上需要大量的容错处理和重试逻辑。从实际项目经验来看Prompt 方案适合两种场景一是模型不支持 Function Calling 时的降级方案二是需要高度定制化的工具调用格式时比如 ReAct 的 Thought-Action-Observation 格式本身就承载了推理链信息这是标准 Function Calling 不容易做到的。1.4 微调训练如果你使用的是开源模型如 LLaMA、Qwen、ChatGLM 等而且需要非常稳定的工具调用能力还有一条路是对模型进行微调让它从训练层面学会工具调用。微调的核心思路是构建大量的工具调用训练样本每个样本包含用户输入 可用工具列表 → 模型应该输出的工具调用指令然后用这些数据对模型做有监督微调SFT。训练数据的质量和多样性决定了微调效果的上限——数据需要覆盖需要调工具和不需要调工具两种场景也需要覆盖单工具调用和多工具调用的情况。这个方向上有几个有代表性的工作Gorilla是 UC Berkeley 的研究专门针对 API 调用场景做了微调在大量真实 API 文档上训练使模型能够根据 API 文档准确生成调用代码ToolLLM则构建了一个包含 16000 真实 API 的大规模工具调用数据集并在此基础上微调出了 ToolLLaMA还有Qwen-Agent等国内的方案通义千问模型本身就在训练中融入了 Function Calling 能力。微调方案的优势是可以深度定制——你可以让模型学会调用你业务特有的工具集甚至学会处理复杂的多工具编排逻辑。劣势是成本高需要构建高质量的训练数据、消耗 GPU 资源训练、还需要持续维护和更新。1.5 工具描述的设计不管使用哪种方案有一个环节对工具调用成功率的影响非常大但经常被低估——那就是工具描述Tool Description的质量。LLM 是根据工具的描述文本来理解这个工具能做什么、什么时候该用它的。如果描述写得模糊或歧义模型就可能在不该调工具的时候调了或者该调的时候没调或者调了错误的工具。一个好的工具描述应该包含功能的精确描述这个工具做什么不做什么、参数的清晰说明每个参数是什么含义、什么类型、有什么约束、以及使用场景的边界什么情况下该用这个工具什么情况下不该用。在实际项目中我们经常需要反复迭代工具描述的措辞这跟调 prompt 是一样的道理——本质上它就是 prompt 的一部分。另外一个工程上的重要考量是工具数量的控制。当可用工具数量很多时比如超过 20 个全部塞进上下文会消耗大量 token而且模型在太多工具中做选择时准确率会下降。常见的解决方案是做工具检索——先用 embedding 相似度或者分类模型从全量工具库中筛选出与当前任务最相关的几个工具只把这些工具的描述传给模型。这本质上就是对工具列表做了一次 RAG。1.6 MCP 协议最后值得一提的是工具调用领域一个重要的标准化趋势——MCPModel Context Protocol模型上下文协议。MCP 由 Anthropic 在 2024 年底提出它试图解决的问题是目前每个模型厂商的 Function Calling 接口格式不一样每个工具的接入方式也各不相同导致开发者在切换模型或接入新工具时需要大量的适配工作。MCP 定义了一套标准化的协议让 LLM 和外部工具之间的交互有了统一的语言。你可以把它理解为工具调用领域的USB 接口——有了这个标准任何符合 MCP 协议的工具都可以即插即用地接入任何支持 MCP 的模型或 Agent 框架大幅降低了集成成本。6在 MCP 的架构中有三个核心角色MCP Host使用工具的应用比如你的 Agent、MCP Client协议客户端负责和 Server 通信、以及MCP Server工具提供方把自己的 API 包装成 MCP 标准接口暴露出来。开发者只需要按 MCP 标准实现一次工具的 Server 端就可以被任何 MCP 兼容的 Agent 直接调用。2. 参考回答LLM 调用外部工具的核心原理首先要理解一个关键前提LLM 本身并不执行任何工具操作它做的事情只是生成一段结构化的文本指令表达我要调什么工具、传什么参数然后由外部的 Agent 运行时系统去解析指令、执行调用、把结果回传给 LLM 继续推理。理解了这个前提之后赋予 LLM 工具调用能力主要有三条技术路线。第一条是 Function Calling这是目前效果最好也最主流的方案OpenAI、Anthropic、通义千问等主流模型都原生支持。它的原理是在模型训练阶段就加入大量工具调用的样本数据让模型学会根据 tools 参数中的 JSON Schema 工具定义来判断何时需要调用工具并直接输出结构化的 tool_calls 对象格式稳定性非常高还支持并行调用多个工具。整个交互至少需要两次 LLM 调用——第一次决策要调什么工具并输出指令开发者代码执行实际调用拿到结果后再发起第二次调用让模型基于真实数据生成最终回答。第二条是 Prompt Engineering在模型不支持 Function Calling 时作为降级方案通过在 System Prompt 中描述工具列表和调用格式配合 few-shot 示例引导模型按固定格式输出然后用正则表达式解析。ReAct 框架最初就是这种方案灵活性高但格式稳定性差需要大量容错处理。第三条是微调训练针对开源模型在业务专用的工具调用数据上做 SFT像 Gorilla 和 ToolLLM 就是这个方向的代表工作。除了方案选择之外实际工程中工具描述的质量对调用成功率影响极大好的描述要精确定义功能边界和参数约束这和调 prompt 是一样的道理。工具数量多时还需要做工具检索——先用相似度筛选出相关工具再传给模型。最后值得关注的趋势是MCP 协议它定义了 LLM 和工具之间标准化的通信接口目标是让工具实现即插即用的生态互通是这个领域从碎片化走向标准化的重要一步。想入门 AI 大模型却找不到清晰方向备考大厂 AI 岗还在四处搜集零散资料别再浪费时间啦2025 年AI 大模型全套学习资料已整理完毕从学习路线到面试真题从工具教程到行业报告一站式覆盖你的所有需求现在全部免费分享扫码免费领取全部内容一、学习必备100本大模型电子书26 份行业报告 600 套技术PPT帮你看透 AI 趋势想了解大模型的行业动态、商业落地案例大模型电子书这份资料帮你站在 “行业高度” 学 AI1. 100本大模型方向电子书2. 26 份行业研究报告覆盖多领域实践与趋势报告包含阿里、DeepSeek 等权威机构发布的核心内容涵盖职业趋势《AI 职业趋势报告》《中国 AI 人才粮仓模型解析》商业落地《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》领域细分《AGI 在金融领域的应用报告》《AI GC 实践案例集》行业监测《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。3. 600套技术大会 PPT听行业大咖讲实战PPT 整理自 2024-2025 年热门技术大会包含百度、腾讯、字节等企业的一线实践安全方向《端侧大模型的安全建设》《大模型驱动安全升级腾讯代码安全实践》产品与创新《大模型产品如何创新与创收》《AI 时代的新范式构建 AI 产品》多模态与 Agent《Step-Video 开源模型视频生成进展》《Agentic RAG 的现在与未来》工程落地《从原型到生产AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。二、求职必看大厂 AI 岗面试 “弹药库”300 真题 107 道面经直接抱走想冲字节、腾讯、阿里、蔚来等大厂 AI 岗这份面试资料帮你提前 “押题”拒绝临场慌1. 107 道大厂面经覆盖 Prompt、RAG、大模型应用工程师等热门岗位面经整理自 2021-2025 年真实面试场景包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题每道题都附带思路解析2. 102 道 AI 大模型真题直击大模型核心考点针对大模型专属考题从概念到实践全面覆盖帮你理清底层逻辑3. 97 道 LLMs 真题聚焦大型语言模型高频问题专门拆解 LLMs 的核心痛点与解决方案比如让很多人头疼的 “复读机问题”三、路线必明AI 大模型学习路线图1 张图理清核心内容刚接触 AI 大模型不知道该从哪学起这份「AI大模型 学习路线图」直接帮你划重点不用再盲目摸索路线图涵盖 5 大核心板块从基础到进阶层层递进一步步带你从入门到进阶从理论到实战。L1阶段:启航篇丨极速破界AI新时代L1阶段了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理、关键技术以及大模型应用场景。L2阶段攻坚篇丨RAG开发实战工坊L2阶段AI大模型RAG应用开发工程主要学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3阶段跃迁篇丨Agent智能体架构设计L3阶段大模型Agent应用架构进阶实现主要学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造Agent智能体。L4阶段精进篇丨模型微调与私有化部署L4阶段大模型的微调和私有化部署更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。L5阶段专题集丨特训篇 【录播课】四、资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容2025 年想抓住 AI 大模型的风口别犹豫这份免费资料就是你的 “起跑线”