什么是 函数调用?

函数调用是大语言模型生成结构化工具调用提议的能力,给出工具名称和参数;可信应用代码仍须负责校验、鉴权、执行并返回结果。

快速了解

全称大语言模型函数调用
创建时间2023 年由 OpenAI 推出
规范文档官方规范

工作原理

函数调用把自然语言请求连接到边界清晰的软件能力,但模型不会自行执行函数。它只提出工具名称和结构化参数;确定性执行器负责解析工具、从可信上下文推导身份和租户、校验业务状态、授权精确影响、施加超时与幂等约束,并返回规范化结果。Schema 校验只能让参数更易解析,不能证明所有权、价格有效性、用户同意或写操作应当发生。MCP 可以标准化外部工具的发现和传输,函数调用则是面向模型的接口;二者都仍需要 Host 侧的策略、审批、结果处理和审计。

主要特点

  • 模型提议与确定性执行相分离
  • Schema 约束参数形状,但不授予权限
  • 可信运行时提供身份、租户和权限上下文
  • 以时间、成本和重复调用限制多轮执行
  • 写操作具备幂等语义、预览和审批机制
  • 对工具结果进行不可信输入处理、追踪和轨迹评测

常见用途

  1. 调用最小权限外部服务的 AI Agent
  2. 先预览动作、后提交的客服系统
  3. 具备审计工具边界的自然语言自动化流程
  4. 将 MCP 工具转为受批准运行时注册表的 Host
  5. 对写操作要求明确确认的语音或聊天助手

示例

loading...
Loading code...

常见问题

函数调用与常规文本生成有什么不同?

常规文本生成返回自由形式内容;函数调用返回带有工具名称和参数的结构化提议,供应用代码解释。结构化有助于解析,但不会执行操作,也无法证明操作正确、已授权或安全,这些属性必须由执行器强制保证。

模型可以在单次响应中调用多个函数吗?

很多供应商允许模型一次提出多个调用。只有当调用真正独立、只读或已安全幂等时才可以并发;共享状态、消耗配额、依赖前序结果或会产生副作用的调用,需要确定性的顺序和失败策略。模型将它们放在同一响应中,并不代表并行安全。

当模型错误调用函数时如何处理错误?

先校验参数形状,再解析目标资源、认证并授权调用者、核验当前业务状态,最后返回有界且规范化的错误结果。只重试可以安全重试的故障,绝不能盲目重复结果未知的写操作;不要把堆栈、密钥或内部拓扑返回给模型,所有工具结果都是不可信输入。

函数调用和 AI 智能体有什么关系?

函数调用是 AI 智能体的基本构建块。智能体使用函数调用与环境交互——读取数据、执行操作和响应结果。智能体循环通常包括:接收用户输入、决定调用哪些函数、执行它们、观察结果,然后重复直到任务完成。函数调用实现了这种工具使用能力。

如何设计函数 Schema 以获得最佳模型性能?

优先暴露边界清晰的业务意图操作,并提供明确名称、说明、必填字段、取值边界,避免语义重叠。不要让模型提供用户 ID、租户、角色、价格或批准状态等可信字段,应由执行器推导。不存在普适的工具数量安全阈值,应使用真实任务评测工具选择正确率和延迟。

相关工具

JSON 格式化

免费在线JSON格式化(Format)与美化解析工具,一键快速格式化、语法校验和压缩任意复杂的JSON数据字符串。支持直观的代码语法高亮显示、可折叠的交互式树形视图(Tree View)、最近格式化历史记录保存和一键快速复制结果。广泛适用于前后端API接口调试、日志数据分析、以及各类系统配置文件编辑。无需注册登录,100%纯前端本地处理,绝不泄露您的数据隐私。

JSON Schema 生成器

免费在线全能 JSON Schema 生成器,一键从任意复杂的 JSON 数据对象即时生成结构严谨的规范 Schema 定义代码。全面支持从 Draft 04 至最新 2020-12 的所有版本规范,并能智能推断数据类型、自动检测提取邮箱、日期、UUID 等特定格式。是后端工程师和架构师进行 API 数据接口契约设计和自动化验证测试必备的效率工具,100%纯前端浏览器本地处理彻底保护企业隐私。

AI Agent 导航

QubitTool为您精选最全面的 AI Agent(人工智能智能体)框架、平台和工具聚合目录。在这里发现并对比 AutoGPT、CrewAI、LangGraph、BabyAGI 等最前沿的自主代理开源项目。深度探索 AI Agent 开发技术的最新趋势与最佳实践,帮助企业和个人开发者快速落地AI自动化工作流,成倍提高日常生产力。

MCP Server 导航

最全面的 MCP (Model Context Protocol / 模型上下文协议) 中文生态资源与工具聚合导航目录。一站式收录 Anthropic 官方核心文档、各语言版本 Server/Client 框架实现、主流 SDK 客户端对接方案以及活跃社区开源工具集。帮助前端与后端开发者快速发现、对比并集成 MCP 服务插件,高效构建连接外部数据源的下一代大语言模型(LLM)智能应用。

相关术语

相关文章