
AI Agent 面试全攻略Function Calling与MCP协议怎么选17工具调用面试题答案【免费下载链接】ai-agent-interview-guideAI Agent 面试全攻略从零到Offer包含200面试题、企业级项目(Python/Java/Go)、简历模板、STAR面试稿、哆啦A梦漫画图解项目地址: https://gitcode.com/gh_mirrors/ai/ai-agent-interview-guideAI Agent 面试中工具调用Tool Calling是出现频率最高的考点之一。开源项目ai-agent-interview-guideAI Agent 面试全攻略围绕这一主题整理了 Function Calling、MCP 协议、工具路由与工具安全等17 道工具调用面试题及标准答案配套 Python / Java / Go 三语言企业级项目带你从零理解到能白板讲清楚顺利拿下 Offer 像漫画里哆啦A梦的百宝袋一样AI Agent LLM 大脑 工具调用Tools 记忆 规划。面试官考的就是模型怎么决定调用哪个工具、工具怎么注册与路由、MCP 又解决了什么问题。1️⃣ Function Calling 原理速览模型如何调用函数先建立心智模型面试时这套四步闭环能直接口述出来定义把函数以 JSON Schema 描述名称、描述、参数类型随请求发给模型决策模型不直接回答而是输出结构化的tool_calls调谁、传什么参执行宿主程序真正执行函数——模型只决策不执行这是安全审计的关键回传结果以roletool消息写回模型再综合生成最终答案。 高频考点tool_choice的四种取值auto / none / required / 指定函数以及为什么让模型输出 JSON不如 Function Calling——前者靠 prompt 约束解析脆弱、易混入闲聊文本。ReAct 循环正是工具调用的运行时载体Thought → Action调用工具→ Observation观察结果→ 再思考。项目中的实现见 react_agent.py。2️⃣ MCP 协议核心概念AI 界的USB-CMCPModel Context Protocol是 Anthropic 推动的开放标准用于在 AI 应用Host与外部工具/数据源MCP Server之间建立统一、可插拔的连接就像 USB-C 之于外设——一次实现 ServerClaude Desktop、IDE、自研 Agent 多端复用 核心三组件组件职责类比MCP Server暴露工具/资源的独立进程U 盘外设MCP Client会话管理、把工具拉平给模型电脑端接口Transportstdio本地子进程/ HTTP远程USB 线缆3️⃣ Function Calling vs MCP 对比表一次讲透怎么选这是全场最容易被追问的题记住一句话FC 解决模型怎么表达调用MCP 解决工具能力怎么暴露与连接二者互补而非替代 维度Function CallingMCP 协议层级单次 API 能力模型输出调用指令系统级协议发现 调用工具与资源实现位置通常应用进程内函数独立 Server可远程复用性每个应用复制集成标准 Server 多 Host 复用典型场景模型侧调度工具侧治理审计、权限、版本关系模型侧用 FC 表达Host 把 MCP 工具转成 FC 的tools给模型选型口诀小项目、工具都在自己服务里 →直接用 Function Calling轻量够用企业级多产品共享工具、需要统一安全审计与治理 →接 MCP现实架构中两者常常同时出现工具来自 MCP Server调用由模型的 Function Calling 表达。完整对比与追问应对见 04-工具调用.md。4️⃣ 工具路由工具上百个时怎么选工具一多把全部描述塞进上下文会费 token、干扰模型、增加误选。工程解法是先缩小候选集再让模型填参。项目的实现是一套轻量规则 关键词打分路由器核心代码见 router.py要点包括工具名命中 3 分描述关键词命中 1 分意图规则算→calculator、sql→database加权只把 Top-K 工具交给模型全部 0 分时兜底保留前几个避免 Agent无工具可用生产环境中可替换为向量检索或轻量分类模型路由。配套的工具注册中心registry.py统一管理name → Tool映射并能自动生成 System Prompt 里的工具清单。工具本身继承统一基类 base.py名称、描述、JSON Schema 参数、异步execute。5️⃣ 工具调用安全加分项必问权限会话绑定真实用户身份最小权限密钥绝不进模型上下文输入防 Prompt 注入、SQL 注入数据库工具只允许SELECT见 database.py 的关键字拦截危险操作两阶段提交先出草稿用户确认再执行代码执行禁用eval用 AST 白名单求值calculator.py审计时间、trace id、用户、工具名、参数摘要、结果、耗时一个都不能少。6️⃣ 工具调用 17 道面试题高频精选 标准答案以下 17 题覆盖原理、MCP、路由、编排与安全答案均已精简完整版含追问应对04-工具调用.md #面试题标准答案精简1FC 和让模型输出 JSON的本质区别FC 是厂商的结构化调用通道与对话轮次绑定纯 JSON 靠 prompt 约束解析脆弱2tool_calls与tool消息如何对应每条调用有唯一id结果必须带相同tool_call_id写回保证并行不错配3为什么 description 比函数名更重要模型靠自然语言描述区分相似工具函数名主要给程序路由用4如何设计 JSON Schema 降低填错率参数少而精、用enum、描述给示例、避免深层嵌套、必要时拆分函数5docstring 为什么写何时不要用降低误触发false positive是线上质量关键6MCP 解决什么痛点工具集成碎片化、重复建设、难跨产品复用提供标准边界与传输7MCP 与 FC 是替代关系吗不是。FC 是模型侧表达MCP 是工具侧集成常一起使用8工具路由什么时候必须上上下文膨胀、误选率或成本上升时几十到上百个工具就该考虑9向量路由的缺陷与改进描述差则不准、专有名词弱改进混合检索、同义词表、轻量分类器10并行工具调用要注意什么幂等性、限流、写操作数据竞争、部分失败只重试该分支11什么是依赖 DAG调用为节点、数据依赖为边拓扑排序执行防环、可监控可重试12敏感操作为何推荐两阶段提交第一阶段生成草稿用户确认后第二阶段执行降低误触发损失13工具返回为何尽量结构化JSON便于模型解析、程序校验与日志纯自然语言易歧义14如何做权限控制会话绑定身份、租户角色校验、最小权限、敏感操作人在回路15代码执行工具如何安全沙箱隔离、资源/网络限制、禁用危险模块、超时与审计16审计日志至少记哪些字段时间、trace id、用户/租户、工具名、脱敏参数摘要、结果、耗时17计算器为什么禁止evaleval等同远程代码执行应使用 AST 白名单或安全数学库追加 2 道场景追问凑齐 17Q18模型选错工具怎么办→ 优化描述与示例边界、路由缩小候选集、执行前二次确认、高风险操作要求人类确认、记录 bad case 迭代 prompt。Q19工具返回 10MB 日志怎么办→ 不直接返回截断 摘要、写对象存储返回链接、提供grep_in_log等缩小工具。7️⃣ 动手练手三语言项目里的工具系统纸上得来终觉浅三个版本的项目都把注册 → 路由 → 执行 → 回传完整落地Python 版app/core/tools/ 含基类、注册中心、路由器与搜索/计算器/数据库三个内置工具Java 版service/tool/ 同构实现BaseTool ToolRegistry ToolRouter 内置工具Go 版internal/tool/ 含 base.go、registry.go、router.go 及 builtin 包。建议对照 04-工具调用.md 的知识点逐行读一遍源码再结合 面试问答集 模拟追问就能在白板上把整条链路画出来 ✍️总结三句话记住工具调用Function Calling是 Agent 的手模型决策应用执行MCP是USB-C标准化工具连接企业级复用与治理选它路由 安全是工程分水岭权限、输入校验、两阶段确认、审计日志讲全了就是高级答案 ✅【免费下载链接】ai-agent-interview-guideAI Agent 面试全攻略从零到Offer包含200面试题、企业级项目(Python/Java/Go)、简历模板、STAR面试稿、哆啦A梦漫画图解项目地址: https://gitcode.com/gh_mirrors/ai/ai-agent-interview-guide创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考