独立开发者的月度开支盘点

An indie developer's monthly expenses

如果现在让我马上回答,上个月为了做产品一共花了多少钱,我可能需要翻银行卡、App Store、邮件账单和几个服务后台,才能慢慢拼出来。

费用散落在不同地方:

  • 按月或按年订阅的工具;
  • API 和云服务的按量账单;
  • 临时升级的账号;
  • 域名、模板和一次性购买;
  • 已经忘记,但仍在自动续费的服务。

每一笔付款时,我通常都知道为什么。

但过了一个月,再回头看,可能已经说不清它具体支持了什么,或者下个月是否还需要继续。

所以,除了在花钱前做判断,我觉得独立开发者还需要一个固定动作:

每个月盘一次工作开支。

它不是简单记账,也不是集中取消订阅,而是检查:这个月的投入去了哪里,换回了什么,下个月准备怎样调整。

第一步:把真实开支找全

先把所有和独立开发有关的费用放在一起:

  • AI 和开发工具;
  • API 与第三方服务;
  • 托管、数据库和存储;
  • 域名、邮件、分析和监控;
  • 一次性购买;
  • 实验和临时升级。

年付工具可以折算成月度成本。

否则,它只会在付款当月显得很贵,剩下的月份又像完全免费。

还要留意:

  • 免费试用结束后的自动扣款;
  • App Store 或 Google Play 中的零散订阅;
  • 不同币种支付;
  • 已经很少使用但仍在续费的工具;
  • 通用账号中实际用于某个项目的费用。

这一步只回答一件事:

维持现在这套工作方式,一个月实际需要多少钱?

第二步:把开支归到具体项目

总金额只能说明花了多少,不能说明花得是否合理。

每一笔费用最好能对应到:

  • 哪个项目;
  • 哪个阶段;
  • 哪项具体工作;
  • 得到了什么结果。

可以用一张很简单的表:

开支 项目或用途 本月结果 下月决定
Coding agent 主项目开发 完成阶段功能,但多次触顶 评估升级
模型 API 输出质量 eval 找到主要失败模式 继续保留预算
UI 工具 页面方案尝试 没有进入正式产品 取消
数据库 产品基础设施 当前用量很低 检查能否降级
备用 AI 工具 主工具受限时使用 本月只用一次 保留免费版

这里经常会发现两种情况。

一种是工具很好用,却没有服务于目前最重要的工作。

另一种是工具使用频率很高,但项目没有明显推进。

每天都在调用 coding agent,不等于开发投入一定有效。它可能完成了重要功能,也可能只是在不断返工和重写。

“用了很多”只能说明消耗,不代表回报。

第三步:看这笔钱换回了什么

早期产品还没有收入时,不能只用“赚回多少钱”判断开支。

一笔投入可能带来三类回报。

产出

例如:

  • 完成一个功能或阶段;
  • 做出可以测试的 demo;
  • 上线一个版本;
  • 完成一轮用户验证;
  • 得到一份可以交付的材料;
  • 完成原本一个人无法完成的工作。

“提高效率”太模糊。最好明确到实际完成了什么。

学习

有些实验没有保留,却帮助排除了错误方向:

  • 某个模型不适合;
  • 某项需求不值得继续;
  • 更贵的方案并没有更好;
  • 一个 workflow 过于复杂;
  • 问题不能靠继续修改 Prompt 解决。

只要结论改变了下一步,这笔实验费用就有价值。

如果只是试过,觉得“还可以”,既没有采用,也没有停止,就很难说得到了什么。

风险降低

有些费用不会直接生产功能,但可以避免更大的问题:

  • 备份;
  • 监控;
  • 错误告警;
  • 安全检查;
  • 测试环境;
  • API 使用上限;
  • 数据恢复。

这类工具即使本月没有触发,也不一定应该取消。要看它所防范的风险是否真实,以及是否有可靠替代。

如果一项费用没有带来产出、学习或风险降低,就需要认真考虑为什么继续。

第四步:不要只盘工具,也要盘项目

月度盘点很容易变成订阅清理。

但有时真正需要停下来的,不是某个工具,而是一个项目的投入方式。

