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 和一次失败循环的成本。
下方的提示词会依据项目准备这份成本模型,调查过程中不会产生费用。