AI 知识库首页

工具与协议面试题(U01–U20)

20 道 Tool Gateway、MCP、A2A 与工具安全题。

模型只提出调用,宿主系统负责执行、授权和验证。

建议先口答 60~90 秒,再展开【追问问题】。不要背句子,要说清判断依据和取舍。


U01|Tool、Function、Skill、Workflow 如何区分?

简明答案: Tool 是可调用原子能力,Function 是常见工具承载形式,Skill 通常把说明、资源和流程封装成可复用能力,Workflow 是预定义编排。不同框架命名不同,应看控制权和执行边界。

【追问问题】

  • Skill 是否一定调用代码?
  • Agent 能否把 Workflow 当工具?

关联知识: 工具、技能与工作流


U02|Tool Schema 为什么重要?

简明答案: 它是模型与执行器的接口合同,限制参数类型、必填、枚举和结构,直接影响工具选择和参数正确率。Schema 合法仍需业务与权限校验。

【追问问题】

  • description 与 schema 谁更重要?
  • Schema 版本如何兼容?

关联知识: Tool Schema 设计


U03|工具返回应该是文本还是结构化数据?

简明答案: 程序继续处理时优先短小结构化数据,保留 status、data、error 和引用;用户展示可在最后格式化。直接回长文本会增加 Token、解析不稳并隐藏错误。

【追问问题】

  • 二进制结果怎么返回?
  • 大结果如何分页?

关联知识: 工具结果与错误协议


U04|工具错误怎样分类?

简明答案: 至少分 validation、permission、not_found、conflict、temporary、rate_limit、timeout 和 unknown_result。分类决定修参数、停止、重试、对账还是转人工。

【追问问题】

  • 异常堆栈应给模型吗?
  • unknown_result 为什么特殊?

关联知识: 工具结果与错误协议


U05|如何设计统一工具注册表?

简明答案: 保存名称、版本、描述、Schema、执行器、权限标签、风险级别、超时和所有者;提供注册、发现、健康检查和弃用。运行时先按身份与任务筛选再暴露。

【追问问题】

  • 动态卸载如何处理在途任务?
  • 工具冲突如何命名?

关联知识: 工具注册表与发现


U06|什么是 Tool Gateway?

简明答案: 位于 Agent 与业务工具之间,统一做身份、授权、限流、Schema、幂等、审计、脱敏和路由,让安全规则不散落在 Prompt 与每个 Agent 中。

【追问问题】

  • 它会成为单点吗?
  • 怎样支持第三方 MCP?

关联知识: Tool Gateway


U07|工具调用如何防止 SSRF?

简明答案: 限制协议、域名、端口和重定向,解析后检查实际 IP,阻止内网/元数据地址,网络层再做 egress policy。不能只验证 URL 字符串。

【追问问题】

  • DNS rebinding 如何处理?
  • 网页抓取工具怎样隔离?

关联知识: 工具安全与网络边界


U08|数据库查询工具怎样安全设计?

简明答案: 优先暴露参数化业务查询而非任意 SQL;只读账号、租户过滤、行列权限、超时、结果行数限制和审计。生成 SQL 也必须解析或在沙箱只读副本执行。

【追问问题】

  • 如何防止全表扫描?
  • 写 SQL 工具何时允许?

关联知识: Tool Gateway


U09|代码执行工具怎样隔离?

简明答案: 每任务使用容器或 microVM,限制文件、网络、系统调用、CPU、内存和时间,默认无密钥;输出扫描后显式导出,任务结束销毁。

【追问问题】

  • 容器一定足够安全吗?
  • 依赖安装如何控制?

关联知识: Computer Use 与沙箱


U10|并行工具调用什么时候不安全?

简明答案: 调用之间有数据依赖、共享写资源、顺序语义或总预算限制时不应盲目并行。并行还要处理部分失败、取消和结果顺序。

【追问问题】

  • 查询与写入能否并行?
  • 如何合并部分结果?

关联知识: 并行与异步工具


U11|如何处理长时间运行的工具?

简明答案: 工具返回 job_id,Agent 进入等待状态,通过事件、轮询或 wait 工具恢复;持久化 deadline 和幂等键,不让单个 HTTP 请求或模型调用一直阻塞。

【追问问题】

  • 轮询间隔怎么定?
  • 用户取消如何传播?

关联知识: 并行与异步工具


U12|MCP 的 Tools、Resources、Prompts 谁控制?

简明答案: Tools 通常由模型选择,Resources 由应用选择加入上下文,Prompts 由用户显式选择。具体客户端可有差异,但控制边界有助于设计同意与权限。

【追问问题】

  • Sampling 是谁发起?
  • Roots 解决什么?

关联知识: MCP 深入


U13|MCP 的 Host、Client、Server 如何通信?

简明答案: Host 内为每个 Server 管理 Client 会话,协议使用请求、响应和通知交换能力;传输可本地 stdio 或远程 HTTP。Host 负责用户体验和最终安全边界。

【追问问题】

  • 本地 Server 就一定可信?
  • 能力变化如何发现?

关联知识: MCP 深入


U14|MCP 与 REST API 有何关系?

简明答案: MCP 是面向模型应用的能力发现与交互协议,Server 内部仍可调用 REST。REST 定义业务资源接口,MCP 负责把合适能力以模型可用形式暴露,两者不是替代关系。

【追问问题】

  • 何时直接 Function Tool 更简单?
  • MCP Server 如何封装 OAuth?

关联知识: MCP、A2A 与 API


U15|A2A 与 MCP 有何区别?

简明答案: MCP 主要连接 Agent 应用与工具/数据,A2A 主要让独立、可能不透明的 Agent 发现能力、委派任务和交换结果。一个 Agent 可同时用 MCP 获得工具、用 A2A 协作。

【追问问题】

  • Agent Card 是什么?
  • A2A 如何表示长任务?

关联知识: MCP、A2A 与 API


U16|什么是 Agent Card?

简明答案: A2A 中用于描述 Agent 身份、端点、能力、技能、输入输出模态和认证要求的元数据,便于客户端发现与选择。它是声明,不应被无条件信任。

【追问问题】

  • 如何验证 Agent Card?
  • 能力版本如何兼容?

关联知识: A2A 协议


U17|Remote Agent 为什么不能共享全部内部状态?

简明答案: 跨组织 Agent 应通过最小任务合同交换必要上下文和产物,内部记忆、工具和策略保持封装,以降低耦合、隐私泄漏和提示注入传播。

【追问问题】

  • 如何传递身份与授权?
  • 失败状态怎样标准化?

关联知识: A2A 协议


U18|如何实现动态工具发现?

简明答案: 先从注册表或 MCP 获取候选,再按用户权限、任务语义、风险与环境过滤,只把少量 Schema 加入上下文。工具发现本身也要评测召回与误选。

【追问问题】

  • 百万工具怎样检索?
  • 描述被污染怎么办?

关联知识: 工具注册表与发现


U19|工具版本升级如何兼容在途任务?

简明答案: 工具调用和 Checkpoint 记录版本;新版本保持兼容或提供适配器,在途任务继续旧版本,待完成后再下线。破坏性 Schema 变更不能静默替换。

【追问问题】

  • 如何做双写验证?
  • MCP 能力列表变化怎么办?

关联知识: 工具注册表与发现


U20|如何评测工具选择器?

简明答案: 构建包含无需工具、单工具、易混淆、多工具和越权请求的数据集,计算选择准确率、参数正确率、无效调用率和拒绝率,并检查最终环境结果。

【追问问题】

  • 多条正确工具路径怎么算?
  • 如何做混淆矩阵?

关联知识: 工具调用评测