岗位分支 · Tool-MCP工程师
定位:构建工具调用平台 / MCP Server / 工具治理体系 对应主路线:Ch4(Tool Calling 与 MCP)、Ch8(Skills/Plugins)、Ch10(安全护栏)
核心能力领域#
1. Tool Schema 设计#
- name / description / parameters 三要素
- description 写法(边界要说清,模糊是 Agent 选错工具的根因)
- enum / required / format 约束
- 工具数量上限(20-30 个/次)与 Router 分流
2. Function Calling 实践#
- 主流模型 Function Calling API(OpenAI / Anthropic / 通义 / DeepSeek)
- 工具选择准确率优化
- 参数填写准确率优化(preflight validation)
- 工具错误处理与回灌
3. MCP Server 开发#
- MCP 协议(Client / Server / Resources / Prompts / Tools)
- 两种官方 Transport(stdio / Streamable HTTP;旧版规范用 HTTP+SSE,现已被 Streamable HTTP 取代。WebSocket 非官方标准传输)
- 用官方 SDK 实现 Server(Python / TypeScript)
- 工具白名单 / 权限声明 / 凭证管理
4. MCP Client 集成#
- Agent 侧接入多个 MCP Server
- 工具发现 / 注册 / 调用
- 错误处理 / 重试 / 超时
- 审计日志
5. 工具权限与审计#
- 5 级权限分级(公开读 → 不可逆)
- Human Approval 流程
- 审计日志(who/when/what/where/why)
- 限流 / 配额
6. 工具事务与回滚#
- 工具调用组合的原子性(多个工具要么都成功要么都回滚)
- 失败回滚机制(compensating action)
- 状态校验(执行前后状态对比)
7. A2A(agent ↔ agent)#
- A2A 协议(Google 发起,2025 年捐给 Linux Foundation,现为独立的 LF 项目)
- Agent Card / Task / Message
- 与 MCP 的边界判断
8. 工具市场与安全#
- 工具发布 / 发现 / 评分
- 来源审核 / 静态扫描 / 沙箱试运行
- 防 Confused Deputy(凭证最小化 / 按请求者校验)
技术栈重点#
| 技术 | 优先级 |
|---|---|
| Tool Schema / Function Calling | 必会 |
| MCP Server 开发 | 必会 |
| MCP Client 集成 | 必会 |
| 工具权限 / 审计 | 必会 |
| 工具事务 / 回滚 | 加分 |
| A2A 协议 | 加分 |
| 沙箱执行 | 加分 |
| MCP 安全 / Confused Deputy 防护 | 加分 |
典型面试题方向#
- 如何设计工具事务与回滚?多个工具组合调用怎么保证原子性?
- 如何防 Confused Deputy?凭证最小化怎么落地?
- A2A 何时引入?多 Agent 协作必须用 A2A 吗?
- MCP 工具调用异常怎么排查?server 可用 / tools/list / schema / transport 哪几步?
- 工具数量爆炸怎么治理?Router 分流 vs 工具市场分类?
- 工具 schema 怎么写才能让模型选对?description 模糊会怎样?
- 工具调用成本怎么控制?大量小调用 vs 少量大调用?
- 如何设计工具调用的"幂等性"?同一调用重试不会出问题?
加分方向#
- 工具市场设计
- MCP 安全 / Confused Deputy 防护
- A2A 协议实践
- 沙箱执行 / 隔离环境
- 工具调用事务 / 回滚
- 跨语言 SDK(Python / TypeScript / Go)