API流程:(1)你发送提示词加上函数定义(描述每个函数名称、描述和参数的JSON模式),(2)模型决定是否调用函数以及调用哪个,(3)它输出带有具体参数的结构化函数调用,(4)你的代码执行该函数并返回结果,(5)模型将结果整合到响应中。某些模型可以按顺序或并行调用多个函数。
函数调用是模型级的原语:模型输出结构化的工具调用。MCP(模型上下文协议)是一个更高级的协议,标准化了工具如何被发现、描述和连接。将函数调用视为指令集,MCP视为操作系统——MCP底层使用函数调用,但增加了工具发现、认证和跨提供商的标准化。
函数调用比要求模型以文本形式输出函数调用更可靠(后者需要解析且容易出错)。提供商通过限制模型输出必须匹配你的模式的有效函数调用来实现函数调用——类似于结构化输出。但模型仍可能选择错误的函数、幻觉参数值,或在不应该调用时调用函数。健壮的应用程序包括验证、错误处理和高风险操作的人工确认环节。