一、这个技术是什么?
语言模型擅长理解文字,但它本身不知道你的本地文件、数据库和实时 API 状态。Agent 需要在“思考”和“执行外部动作”之间循环。
工具调用流程解决的是“模型如何选择合适能力、传递结构化参数、读取结果并继续完成任务”的问题。
二、没有它之前发生了什么?
模型只能根据已有上下文回答
↓
无法读取实时数据或执行外部动作
↓
开发者为每种能力手写固定流程
↓
工具描述和调用结果进入模型推理循环
三、核心概念
1. Tool Selection
模型根据工具名称、描述和输入 Schema 判断是否需要调用工具。
2. Structured Arguments
工具参数应该是结构化数据,而不是让 Server 自己猜测一大段自然语言。
3. Tool Result
工具结果应包含模型真正需要的事实、错误和下一步可用信息。
4. Reasoning Loop
模型读取工具结果后,可能继续调用工具,也可能直接组织最终回答。
5. Human-in-the-loop
高风险操作需要在执行前暂停,让用户确认具体动作和影响范围。
四、运行流程
五、面试复习
一句话回答
Agent 工具调用是一个循环:模型判断是否需要外部能力,生成结构化参数,由 Client 和 Server 执行并返回结果,模型再决定继续调用还是给出答案。
高频追问
- Agent 和普通 Function Calling 有什么区别?
- 工具调用失败后怎么办?
- 如何防止 Agent 无限调用工具?
- 哪些动作需要人工确认?
容易答错
不要把 Agent 说成“模型自动执行一切”。Agent 仍然受到工具清单、权限、预算、超时和人工确认机制的限制。
六、项目展示
知识库助手可以先调用搜索工具,再读取相关笔记,最后生成面试题草稿。若要修改 Markdown,则只生成结构化修改建议并提交 Pull Request。