博客
基础知识

发布于 更新于

Shouryamaan 和 Arag

AI Agent 基础设施成本:模型、存储、计算与工具调用

以 Markdown 阅读

AI agent 基础设施成本是完成一项任务的总成本,包括模型 token、付费工具、执行时间、存储、网络使用、重试和闲置资源。只看模型账单,会漏掉 agent 绕远路或中途失败时随之增长的成本。

正确的分母应该是实际产出,例如已解决的工单、已部署的应用或已审核的文档。如果失败的请求增多,那么即使单次请求成本下降,每项已完成任务的成本仍可能上升。

六类成本

模型 token

记录每次模型调用的输入 token、缓存输入 token、提供商披露的推理 token,以及输出 token。不同模型的价格不同且可能调整,因此应依据保存的用量和有版本记录的价格表计算,而不是硬编码一个混合费率。

OpenAI API 定价等提供商页面会公布计费单位。请在自己的记录中保存历史运行实际使用的价格,否则用今天的价格重新计算旧任务,就会改写历史成本。

付费工具与外部 API

搜索、浏览器会话、语音、邮件、图像生成、地图和数据提供商可能按调用次数、结果数、分钟数或字节数收费。将提供商操作与 agent 工具调用记录在一起,一条工作流追踪才能同时解释行为和成本。

如果工具返回的结果含糊不清,由此产生的重试成本可能高于它标出的单次价格。工具选择错误调试指南可以帮助区分工具选择失败和提供商故障。

Agent 与沙箱运行时

统计活跃 CPU 或 worker 时间、内存占用时长、沙箱分钟数,以及任何最低会话费用。即使没有代码在运行,漫长的模型等待也可能让沙箱保持存活。如果提供商按后者计费,应同时记录活跃执行时间和总生命周期。

数据库、存储与网络

持久服务会产生独立于 agent 运行次数的基础成本。应计入数据库计算、保留的日志、检查点、向量索引、对象存储和网络出口流量。通过租户用量、工作流写入量或存储字节数等稳定规则分摊共享资源,并公开记录所用规则。

重试与失败的运行

让 attempted cost 包含所有运行,无论成功与否:

cost per successful task = total attempted cost / successful tasks

如果 100 次运行中有 20 次在消耗大部分预算后失败,剩余 80 项成功结果就需要共同承担这些支出。因此,生产环境 agent 指南会将限制重试同时视为成本和可靠性控制。

闲置资源

Agent 可能创建数据库、部署或沙箱后一直没有清理。应追踪运行结束后仍存在的资源、其所有者、最后活动时间和清理期限。除非资源记录能反向关联创建它的工作流,否则按运行统计的成本看板会漏掉这些费用。

一套可审计的计算方法

对于一条工作流,计算:

run cost = model + paid tools + runtime + storage allocation + network

completed-task cost =
  sum of successful, failed, and retried run costs
  divided by completed tasks

同时报告中位数和 p95。平均值会掩盖少量长循环,而最大值可能描述的是一次事故,并不代表日常运行情况。最大值仍应单独保留,作为告警场景。

在成本发生的位置设置预算

成本来源 可强制执行的限制
模型使用 每次运行的 token、调用次数或金额
工具 每个工具的调用次数,以及参数完全相同的重复调用次数
运行时 墙上时间、CPU、内存和并发会话数
存储 字节数、保留的产物和检查点生命周期
重试 每项操作的尝试次数和重试总支出
资源配置 资源数量、层级和自动过期时间

达到限制时,运行时应停止工作。提示模型节省成本可以作为指导,但无法真正强制执行预算。

如何将 Cohesivity 用量纳入模型

Cohesivity 将按量计费的提供商活动与套餐配额分开统计。其定价页面介绍了当前的 bucket 和 fluid 配额。将 fluid 用量映射到引发这些用量的提供商调用,并将 bucket 用量映射到其占用的已配置服务或账户配额。

如果目标是诊断问题,就不要把这些记录合并为一个 Cohesivity 数字。你仍需要看出是哪次浏览器循环、模型重试或被遗忘的部署造成了变化。

先测量,再估算规模化成本

选择一项有代表性的任务,捕获每次模型调用、工具调用、重试、运行时区间和创建的资源。将数据标记为测量值、配置值或假设值,再分别计算常规情况、p95 和一次失败循环的成本。

下方的提示词会依据项目准备这份成本模型,调查过程中不会产生费用。