尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

什么是 LLM 的工具调用(Function Calling)能力?它是如何被训练出来的?

什么是 LLM 的工具调用(Function Calling)能力?它是如何被训练出来的? 什么是 LLM 的工具调用Function Calling指模型在对话中主动决定调用某个外部工具/函数并输出结构化的调用请求函数名 参数而不是直接给出最终答案。典型流程系统提示词里提供工具清单函数名、参数 schema、用途说明模型判断当前需要外部信息/操作时输出一个tool_call如{name:search_db,arguments:{sql:...}}框架解析并执行该工具把结果回填给模型模型基于工具结果继续推理直到给出最终回答关键点工具调用是模型自主决策不是硬编码且输出是结构化 JSON可被程序解析执行。它让 LLM 从只会说话变成能做事——查库、调 API、发邮件、执行代码。它是如何被训练出来的工具调用不是模型天生就会的而是通过多阶段训练习得核心是让模型学会何时调用 如何正确填参1. 预训练Pretraining模型在海量文本中学会了函数签名、API 文档、JSON 语法等基础语言模式为后续理解工具 schema 打底但此时并不会主动调用。2. 监督微调SFT用人工/自动构造的对话→工具调用样本微调给定用户请求 工具清单标注正确的tool_call选哪个函数、填什么参数。让模型学会识别需要外部信息的场景、匹配正确的工具、生成合法参数 JSON。数据来源人工标注、从真实 API 调用日志构造、用更强模型合成distillation。3. 偏好对齐RLHF / DPO / RLVR用奖励模型或可验证奖励如参数是否合法“是否调对了工具”“最终任务是否成功”对模型做强化学习。让模型学会权衡什么时候该调用避免过度调用或该调不调、参数填得准、调用失败后如何恢复。近年常用RLVR可验证奖励强化学习直接以工具执行是否成功、结果是否正确作为奖励信号显著提升工具调用的准确率。4. 工具调用数据的关键设计多工具选择从多个候选工具中选对的那个参数填充从用户输入/上下文抽取正确参数值多轮工具循环调用→看结果→再决策ReAct 式轨迹错误恢复工具报错后如何重试/降级一句话工具调用能力 预训练打底懂函数/JSON 语法 SFT 教会何时调用、怎么填参 RLHF/RLVR 教会调得准、调得稳。它把模型从生成文本升级为生成可执行的结构化动作是 Agent 能闭环执行任务的核心能力。
返回列表