摘要
代码模式让 AI 智能体运行一段简短程序,在一次调用中编排多个 MCP 工具,而不必对每个工具都往返一次。筛选和关联都在锁定的沙箱中完成,因此只返回最终结果——在数据密集型工作流中可将 token 用量最多降低 90–99%。
为什么多工具智能体会消耗如此多的 token
每当 AI 智能体调用一个工具,结果都会穿过模型返回。让它“列出上个季度下过单的 每一位客户的未结发票”,逐个工具调用的智能体会发起数十次调用,并把每一份中间 列表——客户、订单、发票——全部拉进上下文窗口。模型逐个 token 地读完这一切, 最终却只为了留下寥寥几个 id。在数据密集型工作流中,真正让你付出代价的是中间 数据,而不是答案本身。
代码模式消除了这些往返。 智能体不再逐个调用工具,而是编写一段简短的 JavaScript 程序,调用你的若干 MCP 工具,筛选并关联它们的结果,只返回真正重要 的内容——在一步之内完成。数十次调用和数兆字节的中间数据变成一次只返回几行的 调用。在多步骤、以筛选为主的任务上,这将 token 用量最多降低 90–99%,而且速度 更快,因为循环运行在数据旁边,而不必穿过模型。
前后对比
不用代码模式——模型驱动每一步并读取每个结果:
search invoices → (model reads 400 rows)
list customers → (model reads 1,200 rows)
for each open invoice, get the customer → (hundreds of calls, all read back)
使用代码模式——模型编写一段程序,只有结果会返回:
// Discover, read and call your tools from inside the sandbox.
const invoices = await amcp.run('list_invoices', { status: 'open' });
const customers = await amcp.run('list_customers', { activeSince: '2026-01-01' });
const active = new Set(customers.map((c) => c.id));
return invoices
.filter((i) => active.has(i.customerId))
.map((i) => ({ id: i.id, amount: i.amount, customer: i.customerId }));
智能体拿回的正是它真正想要的那份简短列表。它筛选过的那 1,600 行数据从未进入 上下文窗口。
以不受信任为设计前提——因此始终安全
程序是由模型编写的,而被提示注入污染的工具结果可能试图操纵它。因此代码模式
绝不会在 AnythingMCP 后端运行。它运行在独立的 code-runner 中:每次运行对应
一个锁定的子进程,没有网络、没有文件系统、没有环境变量、没有任何密钥。程序唯一
能做的,就是通过 amcp 桥调用调用方本就有权使用的那些 MCP 工具,而后端会以该
调用方的角色和权限来响应。访问范围以及读写规则与直接调用工具完全一致,每次运行
都会被审计,并且每次运行都受时间上限、内存上限以及可发起工具调用次数上限的约束。
代码模式默认关闭。工作区按 MCP 服务器逐一开启它,内联代码还额外受调用方角色 的限制——因此在你主动启用之前,什么都不会运行。
两种使用方式
- 已保存的代码工具。 一种可复用的工具,其主体是一段已保存的程序,像其他任何 工具一样在仪表板中创建。它会出现在工具列表中,遵守角色访问控制,并受到审计。 非常适合你的团队反复运行的工作流。
- 内联代码。 一个通用的 Run code 工具,智能体可以用它当场编写的程序来调用, 始终只读,并使用调用方自己的权限。智能体也可以提议一个已保存的代码工具, 交由管理员审批。
如何启用
- 在仪表板中打开一个 MCP 服务器,将 Code mode 设为 Saved code tools 或 Saved code tools + inline code。
- 选择该服务器开放哪些连接器——程序只能访问这些连接器。
- 将服务器连接到 Claude、ChatGPT 或任意 MCP 客户端,让它运行一个多步骤任务。在 AnythingMCP Cloud 上,执行器由我们为你托管;自托管时,请运行随附的 code-runner 服务。
代码模式在 AnythingMCP Cloud 和自托管环境中均可使用。已保存的代码工具从 Starter 套餐起即包含;内联代码和智能体提议需 Team 及以上套餐;可写的代码工具是 Enterprise 的功能。请查看价格页面了解各套餐包含的内容,或从免费试用开始。
这份指南对你有帮助吗?