你的机器学习团队刚刚花了五个工程师月搭建了一个开源特征存储。你的财务主管看着薪酬支出,问了一个团队里谁都没料到的问题:这 $180,000 的工程时间,是计入本季度的费用,还是作为资产挂在资产负债表上?答案会影响你的烧钱倍数、你的现金流跑道测算,而且——如果你正在融资——还会影响你的财务报表所讲述的故事。而答案会因你是基于 Feast 构建还是购买了 Tecton 而完全不同。
特征存储是管理、存储和服务机器学习特征的基础设施层,同时服务于训练和实时推理。它的核心任务是防止训练-服务偏差:确保模型在生产环境中看到的特征与训练时完全一致。其架构有五个组成部分——用于训练数据的离线存储、用于低延迟服务的在线存储、计算特征值的特征管道、中央特征注册表,以及服务 API。当团队在 Feast 和 Tecton 之间做选择时,他们实际上是在两种截然不同的所有权模式之间做选择,而每种模式都会带来截然不同的会计处理方式。
Feast 对比 Tecton:自建 vs 购买的权衡
Feast 是领先的开源特征存储:免费使用、可自托管、灵活。在线存储由你自己运行(通常是 Redis 或 DynamoDB),离线存储也由你自己运行(S3、BigQuery 或 Snowflake),每一次升级、每一次故障值班、每一个扩容决策都由你负责。Tecton 则是全托管的商业替代方案,由 Uber Michelangelo 平台背后的团队成员打造。它通过企业级 SaaS 合同处理在线和离线服务、流式特征计算以及内置的特征监控。
标准的对比大致是这样的:
| 因素 | Feast | Tecton |
|---|---|---|
| 许可证成本 | 免费(仅基础设施成本) | 企业级 SaaS 定价 |
| 在线服务 | Redis、DynamoDB——由你运营 | 全托管 |
| 离线存储 | Parquet、BigQuery、Snowflake——由你对接 | 托管 |
| 流式特征 | 基于推送,由你构建管道 | 原生实时计算 |
| 特征监控 | 由你拼装外部工具 | 内置 |
| 运营负担 | 高——你的团队负责一切 | 低——供应商 SLA |
这张表的会计相关版本还要多一行:钱体现在哪里。使用 Tecton 时,几乎所有成本都以供应商发票的形式出现——一项订阅费用。使用 Feast 时,许可证一栏是零,真正的成本藏在工程薪酬里:你的数据工程师花在部署注册表、编写特征管道、调优在线存储以及构建 Feast 并不附带的监控上的那些周数。“零许可证成本”的开源基础设施仍然需要一笔工程工时的损益表科目,而这笔科目正是 ASC 350-40 所规范的。
会计问题:ASC 350-40 到底说了什么
在美国公认会计原则(U.S. GAAP)下,内部使用软件成本适用 ASC 350-40,它把软件项目的每一美元归入三个阶段之一(关于通用框架,参见我们的资本化 vs 费用化决策实用指南):
- 项目预备阶段——发生时费用化。 评估供应商、进行概念验证性探索、比较 Feast 与 Tecton、可行性研究,以及自建 vs 购买分析本身。所有这些都立即计入损益表。
- 应用开发阶段——符合条件的成本资本化。 一旦管理层授权并承诺推进该项目,设计、编码、配置、测试和集成软件的成本就作为资产资本化,并在其使用寿命内摊销。这是唯一一个能构建资产的阶段。
- 实施后及运营阶段——发生时费用化。 上线后的培训、维护、缺陷修复和持续运营。之后新增的功能可以重新启动资本化,但维持系统运转永远不行。
要进入应用开发阶段,必须满足两个条件:拥有相关权限的管理层已授权该项目(无论是隐性还是显性),并且项目很可能完成、软件很可能按其预期功能被使用。在这两点都成立之前,每一美元都仍是预备阶段费用——包括后来变成生产环境代码的“原型”。
资本化对符合条件的成本还有狭义定义。从事构建的开发人员的直接薪酬、与薪酬相关的成本(如福利),以及支付给参与项目的外部开发人员的第三方费用,通常都符合条件。从旧系统进行数据转换、培训、维护、一般管理费用和行政成本则不符合——即便它们是在应用开发窗口期内发生的。
将特征存储工作映射到三个阶段
以下是典型的 Feast 构建如何对应 ASC 350-40:
费用化:评估阶段。 你的团队花三周时间对 Feast 和 Tecton 进行基准测试,做一条示例管道的探索,阅读供应商文档。预备阶段——费用化。即便探索代码后来被复用到生产环境中,这也是如此;阶段是按活动当时的目的来判断的,而不是按代码最终变成什么来判断。
资本化:构建阶段。 管理层批准了 Feast 决策并为项目提供资金。工程师现在部署注册表、编写生产特征定义、构建批量和流式管道、将在线存储与你的推理服务集成,并运行集成测试和负载测试。这一窗口期内的直接工程薪酬,加上实施所需的任何承包商费用,都可以资本化——前提是你能够记录谁在什么时间做了什么。
费用化:上线后的一切。 你的值班轮换团队调优 Redis 延迟、在管道缺陷后回填某个特征、将新模型接入现有管道、升级 Feast 版本,并维护监控仪表盘。实施后——费用化。如果六个月后你新增了一项真正的新能力,比如为某条新产品线搭建流式管道,那么这一独立增强可以拥有自己的资本化窗口期。
最常见的失败模式是缺少书面记录。没有按项目阶段实时记录工时的资本化,很少能经受住审计。如果工程师的时间没有按特征存储构建与日常业务工作区分开来记录,你的审计师会把整件事都费用化——这或许本来就是正确答案,但它应该是一个决策,而不是默认结果。
换成购买 Tecton 会有什么变化
购买托管特征存储会颠覆整个会计图景。Tecton 是一份服务合同,而不是你拥有的软件,因此订阅费是按合同期内确认的运营费用——简单、可预测、经得起审计。
微妙之处在于实施。为自身用途配置 SaaS 平台——将 Tecton 与你的数据仓库集成、把服务 API 接入推理、迁移特征定义——在云计算指南下遵循同样的 ASC 350-40 逻辑:即使底层软件由供应商托管,应用开发阶段的实施成本也可以符合资本化条件。实践中,Tecton 的实施周期短到许多小公司基于重要性原则直接将其费用化。但如果你的集成花费了六位数的工程时间,同样的阶段分析就适用,同样的文档标准也成立。
这里还有一条给融资创始人的战略性脚注。将 Feast 构建资本化能改善当期 EBITDA 和毛利率表现,代价是不断增长的摊销负担和一项收购方尽职调查团队会仔细审查的资产。将 Tecton 订阅费用化则让损益表诚实地反映运行费率上的烧钱,但会让今年的数字看起来更沉重。两种处理方式都谈不上“更好”——但投资者会问你选了哪一种以及为什么,所以要有意识地选择并记录理由。
ASU 2025-06:阶段模型即将退出历史舞台
三阶段框架可以追溯到 1998 年,那时软件是按顺序瀑布式阶段构建的,边界清晰。它很难适配敏捷、迭代式的特征存储工作——当每个冲刺都交付到生产环境时,哪个冲刺算“预备”?FASB 也认同这一点。2025 年 9 月,它发布了 ASU 2025-06,取消了基于阶段的规则,代之以一个以是否仍存在重大开发不确定性为核心的、基于原则的框架。
在新模型下,当管理层已授权项目、完成和预期用途很有可能、且概念已越过关于性能要求、开发方法或可行性的重大不确定性时,资本化才开始。它适用于 2027 年 12 月 15 日之后开始的财年,允许提前采用。对于今天启动的特征存储构建,实用建议不变:拿到授权备忘录、按构建追踪工时、将评估与施工分开。这些习惯既能满足旧阶段,也能满足新原则。
特征存储构建的实用操作手册
无论你选择 Feast、Tecton 还是第三个选项,五项做法能让会计保持干净:
在构建开始前拿到书面授权。 一封来自 CTO 的邮件,批准 Feast 构建、预算以及预期的生产用途,就满足授权门槛。标注日期。审计师最先要的就是这份文件。
从第一天起按阶段追踪工程时间。 评估性探索归一类,生产构建工作归另一类,上线后维护归第三类。基于标签的工时追踪或冲刺标记都可以;六个月后凭记忆重建分类则不行。
只资本化直接成本。 构建工时的开发人员薪酬和福利,加上与实施相关的承包商发票。排除培训、从旧管道迁移数据、间接费用分摊,以及运行在线存储的云基础设施账单——托管是成品系统的运营成本,不是构建它的成本。
选择一个你能站得住脚的摊销年限。 内部使用软件通常按三到五年直线摊销。一个建立在快速迭代开源之上的特征存储,某个 Feast 大版本可能迫使重建,这支持选择较短年限。把理由写进资本化备忘录。
事实变化时做减值测试。 如果你中途放弃 Feast 构建并与 Tecton 签约,资本化的资产就发生了减值——将其减记。如果一次转型砍掉了特征存储所服务的产品线,同样如此。不再有用途的资本化软件不是资产。
会招致审计调整的常见错误
审计师在基础设施资本化中发现的错误,一致得令人沮丧。将评估阶段资本化——供应商比较、概念验证、探索——是最常见的;预备阶段的工作永远不可资本化,无论它后来被证明多么有用。把伪装成开发的维护资本化排第二:调优服务延迟和回填特征属于运营,不是施工。第三是缺少备忘录:一笔没有授权文件、没有阶段分析、没有摊销理由的资本化余额,会按一般原则被费用化。第四是按幻想年限摊销——把附着在一个每年发布破坏性变更的开源项目上的基础设施摊十年。第五是完全忘记云账单:那些精心资本化薪酬、却无视六位数年度 DynamoDB 和计算运行费率的团队,歪曲了当初为项目提供理由的自建 vs 购买比较。
把构建当作它可能成为的资产来追踪
Feast 与 Tecton 的决策通常被框定为工程自豪感与供应商便利之间的取舍。把它重新框定为财务问题,这一权衡就变得清晰了:Feast 把现金薪酬转化为一项带有摊销尾巴的资本资产,而 Tecton 把同样的能力转化为一项带有续约日期的干净运营费用。你的现金流跑道模型、你的毛利率、你的尽职调查故事都会随选择而改变——这正是为什么会计理应在架构评审中拥有一席之地,而不是事后的一条脚注。
这要从普通的记账纪律开始:按项目标记的工时、标注日期的授权、与构建相关的承包商发票,以及一份审计师能看懂的资本化备忘录。如果你的特征存储成本目前作为一个未加区分的工程薪酬科目躺在某个总账账户里,你已经失去了资本化的选项——记录无法事后重建。
简化你的财务管理
随着你扩展机器学习基础设施,为自建 vs 购买决策、资本化软件和摊销计划维护清晰的财务记录至关重要。Beancount.io 提供纯文本会计,让你对财务数据拥有完全的透明度和控制权——没有黑箱,没有供应商锁定。免费开始使用,看看为什么开发者和财务专业人士正在转向纯文本会计。





