AI大厂面试200问-第四章
四、工具调用与 MCP 协议(Q22–Q30)
Q22:Function Calling 的完整工作流程与容错
面试官:「Function Calling 已经是 Agent 的基本功了。你完整描述一下它的工作流程,以及 LLM 选错工具或填错参数时你怎么处理?」
高分回答:
「Function Calling 的本质是——LLM 只负责输出 JSON,代码负责执行。记住这个原则,很多安全问题就有了答案。」
完整流程分六步:
- 工具注册。把工具的 JSON Schema(名称、描述、参数定义)注入到 LLM 请求的
tools字段。Schema 的质量直接决定调用准确率——我这道题后面会详细展开。 - LLM 推理。LLM 根据用户意图和上下文决定——直接回答、还是调用工具。如果决定调用,输出
tool_calls数组——包含工具名、参数 JSON、和一个内部的 call_id。 - 参数校验。代码层对 LLM 输出的参数做 JSON Schema 校验。类型不对?数值超范围?必填参数缺失?任何一个校验失败,不直接执行,而是把错误信息反馈给 LLM 让它修正。我们允许最多 2 次修正尝试,2 次还
