资讯

函数调用是什么?让大模型学会调用外部工具和接口

2026-11-052 分钟阅读百科
TL;DR函数调用(Function Calling)在大模型领域指模型根据用户需求,按照预先定义的函数说明,输出要调用的函数名和结构化参数,由程序实际执行后再把结果交还给模型,是大模型连接外部工具、数据和 API 的基础能力。

函数调用(Function Calling)在编程中是一个基本概念,指程序在执行过程中调用一个已经定义好的函数来完成特定的任务。在大语言模型领域,它有了新的含义:指的是让大模型连接外部工具的能力,从而有效地使用工具、与外部的 API 交互。OpenAI 在 2023 年 6 月为 GPT-4 和 GPT-3.5 等模型推出了函数调用功能,此后它成为几乎所有主流大模型的标配能力,也常被称为工具调用(Tool Use)。

为什么需要它

大模型本身只能生成文字,它的知识来自训练数据,不知道今天的天气、你的日程安排,也无法真正去发送一封邮件、查询数据库或预订机票。函数调用让大模型能够“动手”:当它判断需要借助外部工具时,就请求调用相应的函数,由程序去实际执行,再把结果告诉它。

它是怎么工作的

以查询天气为例,整个过程大致是这样的:第一步,开发者向模型描述有哪些可用的函数,比如一个叫“查询天气”的函数,说明它的作用,以及需要哪些参数,比如城市名称和日期,通常用 JSON 格式描述。第二步,用户问“明天北京会下雨吗”。模型理解后,判断需要调用查询天气的函数,于是不直接回答,而是输出一个结构化的调用请求:函数名是查询天气,参数是城市“北京”、日期“明天”。第三步,开发者的程序收到这个请求后,实际调用天气服务的接口,拿到天气数据。第四步,程序把结果返回给模型,模型再根据这个结果,用自然语言回答用户:“明天北京有小雨,记得带伞。”

关键在于:模型本身并不执行函数,它只负责判断“要不要调用、调用哪个、参数是什么”,真正的执行由外部程序完成。模型经过专门的训练,能够输出格式严格正确的参数,便于程序解析。

它的意义

函数调用是大模型从“聊天”走向“干活”的关键一步,是构建 AI 智能体的基础。借助它,大模型可以查询实时信息、操作数据库、调用计算器和代码执行、控制智能家居、操作各种软件和业务系统。一次任务中,模型还可以连续调用多个工具、根据前一个工具的结果决定下一步,完成复杂的多步骤任务。后来推出的模型上下文协议(MCP),进一步统一了大模型连接各种工具和数据源的方式。

注意事项

让模型调用能产生实际后果的函数时,需要注意安全:比如付款、删除数据、发送消息等敏感操作,应该在执行前让用户确认;还要防范外部内容中藏有恶意指令,诱导模型调用不该调用的工具。

相关话题与公司