用一项具体练习,为小型 API 智能体算出 30 天预算,再到 DeployManual 费用计算器核对。完成后,你会得到常态、繁忙、故障三种预算,一项资源选型决定,以及购买前必须确认的费用清单。
可复算的预算练习。 本文算术和计算器交互逻辑已在本地检查。下文的工作量、费率与资源费用均为虚构。没有进行云账单测试、生产性能测试或付费部署。选型图是解释性示意图,不是服务商控制台截图。
开始前需要什么
预留约 25 分钟。你只需要启用 JavaScript 的浏览器、本文,以及在另一个标签页打开的计算器。练习不需要云账号、支付卡、API 密钥,也不需要购买资源。
示例的所有金额都用 USD(美元)。计算器只改变币种标签,不做汇率换算,不读取实时价格,不保存预算,也不会限制实际支出。离开页面前,把最终输入和结果复制到自己的笔记中。这里一个月是 30 天规划周期,不是服务商实际的账单月份。
准备真实预算时,先收集确切模型与处理模式、预计任务量、已有用量记录、候选主机配置、备份保留期限和当前官方报价。缺少的数据标为未知,不要填零后把它当成免费。
1. 先定义任务,再选服务器
虚构智能体接收一份短文档,生成草稿,再检查草稿,模型调用全部通过外部 API 完成。它不运行本地模型,也不运行无头浏览器。
| 规划项目 | 本练习的假设 |
|---|---|
| 新任务 | 每天 20 个,持续 30 天,共 600 次任务尝试 |
| 正常模型调用 | 每个任务 3 次,尚未计入重试 |
| 额外模型调用 | 正常调用量的 20%,用于重试或修复 |
| 每次调用的平均计费 token | 2,000 个未缓存输入;500 个输出 |
| 应用峰值并发 | 2 个任务;每份文档不超过 2 MB |
| 质量目标 | 尝试任务中至少 90% 的结果通过审核 |
| 时间目标 | 已完成任务中,95% 在 120 秒内完成,包含排队时间 |
这些是测试目标和假设,不是实测值,也不代表某款服务器达标。任务总量影响 API 支出;同时运行的任务、解析过程、工具和保留数据影响应用资源需求。
沿着下图确定需要询价的资源。如果尚未确定架构,先读智能体应该运行在哪里。
本练习走调用 API 的应用分支。后面使用的 12 美元计算资源费用只是虚构预算,不对应某款套餐,也不能证明配置足够。租用前,先在现有开发设备上运行代表性任务,记录目标并发下的峰值内存、CPU 饱和情况、剩余磁盘、排队时间和完成时间。如果开发设备与候选服务器不同,这只能作为初始估计;之后仍需在获得授权的试用中验证目标配置。
根据观察到的现象选择下一步:
- 内存不足或频繁交换: 减少并发 worker,或测试内存更大的候选配置。浏览器和文档解析进程需要单独留出空间
- CPU 繁忙、队列增长: 减少本地计算、限制并发,或比较 CPU 容量。调整后重新测量,不要假设升级套餐能解决所有延迟
- 主机空闲却一直等待模型、限流或网络: 先检查 API 配额、响应时间和重试策略,再决定是否增加主机 CPU
- 自托管模型: 测试确切模型、量化方式、上下文长度和并发请求。Ollama 的并发说明解释了额外内存需求与排队行为。模型文件能放进磁盘,不等于运行内存够用
2. 先算模型 API 这一行
使用刻意虚构的费率:每百万未缓存输入 token 2 美元,每百万输出 token 8 美元。这是一个未命名模型的算术练习,不是 OpenAI 或 Vultr 的价格。为简化练习,假设没有缓存写入、缓存优惠或单独收费的工具。计算真实工作量时,应按适用的官方 API 价格说明替换费率和计费分类。
按顺序计算:
- 正常调用:600 个任务 × 3 次 = 1,800 次调用
- 额外调用:1,800 × 20% = 360 次调用
- 调用总量:1,800 + 360 = 2,160 次调用
- 输入 token:2,160 × 2,000 = 4,320,000 个;费用为 4.32 × 2 美元 = 8.64 美元
- 输出 token:2,160 × 500 = 1,080,000 个;费用为 1.08 × 8 美元 = 8.64 美元
- 模型 API 预估:8.64 + 8.64 = 每 30 天 17.28 美元
检查点:在这个虚构模型下,平均每次调用花费 0.008 美元。计算器不会计算 token 或重试,你需要把结果 17.28 填进去。
如果实际用量已经包含重试,不要再额外乘一次 20%。不要把全部输入按未缓存价格计费后,再加一次缓存输入费用;应把实际 token 分类分别乘以对应费率。另行加入供应商报告的工具费用、缓存写入等计费项目。较长历史和检索文档可能明显改变平均用量。
按假设的 90% 合格率,600 次任务尝试产生 540 个合格结果。每次尝试的 API 成本是 17.28 ÷ 600 = 0.0288 美元;每个合格结果的成本是 17.28 ÷ 540 = 0.032 美元。被拒绝和中途放弃的任务也必须计入支出。保留任务标识、用量分类、重试、耗时和结果状态即可,不必仅为了这份账目保存完整提示。
3. 填入计算器的六个字段
在第二个标签页打开费用计算器,按以下步骤操作。保留本文,以便核对预期结果。
- 把显示币种设为 USD(美元)
- 点击全部归零,确认所有输入和总额都变成零
- 按下表输入六个值。只输入数字,小数使用英文句点。结果会随输入更新,没有“计算”按钮
- 把汇总区与下面的检查点对照
| 页面字段名称 | 输入值 | 这笔虚构金额包含什么 |
|---|---|---|
| 计算 / 主机 | 12 | 应用主机预算,不含本地推理 |
| 模型 API | 17.28 | 第 2 步算出的 token 费用 |
| 备份 / 存储 | 3 | 备份、快照和存储的合计预算 |
| 其他月费 | 2 | 网络与监控预算 |
| 一次性设置费用 | 15 | 假设的一次性设置支出 |
| 费用预留 | 20 | 仅对持续费用增加 20% 预留 |
这些金额全部是假设值,包括备份与网络预算。练习没有给税费、汇率转换、域名续费、额外工具和你自己的时间定价。购买前必须补上真实费用。预留金额只是预算余量,不是服务商收费,也不是实际支出上限。
预期结果
| 汇总项目 | 预期显示金额(USD) |
|---|---|
| 每月基础费用 | 34.28 |
| 费用预留 | 6.86 |
| 每月费用(含预留) | 41.14 |
| 一次性设置 | 15.00 |
| 前 30 天 | 56.14 |
| 前 90 天 | 138.41 |
用未四舍五入的数字核对:持续费用 = 12 + 17.28 + 3 + 2 = 34.28。预留 = 34.28 × 0.20 = 6.856。每月含预留 = 41.136。前 30 天 = 41.136 + 15 = 56.136。前 90 天 = 3 × 41.136 + 15 = 138.408。
计算器只在显示时四舍五入。如果把已显示的 41.14 乘三再加 15,会得到 138.42,比正确的 90 天显示值多一美分。一次性设置费用只加一次,不再增加预留比例。
4. 试算繁忙月份和重试事故
保持计算 / 主机 = 12,备份 / 存储 = 3,其他月费 = 2,一次性设置费用 = 15,费用预留 = 20。每个场景只修改模型 API:
| 场景 | 模型 API 输入 | 每月含预留 | 前 30 天 | 前 90 天 |
|---|---|---|---|---|
| 常态:每天 20 个任务 | 17.28 | 41.14 | 56.14 | 138.41 |
| 繁忙:每天 40 个任务 | 34.56 | 61.87 | 76.87 | 200.62 |
| 故障压力:每 30 天额外调用 1,000 次 | 25.28 | 50.74 | 65.74 | 167.21 |
所有金额均为虚构美元。繁忙场景将调用量翻倍,保留相同的单次调用假设。它不能证明原主机承载得住这些任务;沿用主机预算前,需要重新核对容量。
故障场景在正常用量和常态重试之外,增加 1,000 × 0.008 美元 = 8 美元。表格有意把这笔事故预算放进每一个 30 天周期。它是压力预算,不是预测,也不代表已经验证某个限流器。
如果想模拟整个 90 天只发生一次事故,把模型 API 恢复为 17.28,一次性设置费用改为 23:原来的 15 加上一次性的 8。这里借用计算器的一次性费用栏记录特殊支出,不是说事故属于设置工作。预期前 30 天为 64.14,前 90 天为 146.41。这笔一次性的 8 不会增加预留比例,而且简单计算器把它计入第一个周期。如果事故发生在后续月份,应另用按日期编制的现金流表。
最后恢复常态的六个输入。写下你能承受的 30 天支出上限,再逐个比较场景。如果一次工具循环就可能超出上限,调高预留比例无法保护你:必须在应用中限制每个任务的模型调用或工具步数、重试次数、输出长度、运行时间和并发数。规定部分完成的工作如何处理,并在上线前另行测试这些控制。
5. 检查错误状态并恢复
以下都是安全的计算器操作,不会影响任何云账号。
| 操作 | 应有表现 | 如何恢复 |
|---|---|---|
| 删除“计算 / 主机”的值 | 字段报错,总额变为横线,不保留旧结果 | 输入 12 |
| 输入 -1、USD12、1,000 或 1e3 | 输入无效,不生成估算 | 使用非负的普通小数,例如 12 或 1000 |
| 费用预留输入 101 | 报错;允许范围是 0–100% | 输入 20 |
| 把 USD 改为 CNY | 数字不变,仅标签改变;没有换算 | 改回 USD;需要换币种时,先自行转换原始金额 |
| 点击“恢复示例” | 恢复内置的 12 / 20 / 3 / 0 / 0 / 15;每月 40.25,90 天 120.75 | 重新填写本文的六个值;该按钮不恢复本文场景 |
| 点击“全部归零” | 六个字段和所有总额都变成零 | 重新输入自己保存的数值 |
每个金额字段的范围是 0–1,000,000。如果输入一直处于禁用状态,或者修改后屏幕仍显示固定示例,请检查 JavaScript 是否启用、页面脚本是否成功加载。刷新一次,再确认点击全部归零确实改变结果。不要把无法交互的固定示例当成自己的估算。零预算只代表你输入了零,不代表部署免费。
6. 购买前替换所有假设
在自己的明细表里,为每个真实资源记录一行:资源与地区、计费单位、数量、当前费率及来源日期、归入计算器哪个字段、负责人、保留期限、移除方法。同时保留标准化的 30 天运行成本和实际到期付款金额。域名年费除以 12 有助于比较,但不是续费当天的扣款;也不要把同一笔费用重复计算。
针对确切产品和结算配置,逐项核对:
- 计算资源: vCPU、内存、磁盘、处理器架构、地区、小时或月度计费方式,以及附加功能。Vultr 配置说明列出可选项,但不保证某款套餐适合本文智能体
- 备份与存储: 同时使用自动备份与保留快照时,两项分别计费。核对自动备份费用、快照计费,以及附加存储。恢复副本可能比服务器保留更久,也继续花钱
- 网络: 包括报告下载和传往外部备份目的地的数据。Vultr 的通用带宽政策计量出站互联网流量,不计量入站流量。仍要确认实际产品的额度、地区条款与超额费率
- 闲置与退出: Vultr 实例停止后仍会计费。销毁实例会释放其资源分配并永久删除实例数据。先验证能够恢复,再单独检查独立存储与快照。本练习不要求你销毁任何资源
- 现金与人力: 适用税费、账单币种、换汇费用、促销到期、续费、维护时间,以及恢复演练所需的临时第二台服务器。把优惠额度当成临时抵扣,不要当成可持续的运行价格
最后写一份简短决定记录:所选架构、工作量目标、尚未验证的容量假设、带日期的费率来源、常态 / 繁忙 / 故障总额、账单告警负责人和退出方案。除非明确存在强制限制,告警通常只是通知。拿到第一张真实账单和用量报告后,逐行核对,再用每个合格结果的实测成本替换估计。