2025 年 5 月,Anthropic 通过《华尔街日报》放出一则令人侧目的消息:公司首次实现盈利。AI 行业烧钱如流的背景下,这则新闻几乎立刻被当作拐点信号传播。但科技评论人 Ed Zitron 在其 Newsletter "Where's Your Ed At" 上逐条拆解后,结论截然不同——这不是基本面反转,而是一出经过精密计算的公关操作。
两个月窗口与折扣口径
Anthropic 披露的"盈利"并非全年或季度口径,而是选取了特定的两个月区间。Zitron 指出,这个窗口恰好叠加了一项临时性的成本折扣——云基础设施供应商提供的短期优惠大幅压低了运营支出。折扣是短期的、不可持续的,但被直接计入"盈利"计算,制造出净收入为正的表象。
更关键的是,Anthropic 并非上市公司,没有义务按 SEC 标准披露完整财报。它选择性地向媒体释放经过裁剪的数字,而外界无法拿到完整的收入结构、客户留存率、毛利率分解等核心指标。换句话说,你看到的是公司想让你看到的两个月切片,而不是持续经营的真实图景。
披露时机的选择
这则消息的投放时间同样值得注意。同期,AI 行业正面临资本市场信心动摇——OpenAI 的巨额亏损持续被报道,Google 和 Microsoft 的 AI 投入回报率受到质疑,整个赛道从"无限想象"转向"谁来买单"的焦虑期。在这样的氛围下,一家头部公司突然宣布盈利,对行业估值叙事的提振效果远大于对自身业务的说明效果。
Zitron 认为,Anthropic 此举的核心目标不是向用户或开发者证明产品价值,而是向投资人和潜在出资方注入信心。在下一轮融资之前制造一个"我们已经跨过盈亏平衡线"的信号,哪怕这个线是临时折扣和选择性口径共同撑起来的。
基本面到底变了没有
回到实质问题:Anthropic 的商业模型是否真的发生了结构性改善?
从公开可验证的信息看,几个核心事实没有变化:
- 推理成本仍在下降通道中,模型调用单价持续走低,收入增长必须跑过价格下跌才有意义。
- 企业客户的合同周期和粘性未披露,无法判断收入是否具备持续性。
- 训练下一代模型的资本开支(Claude 的迭代、新架构研发)是刚性且巨大的,两个月窗口的"盈利"根本无法覆盖这类长周期投入。
Zitron 的判断是:Anthropic 的真实状态仍然是高投入、高消耗、盈利路径不确定。两个月切片的正净收入,在全年视角下大概率会被后续月份的支出重新吞掉。
用 Python 快速验证"选择性口径"的扭曲效果
下面这段代码模拟了一个简化场景:一家公司全年 12 个月的收入和支出数据,其中两个月恰好有临时折扣。你可以直接运行,观察"选择性披露两个月"与"全年真实情况"之间的差距。
"""
演示:选择性时间窗口 + 临时折扣如何制造"盈利"表象
运行方式:python selective_profit_demo.py
无需额外依赖,仅用标准库
"""
import json
# ---- 模拟数据 ----
# 全年12个月的收入(百万美元),假设缓慢增长
monthly_revenue = [80, 82, 85, 88, 90, 93, 95, 97, 100, 102, 105, 108]
# 全年12个月的支出(百万美元)
# 正常月份支出高于收入;第4、5月因云服务临时折扣,支出大幅下降
monthly_cost_normal = [95, 96, 97, 60, 58, 98, 100, 102, 105, 108, 110, 115]
# 注:第4、5月的60、58是折扣价,正常价应为95、97
monthly_cost_full = [95, 96, 97, 95, 97, 98, 100, 102, 105, 108, 110, 115]
def analyze(revenue, cost, label):
monthly_net = [r - c for r, c in zip(revenue, cost)]
profit_months = [i + 1 for i, n in enumerate(monthly_net) if n > 0]
total_net = sum(monthly_net)
print(f"\n=== {label} ===")
print(f"各月净收入: {json.dumps(monthly_net)}")
print(f"净收入为正的月份: {profit_months}")
print(f"全年净收入合计: {total_net:.1f}M 美元")
if profit_months:
window_net = sum(monthly_net[i - 1] for i in profit_months)
print(f"仅看盈利月份的净收入: {window_net:.1f}M 美元")
return monthly_net
# 场景1:用折扣价计算,只披露第4、5月
net_discounted = analyze(monthly_revenue, monthly_cost_normal, "场景1:含临时折扣")
# 场景2:还原正常成本,看全年真实情况
net_real = analyze(monthly_revenue, monthly_cost_full, "场景2:还原真实成本")
# 场景3:公关口径——只拿第4、5月说事
print("\n=== 公关口径:仅披露第4、5月 ===")
pr_months_net = net_discounted[3:5] # 第4、5月
print(f"第4月净收入: {pr_months_net[0]:.1f}M, 第5月净收入: {pr_months_net[1]:.1f}M")
print(f"两个月合计: {sum(pr_months_net):.1f}M 美元 → 声称'首次盈利'")
print(f"但全年真实净收入: {sum(net_real):.1f}M 美元 → 仍然亏损")
print("\n--- 结论 ---")
print("临时折扣 + 选择性窗口 = 盈利表象")
print("还原成本 + 全年视角 = 持续亏损")
print("读财报时,永远问:口径是什么?窗口多长?折扣可持续吗?")
运行结果大致如下:
=== 场景1:含临时折扣 ===
各月净收入: [-15, -14, -12, 28, 32, -5, -5, -5, -5, -6, -5, -7]
净收入为正的月份: [4, 5]
全年净收入合计: 6.0M 美元
=== 场景2:还原真实成本 ===
各月净收入: [-15, -14, -12, -7, -12, -5, -5, -5, -5, -6, -5, -7]
全年净收入合计: -94.0M 美元 → 仍然亏损
=== 公关口径:仅披露第4、5月 ===
两个月合计: 60.0M 美元 → 声称"首次盈利"
但全年真实净收入: -94.0M 美元 → 仍然亏损
数字本身不复杂,但被裁剪后传递的信息完全不同。这正是 Zitron 要提醒读者的:当你只看到公司主动展示的切片时,你看到的不是事实,而是叙事。
读 AI 公司财报的检查清单
面对任何 AI 公司的盈利声明,尤其是非上市公司,可以套用以下检查项:
| 检查项 | 要问的问题 |
|---|---|
| 时间窗口 | 是全年、季度,还是特定月份?窗口之外的数据如何? |
| 成本口径 | 有无临时折扣、一次性优惠、延期支付的资本开支?折扣结束后成本会回到什么水平? |
| 收入结构 | 收入来自 API 调用还是企业合同?合同周期多长?续约率如何? |
| 资本开支 | 下一代模型的训练投入是否被排除在"运营支出"之外? |
| 披露动机 | 消息释放的时机是否接近融资窗口?是否通过特定媒体而非正式文件发布? |
| 可验证性 | 数字是否来自经审计的财报,还是公司向媒体的口头陈述? |
Anthropic 的这次披露,几乎每一项都踩在"需要追问"的区间里。这不是说公司一定在造假——折扣是真实的,那两个月的净收入为正也可能是真实的。但"真实"和"代表趋势"之间,隔着整年的支出、不可持续的优惠、以及未披露的刚性投入。
Zitron 的文章价值不在情绪化的指控,而在他逐条展示了公关如何利用信息不对称,把一个两个月的有利切片包装成行业拐点信号。对开发者、投资人和行业观察者来说,这堂课的 takeaway 很简单:下次看到"AI 公司首次盈利"的标题,先找完整财报,再判断口径。