你以为「我问一次、平台答一次」就是一次 API 调用、一笔钱。带工具的 Agent 会让你这个直觉彻底翻车。
一个用户可见的回答背后,Agent 可能悄悄调了二三十次接口:查天气一次、搜资料三次、跑代码两次、读数据库五次、最后总结一次……每一次都是一次独立计费的 API 调用。你看到的是一句话,账单上记的是一长串。
一、一次回答 ≠ 一次 API 调用
普通聊天,是你发一段、模型回一段,调用次数约等于对话轮数。
但 Agent(带工具/函数调用的智能体)的工作方式是 ReAct 循环:先「想」下一步调哪个工具,调完把结果「看」一遍,再决定下一步,直到它觉得能回答了才收尾。这条链上每一步,都是一次真实的模型推理调用。
实测里反复出现的比例:一个用户问题,Agent 背后跑 5 到 50 次 API 调用。简单问答偏低,复杂任务(写代码、跑分析、多步检索)轻松到二三十次。换句话说,你账单上的调用数,可能是你以为的 10 到 50 倍——而你只在界面上看见最后那一句。
二、工具调用怎么把账单放大
放大来自三个叠加机制:
① 工具调用本身是「双份」计费。 一次工具调用通常拆成两次模型调用:一次是模型决定「我要调工具 X,参数是 Y」(输出一段结构化 JSON),一次是工具返回结果后模型「读结果、决定下一步」。光这一步,一次工具动作就至少两次推理。
② 上下文回传,越滚越大。 工具返回的内容(搜索结果、数据库行、代码执行输出)会被整段塞回上下文,作为下一轮推理的输入。调用越往后,每次推理要处理的 token 越长——后面的调用比前面的更贵。一个 10 步的 Agent,第 10 步的输入 token 往往数倍于第 1 步。
③ 并行扇出与重试。 有些 Agent 会并行调多个工具(同时搜三个源),调用数瞬间翻倍;再叠加重试风暴(上一轮聊过的「重试税」),一次失败自动重发三遍,账单再乘三。
三件事叠起来:调用次数 ×N,单次成本又随上下文上升,再叠加重试——一个看起来很简单的问题,烧掉的钱可能是你直觉的几十倍。
三、为什么大多数账单看不出这笔钱
最阴的地方不是贵,是看不见。
很多平台的账单只给你一个聚合数字:「本次会话消耗 X token,扣 Y 元」。你不知道这 X token 里,有多少是工具调用、多少是上下文回传、哪一步突然涨了三倍。等月末发现「这个 Agent 比预期贵十倍」时,已经烧了一个月。
更隐蔽的是:工具调用的报错重试、上下文溢出截断,往往静默发生——你看到正常回答,账单上却多了一笔你看不懂的调用。没有逐调用明细,你连「哪一步贵了」都定位不了。
这也解释了为什么很多人觉得「Agent 太贵、用不起」:不是模型单价高,是工具调用的调用次数和上下文回传,被打包成一团看不清的账。
四、4 个开关,把工具调用账单摁住
每个都能落地,省下来的钱会叠加。
开关 1:给工具调用设步数上限。 Agent 跑多少步就停。一个没收敛的 ReAct 循环可能无限调工具,设个上限(比如 15 步)既是省钱也是防失控。
开关 2:压缩上下文回传。 工具返回别整段塞回去。只保留模型下一步真正需要的字段(比如搜索只留标题+链接+摘要,不塞全文);长结果做截断或先摘要再入上下文。这一步直接砍掉「越往后越贵」的那截。
开关 3:按 key / 按 Agent 设硬上限。 给每个 Agent、每个 key 设日级或月级额度上限,等于给「工具调用失控」装保险丝。配合上一步,单次异常不会拖垮整月账单。
开关 4:逐调用明细可导出。 账单真正的坑不在单价,在「出了事你才发现不了」。每次工具调用都留一行账:时间、模型、输入/输出 token、request_id、是否工具调用、耗时。异常(某 Agent 突然翻 10 倍、某步静默重试)当天就能看见,而不是月末才恍然大悟。
五、Yady 的取舍:每一条工具调用都看得见
我们把「逐调用可见」做成默认能力,而不是付费加购:
- 逐笔 request_id 明细可导出,工具调用和正常对话分开记、都能对账,不混成一团数;
- 固定倍率不随时段浮动,上游峰谷差价我们承担,工具调用也按同一把尺子计价;
- 上游调价、模型变动提前公告,不做静默变更;
- 方舟官方授权 + 境内链路不出境 + 数据不留存不训练。
也诚实交代短板:方舟通道当前只激活 1 个模型(DeepSeek-V4-Flash),广度是短板我们不掩饰;工具调用「怎么省」是你应用层自己的工程活(步数上限、上下文压缩),我们给的是把每一笔都摊开、让你能算清的干净链路,而不是替你把账做小。
六、30 秒自检:你的 Agent 账单经得起 4 问吗?
- 你的 Agent 有步数上限吗? 没设的,先设,防无限调工具。
- 工具返回是整段回传,还是压缩后再入上下文? 整段回传的,上下文成本会逐轮飙升。
- 每个 Agent / key 有硬额度上限吗? 没有的,迟早爆一次。
- 每笔工具调用能单独出明细、能导出对账吗? 给不了的,换平台。
Agent 省不省,不是「模型单价」决定的,是「调了多少次、每次上下文多长、有没有失控」决定的。把 4 个开关打开,再拿自己的调用日志算一遍——比看任何「Agent 很便宜」的通稿都准。
延伸阅读:上轮《输出 token 才是吞金兽》聊「输出比输入贵 3–10 倍」;更早《重试税》聊「失败自动重试把计量放大 20%–30%」;本轮聊「工具调用把一次回答拆成几十次计费」。三篇合起来,才是 Agent 时代账单的完整拼图。