什么是Function Call?

首先,没有Function Call是什么样的?

只能在system prompt里面用自然语言去描述工具,但是大模型是不可控的

它可能回答的参数顺序颠倒,编造天气,或返回JSON格式不对等等

传统的system prompt完全靠大模型去猜,猜是否调用工具,猜返回格式

开发者就需要从五花八门的回答里面解析出正确的工具名和参数,这很复杂


Function Call的本质,是一套大模型和agent之间的标准化工具调用协议

用固定的格式定义好工具

需要调用工具时大模型返回固定的JSON格式的调用指令

那么Tool和Function Call有什么关系呢?

Tool是工具的能力实体,有函数本体,名称,描述,参数的定义

Function Call是调用机制(通信规范),必须通过Function Call去调用tool


Function Call的三部分核心结构

1. 工具定义

name:工具的唯一标识,通过name调用函数本体

description:工具说明,判断要不要调用这个工具的核心依据

parameters:需要什么参数,参数的类型,格式

required:必填参数

  1. AI调用格式(Function Call)

大模型需要调用工具时,会严格返回固定格式的JSON,Agent直接解析这个结构,拿到工具名和参数。

function_call是固定字段,告诉Agent这是一条工具调用指令。Agent会找到check_weather函数,将city和data作为参数传递进去

3. 工具返回结果(Tool Response)

把工具的执行结果,按规范格式回传给大模型。大模型收到结果,决定是否再次调用工具,或者回答用户问题

相关推荐
码上解惑24 分钟前
从 Dify 工作流说起:常用节点怎么选、怎样组合?
java·人工智能·ai·agent·dify·智能体·spring ai
vivo互联网技术31 分钟前
Agent 工程思考:从 ReAct 到 Agent Harness
agent
leeyi3 小时前
流式传输引擎:Eino StreamReader 源码拆解(第61篇-E47)
llm·aigc·agent
John_ToDebug3 小时前
Git Stash 完全指南:临时保存工作区的艺术
人工智能·git·agent
老梁agent3 小时前
告别硬编码 System Prompt:Prompt 六层编译引擎设计与实现
agent
决战灬3 小时前
langgraph之interrupt(事例篇)
人工智能·python·agent
张申傲4 小时前
拆解 harness9(9):Observability 可观测性
人工智能·aigc·agent·deepseek·harness
陳陈陳14 小时前
Workflow vs Agent:别再被“调包侠”忽悠了,一张图看懂AI工程的“骨架”与“大脑”
langchain·agent·workflow
新知图书14 小时前
11.3 详细实现与核心配置(作业批改智能体开发)
人工智能·agent·ai agent·智能体·扣子
小林ixn15 小时前
Workflow 还是 Agent?帮你一次性搞清楚这俩到底有啥不一样
agent·workflow