可能出现这样的情况:

  • 每个工具都在使用;
  • API 调用都有用途;
  • 每天也在持续工作;
  • 但项目没有接近上线,没有得到用户反馈,也没有解决关键不确定性。

这时需要问的不是“哪个订阅要取消”,而是:

这个项目下个月还值得继续这样投入吗?

可以按项目检查:

  • 本月一共花了多少;
  • 主要花在开发、实验还是运行上;
  • 完成了什么;
  • 得到了什么新证据;
  • 最贵的部分是什么;
  • 下个月继续投入,希望得到什么结果;
  • 如果没有得到,准备缩小、暂停还是停止。

项目一直产生工作,不代表一直产生价值。

功能、文档和调用量都在增加,但如果没有更接近用户、上线或明确结论,就应该调整下一阶段。

第五步:检查是否在为重复工作付钱

除了工具功能重叠,还要检查工作本身有没有被反复执行。

例如:

  • 同一个问题默认交给多个模型;
  • 已确认的信息被重复提取;
  • 每次都重新传递大量背景;
  • 两个 coding agent 重复分析同一部分代码;
  • 局部修改重新生成整个文档或产品;
  • 因为不放心,默认再跑一次。

交叉验证当然有价值,但需要有明确目的。

第二次调用是在验证事实、找反例,还是只是重新听一个答案?

如果说不清,重复调用很可能只是把焦虑变成成本。

第六步:给每项开支一个决定

月底盘点的结果不应该只是一张记录表。

每项开支最好进入一个明确状态:

保留

持续支持重要工作,当前套餐也合适。

升级

已经出现明确、重复而且重要的瓶颈,升级能直接解决。

降级

工具有价值,但当前用量不需要现有套餐。

取消

没有进入真实工作流、和其他工具高度重复,或暂时不服务当前重点。

限额

服务仍然需要,但按量成本要设置预算、告警或使用规则。

再观察一个月

暂时没有足够信息,但需要写明下个月看什么,不能一直“以后再说”。

项目本身也可以得到一个决定:

  • 继续;
  • 缩小 Scope;
  • 暂停开发;
  • 先做验证;
  • 完成本阶段后停止。

第七步:定下个月的预算

盘点不能只解释过去。

最后还要确定下个月准备怎样投入:

  • 哪些固定订阅继续;
  • API 和云服务的预算上限;
  • 预留多少实验费用;
  • 哪个项目优先获得预算;
  • 哪些服务要取消或降级;
  • 什么结果出现后,可以追加投入;
  • 什么结果没有出现,就暂停下一轮开支。

这样,下个月的预算不是自动复制本月账单,而是根据本月结果重新安排。

一份简单模板就够了

每月底可以记录以下内容。

本月总览

  • 固定订阅:
  • 按量调用:
  • 基础设施:
  • 一次性投入:
  • 实验费用:
  • 总计:
  • 相比上月变化:

分项目

  • 项目:
  • 本月开支:
  • 完成的工作:
  • 得到的验证或结论:
  • 最大成本:
  • 下月决定:

分工具和服务

  • 名称:
  • 金额:
  • 支持的工作:
  • 带来的产出、学习或风险降低:
  • 是否与其他工具或工作重复:
  • 下月决定:

异常检查

  • 哪项费用明显增长?
  • 是否出现失败重试或无效调用?
  • 是否有忘记取消的服务?
  • 是否在提前购买未来才需要的能力?
  • 是否用更高套餐掩盖工作流问题?

下月计划

  • 固定预算:
  • API 上限:
  • 实验预算:
  • 优先项目:
  • 取消或降级项:
  • 允许追加投入的条件:

月度盘点不是为了证明每一笔钱都花得正确。

独立开发本来就需要试错,也不可能事先知道每个工具和方向是否有效。

它更实际的作用是:让钱花出去以后,不要就此失去踪迹。

月底至少应该知道:

  • 钱去了哪里;
  • 换回了什么;
  • 哪些投入应该继续;
  • 哪些需要及时停止;
  • 下个月准备把预算放在哪里。

最后需要判断的,也不只是某个工具值不值得续费。

而是:

我现在这套做产品的方式,还值得继续这样投入吗?