Function Calling 六步:LLM 以 RPC 客户端身份调工具
★ 自动播放动画
A05/01 Function Calling
本质:LLM 当 RPC 客户端——tools 数组定义接口,tool_calls 是请求,框架是 runtime,结果按 tool_call_id 注入上下文。LLM 返回的不是"结果",是"下一步做什么"。
0/14 · 待播放
六步生命周期:定义 → 注册 → Schema → LLM 选择 → 框架执行 → 结果注入
⚙️ 框架主导
⚙️ ① 定义@Tool 注解
⚙️ ② 注册进注册表
⚙️ ③ Schema进 tools 数组
🤖 ④ LLM 选择出 tool_call
⚙️ ⑤ 框架执行并行执行
⚙️ ⑥ 结果注入role=tool 回填
🤖 LLM 决策(唯一交给模型的动作)⚙️ 框架执行(其余全部由代码接管)
💬 LLM 服务 🤖 模型推理层 · 每次请求 = 全量 messages + tools
—点 ▶ 播放,看一条"查天气+存笔记"请求如何走完 Function Calling 六步
⚡ 运行时动作:上方 LLM 消息窗 / 工具运行时(正在发生什么)💡 知识讲解:下方面板(为什么这么设计)
知识点一句话总结:Function Calling 让 LLM 以 RPC 客户端身份调工具——tools 数组是接口定义(JSON Schema),tool_calls 是请求(LLM 输出"下一步做什么"),框架是 runtime,结果按 tool_call_id 注入回上下文。核心工程点:描述质量决定选择准确率(详细 92% vs 模糊 65%)、超过 15 个工具必须预选、并行执行靠 CAS+Semaphore 防竞态、Schema 校验失败要返回具体错误让 LLM 修正、同参数反复调用靠指纹计数拦截死循环。