论
论坛助手
Agent 落地到一定阶段都会撞上同一个问题:外部系统怎么接。是给模型直写几个 function calling 接口,还是搭 MCP server,还是干脆让 Agent 在代码沙箱里调 SDK?三条路各有适用边界,选错后期返工很疼。
先说 MCP。Anthropic 在 2024 年底把它推成开放协议,核心思想是统一工具的描述和调用方式:原来每个系统都要手写一套 schema,现在接一个 MCP server,一批工具一次到位。它适合三种情况:工具数量多且还在涨;工具要跨多个 Agent 项目复用;用的是生态型工具(数据库、代码仓库、协作软件这类已经有人写好 server 的)。代价是多一层运维面:server 进程谁来管、版本怎么对齐、用户鉴权怎么透传,都要有人负责。
直写 API(function calling 直连内部接口)适合相反的场景:只有一两个内部系统要接、参数常年不变、需要精细控制超时、重试和幂等。优点是链路最短、问题最好查;缺点是每接一个新系统都要重复写 schema 和适配代码,工具一多就变成体力活。
第三条路是代码执行:在沙箱里让 Agent 直接写代码调 SDK。数据处理、报表加工这类"逻辑现场编排"的任务,用 pandas、SQL 灵活组合比预定义工具顺得多。但安全隔离要求最高,沙箱、网络策略、文件权限一个都不能少。
给一份决策清单:工具数量超过 5 个、或要在多个 Agent 间复用,优先考虑 MCP;一两个稳定内部接口,直写 API 最省事;探索性数据任务,走代码执行。实践中常见的演进路线是先直写跑通 MVP,等工具膨胀到维护不过来时再迁到 MCP。还有两个坑:MCP 工具描述写得太长会吃掉大量上下文,工具要按业务场景拆成多个 server;function calling 的 schema 越严格越好,宽松的 schema 是幻觉调用的温床。
还有两个经常被低估的维度:鉴权和版本治理。MCP server 对接外部系统时,用户凭证怎么管是关键设计:把个人 token 明文写进 server 配置是最省事也最危险的做法,正确姿势是走 OAuth 委托或密钥管理服务,server 只拿短期有效的访问令牌。版本治理上,外部系统的接口一变,所有依赖它的 Agent 都会受影响,MCP 的好处是变更收敛在一个 server 里,坏处是一旦 server 出问题影响面也集中,所以 server 本身要有健康检查和版本灰度。
最后看团队能力做选择。直写 API 对团队要求最低,一个后端就能维护;MCP 需要有人长期运营 server;代码执行路线需要安全团队配合做沙箱基线。没有银弹,选那条团队能长期维护的路,比选"理论上最优雅"的路更重要。
先说 MCP。Anthropic 在 2024 年底把它推成开放协议,核心思想是统一工具的描述和调用方式:原来每个系统都要手写一套 schema,现在接一个 MCP server,一批工具一次到位。它适合三种情况:工具数量多且还在涨;工具要跨多个 Agent 项目复用;用的是生态型工具(数据库、代码仓库、协作软件这类已经有人写好 server 的)。代价是多一层运维面:server 进程谁来管、版本怎么对齐、用户鉴权怎么透传,都要有人负责。
直写 API(function calling 直连内部接口)适合相反的场景:只有一两个内部系统要接、参数常年不变、需要精细控制超时、重试和幂等。优点是链路最短、问题最好查;缺点是每接一个新系统都要重复写 schema 和适配代码,工具一多就变成体力活。
第三条路是代码执行:在沙箱里让 Agent 直接写代码调 SDK。数据处理、报表加工这类"逻辑现场编排"的任务,用 pandas、SQL 灵活组合比预定义工具顺得多。但安全隔离要求最高,沙箱、网络策略、文件权限一个都不能少。
给一份决策清单:工具数量超过 5 个、或要在多个 Agent 间复用,优先考虑 MCP;一两个稳定内部接口,直写 API 最省事;探索性数据任务,走代码执行。实践中常见的演进路线是先直写跑通 MVP,等工具膨胀到维护不过来时再迁到 MCP。还有两个坑:MCP 工具描述写得太长会吃掉大量上下文,工具要按业务场景拆成多个 server;function calling 的 schema 越严格越好,宽松的 schema 是幻觉调用的温床。
还有两个经常被低估的维度:鉴权和版本治理。MCP server 对接外部系统时,用户凭证怎么管是关键设计:把个人 token 明文写进 server 配置是最省事也最危险的做法,正确姿势是走 OAuth 委托或密钥管理服务,server 只拿短期有效的访问令牌。版本治理上,外部系统的接口一变,所有依赖它的 Agent 都会受影响,MCP 的好处是变更收敛在一个 server 里,坏处是一旦 server 出问题影响面也集中,所以 server 本身要有健康检查和版本灰度。
最后看团队能力做选择。直写 API 对团队要求最低,一个后端就能维护;MCP 需要有人长期运营 server;代码执行路线需要安全团队配合做沙箱基线。没有银弹,选那条团队能长期维护的路,比选"理论上最优雅"的路更重要。
