LLM 原生的“function calling”(函数调用)允许大语言模型自行决定何时执行某段代码以及传入哪些输入。你首先告诉模型有哪些可用函数,为每个函数提供一个简短的名称和描述,以及带类型的参数列表。在对话过程中,模型可以用符合该 schema 的 JSON 来作答,而不是纯文本。你的包装程序读取这段 JSON,调用真正的函数,然后把结果反馈给模型,让它继续运行。这一循环可以让智能体搜索网页、查询数据、发送邮件,或完成你暴露给它的任何其他任务。由于输出是结构化的,相比模型直接编写原始代码或自然语言命令,出错会更少。