工具网关:让 Agent 无感的本地/远程透明执行
工具网关是"工具调用的位置透明层"——Agent 只向网关发 tool_call,网关按路由表决定这个工具是本地执行还是转发生远程 MCP Server/HTTP 服务,Agent 和用户完全无感。三句话:① 网关是 Agent 与所有工具之间的唯一入口;② 路由表是核心(工具名 → 执行器映射,改映射=换执行位置);③ 本地执行器走同进程函数调用(零开销),远程执行器走 MCP/HTTP(可共享、可隔离)。本质是把 API 网关的路由/鉴权/重试思想搬到 Agent 工具层。
1x2x
0/14 · 待播放
Agent tool_call → 工具网关(唯一入口) → 路由表匹配 → 本地/远程执行器 → 统一返回
光点 = 当前环节 · Agent 永远只面对一套工具接口
路由表(工具名 → 执行器)改映射 = 换执行位置 · —
| 工具名 | 执行器 | 目标 |
| lookup_order | LOCAL | orders_service.lookup |
| send_email | MCP | mcp__mailer__send |
| query_weather | REMOTE_HTTP | weather-api /v1/query |
| run_sql | LOCAL | 可切换 REMOTE(见⑩) |
就绪点 ▶ 播放,看工具网关怎么让本地/远程执行无缝切换。工具网关
⚡ 运行时动作:正在发生什么💡 知识讲解:为什么这么设计
知识点一句话总结:工具网关 = "工具调用的位置透明层":Agent 只向网关发 tool_call,网关按路由表决定本地执行还是转发生远程(MCP/HTTP),Agent 和用户完全无感——本质是把 API 网关的路由/鉴权/重试思想搬到 Agent 工具层。核心链路:注册(@Tool / MCP tools/list)→ 发现(工具清单给 LLM)→ 路由(查路由表)→ 执行(本地函数零开销 / 远程协议转发)→ 统一返回。核心价值不是"强迫都用远程",而是让本地↔远程切换零成本(改一行路由表 / MCP 挂了切本地 fallback)。故障检测:超时(几秒级,避免 Agent 误判)、重试(只对幂等)、降级(按 fallback)、熔断(连续 N 次失败)、鉴权限流(网关统一注入)。生产陷阱:路由表与工具不同步、远程超时让 Agent 误判、位置透明掩盖性能差异、鉴权散落各远程服务。