函数调用

进阶预计进阶 2-3 个月

星团 AI 应用

学习定位提示词工程→ 函数调用 →Agent 框架

岗位需求

1 核心 · 0 加分

在职岗位将其列为技能要求

核心岗位薪资带

25k-55k

核心要求岗位的月薪区间

需求趋势

上升 1稳定 0收缩 0

核心要求岗位的趋势分布

面试题库

高频真题 · 参考答案随题展开
1. 函数调用的完整流程是怎样的?模型真的执行了函数吗?

模型从不执行函数,只做「决定与填参」。流程:客户端在请求中声明工具列表(名称、描述、参数 JSON Schema);模型判断需要调用时返回结构化的工具调用意图(工具名加符合 schema 的参数),通常 finish_reason 为 tool_calls;客户端在自己代码里真正执行函数(查数据库、调 API);把结果作为 tool 角色消息回传,模型基于结果继续生成最终答复或发起下一次调用。这个循环由客户端驱动,直到模型给出无工具调用的普通响应。理解要点:执行权在应用侧,模型只是指令翻译器,因此参数校验、鉴权、超时都要客户端兜底;流式模式下工具参数也是增量拼接出来的;并行调用时模型一次返回多个调用,可并发执行后统一回传。能完整走一遍消息序列即满分。

2. 工具的 schema 描述如何写才能减少调用错误?

描述是给模型看的接口文档,质量直接决定准确率。要点:名称动词化且自解释(get_weather、search_orders),避免 query_tool 这类万能名;description 说清三件事——做什么、何时该用、何时不该用(与相近工具的边界),一两句即可但边界信息最值钱;参数每个都给描述与示例值,枚举值用 enum 收敛,格式用 format 约束(date-time、uri);必填与可选明确,可选参数说明默认行为;复杂参数拍平或拆工具——深层嵌套对象错误率高,能拆成多个简单工具更好;少用自由字符串参数,多用结构化字段(城市加日期优于一个 query 万物参数)。有严格模式(strict 与工具 json_schema)时开启,保证参数百分之百合法。错误驱动迭代:把线上误用的 case 补进 description 的「不要」示例里。能讲名称、边界描述、结构化参数三点即优秀。

3. 工具执行失败时如何处理?错误信息应该怎么设计?

原则是「错误要喂回模型让它自纠」,而不是程序侧直接崩。三类失败:临时性错误(网络超时、限流)由程序重试(退避),重试成功对模型透明;业务性错误(城市不存在、日期格式非法、权限不足)不要抛异常终止,而是把结构化错误返回给模型,附上「为什么错、该怎么改」的可读信息,模型下一轮通常能自己修正参数(这是函数调用最强大的容错机制);危险或不可恢复错误(鉴权失效)走人工告警。错误返回设计:错误消息面向模型可读(错误原因加期望格式加示例),带错误码便于程序判断;不要把原始堆栈与技术细节塞回(浪费 token 且可能泄漏);区分「工具坏了」与「参数错了」,参数错误回喂、工具坏了换路或降级。配合:最大工具调用轮数限制防死循环、每轮耗时与失败率监控。能讲「可自纠错误回喂」机制即满分。

4. 并行工具调用与多工具编排要注意什么?

现代模型可在一次响应里发起多个工具调用(parallel function calling),客户端应识别调用数组并并发执行再统一回传,整体延迟从串行叠加变为最慢者决定。注意点:执行顺序依赖——若工具间有依赖(先建用户再发券),客户端要识别依赖串行执行,或提示词要求模型分轮调用;幂等与并发安全——并发执行写操作要防重复与竞争(锁、幂等键);结果对应——回传时 tool 消息要按 tool_call_id 一一对应,顺序错乱模型会混淆归属;失败隔离——部分失败时回传各自结果与错误,模型可决定重试缺的那部分;资源控制——并发上限与限流(外部 API 配额),用信号量约束。多工具编排:工具多于二十个时考虑动态挂载(按任务检索相关工具子集)或两级选择(先选工具类别再选具体工具),准确率与 token 双收益。能讲 id 对应与依赖判断即优秀。

5. MCP(模型上下文协议)解决什么问题?

之前每个应用接工具都是私有实现:各家 SDK 的函数定义格式不同,同一套内部工具要在 Claude、OpenAI、自研助手里各写一遍胶水,数据源(网盘、数据库、Slack)与工具能力无法跨客户端复用。MCP 用统一协议标准化三件事:tools(可调用函数)、resources(可读取数据)、prompts(可复用模板),通信走 JSON-RPC,传输支持 stdio(本地进程)与 streamable HTTP(远程服务)。架构是客户端-服务器:宿主应用(IDE、聊天客户端)内嵌 MCP client,连接 MCP server(文件系统、GitHub、数据库的适配器),能力发现与调用都按协议进行,于是工具实现一次、所有兼容客户端可用,个人与企业都能沉淀私有 server 生态。工程意义类比 USB-C 接口:模型侧与工具侧解耦,选型不被锁死;安全上仍要审视 server 权限与数据外流。能类比 USB-C 讲清 tools 与 resources 即完整。

🔒 解锁完整面试题库与参考答案(Pro)

含高频追问与作答要点,系统准备面试。

官方文档

2 条

推荐教程

1 条

推荐课程

1 条

上手实践

1 条

🔒 完整前置链分析 + 逐岗位引用明细

本页已免费展示学习定位与市场聚合;Pro 深读补齐完整前置依赖链分析与逐岗位引用明细 (核心/加分与深度档、岗位画像)。

知识分享

社区经验 · 管理员审核后展示

暂无分享——第一个来聊聊你的经验和踩坑吧。

有经验想分享?登录后可提交你的知识分享,管理员审核通过后将署名展示。

难度档决定星等与难度分权重(入门 1 / 进阶 2 / 精通 3);学习资源由编辑部遴选并持续维护, 经验心得欢迎在上方「知识分享」区署名分享。