MODEL OUTPUT函数调用单
待校验create_reservation- restaurant
- 湖畔小馆
- date_time
- 今天 19:00
- party_size
- 2 位
- seating
- 靠窗优先
- contact_phone
- 缺少必填参数
AI 与提示 · 智能体与连接
function calling 让模型把自然语言请求变成结构化调用意图;模型只选择函数并填写参数,宿主应用仍要校验、授权、执行,再用真实业务结果确认完成。
先看模型生成的 create_reservation 调用单,再让宿主应用校验并执行。故意保留缺失的联系电话,观察失败怎样同时写进调用单和预订卡;补齐后再重试。
帮我订今晚 7 点,湖畔小馆,2 位,尽量靠窗。
我会先生成预订调用单;应用校验通过后才会真正提交。
create_reservation当前边界调用单已经生成,但 contact_phone 缺失。下一步应先校验,不能把模型输出直接当成已执行。
对话、调用单和预订卡是同一条链上的三个对象,不能把其中任何一个误当成已经执行。
name 说明想调用谁,arguments 承载参数。它仍只是模型输出,不是函数执行结果。HPA-2086,预订卡才进入“已确认”;一句顺口的 AI 回复不能代替执行凭证。functions/function_call,新接口通常用 tools/tool_calls;名字与封装会变,但“模型提议、宿主执行”的边界不变。函数调用适合把自然语言接到可信系统;它不是所有回答都需要的中间层。
tools/tool_calls;先看真实请求与响应形状。最短可信链路是“声明 → 生成 → 校验 → 执行 → 回传”,任何一步都不能用想象补齐。
只改变一个选择:宿主是否在副作用之前校验调用单。
调用单保留失败原因,预订卡保持“未创建”;用户确认尾号 6621 后,同一请求重试并拿到 HPA-2086。
缺联系方式仍创建占位记录,餐厅无法确认、用户也收不到通知;重试还可能重复占桌。
模型为“给客户退款 ¥800”生成了 refund_order 调用,但 arguments 里没有订单号。宿主应用下一步应该做什么?
术语的技术定义和行为以这些一手或权威资料为准。
和本知识点经常一起出现的概念。