Anthropic Marshmallow & Melon深度解析:棉花糖与甜瓜,Claude新模型代号曝光背后的产品线重构

Anthropic Marshmallow & Melon深度解析:棉花糖与甜瓜,Claude新模型代号曝光背后的产品线重构

一、引言:代号泄露背后的行业信号

2026年8月24日,一个普通的星期一,AI开发者社区却因为一条推文炸开了锅。开发者 @kimmonismus 在 Anthropic 的 API 接口中发现了两个从未公开的模型代号:claude-marshmallow-eapclaude-melon-eap。消息一出,迅速在 Discord、X(原Twitter)和各大开发者社区引发连锁反应,凤凰网科技、机器之心、新智元等国内科技媒体第一时间跟进报道。

这不是 Anthropic 第一次在 API 中"意外"泄露模型代号。就在七月初,claude-honeycomb-eap 曾在 Cursor 的模型选择器中短暂出现,随后被撤下——而 Opus 5 在 7 月 24 日正式发布,证实了 Honeycomb 正是 Opus 5 的早期内部代号。这次泄露的"eap"后缀同样指向 Early Access Program(早期访问计划),意味着这两个模型已经进入小范围测试阶段。

但这一次,情况比单纯的"新模型曝光"更为复杂。Marshmallow(棉花糖)和 Melon(甜瓜)的出现,恰逢 Anthropic 面临多重战略压力:旗舰模型 Fable 5 企业端增长停滞、Opus 5 以性价比反超自家旗舰、开源模型 Token 份额从 4 月的 11% 暴涨至 8 月的 62%。这场代号泄露,本质上是一次被迫提前曝光的产品线重构信号。

本文将从八个维度,深度解析这两个神秘代号背后的技术、商业与战略含义。


二、模型代号曝光始末

2.1 发现过程

2026 年 8 月 24 日凌晨,AI 资讯追踪者 @kimmonismus 在 X 发布截图,显示 Anthropic API 系统中出现了两个新的模型 ID:

claude-marshmallow-eap
claude-melon-eap

随后,另一名安全研究员 @chetaslua 进一步确认,claude-marshmallow-ht-eap 这个模型 ID 早在 8 月 21 日就已经处于活跃状态。这里的"ht"后缀可能代表"holdout test"(保留测试集)或"hand-tuned"(手工调优),暗示该模型当时正在进行红队安全评估。

2.2 “eap"后缀的含义

EAP(Early Access Program)是 Anthropic 的标准测试流程。在新模型公开发布之前,Anthropic 会将其以 EAP 形式开放给少量安全研究人员和测试开发者,进行性能评估和安全审计。此前 Honeycomb EAP 的流程给出了清晰的先例:

事件时间间隔
Honeycomb EAP 泄露7 月 9 日
Opus 5 正式发布7 月 24 日15 天
Marshmallow/Melon EAP 泄露8 月 24 日
推测正式发布9 月初~10-15 天

如果参照 Honeycomb 的节奏,Marshmallow 和 Melon 的正式发布可能就在 9 月上旬。

2.3 社区初步解读

早期测试者的反馈提供了几个关键信息点:

  • Marshmallow 的综合表现优于 Melon
  • Marshmallow 的对话自然度被认为已经超过 Opus 5
  • 两个模型均未达到 Fable 5 的能力水平
  • 在 3D 强化学习任务(如建筑物放置)中表现突出,使用了大量思考 token

这些信息指向一个清晰的判断:Marshmallow 和 Melon 是 Opus/Sonnet 级别的迭代更新,而非全新的旗舰级突破。


三、Marshmallow vs Melon:能力对比与定位推测

3.1 性能分层

综合各方信息,社区对两个模型的定位有以下几种推测:

主流推测(一):

  • Marshmallow → Claude Opus 5.1(Opus 级别迭代)
  • Melon → Claude Sonnet 5.1(Sonnet 级别迭代)

主流推测(二):

  • Marshmallow → Claude Opus 5.1
  • Melon → 新一代 Haiku(轻量级迭代)

少数推测:

  • 两者均为全新开发分支,不直接对应现有产品线

从早期测试反馈来看,推测一的可信度最高。Marshmallow 对话自然度超越 Opus 5 的表现,符合 Opus 级别迭代的预期;而 Melon 稍逊一筹的定位,则更接近 Sonnet 或 Haiku 级别。

3.2 能力热力图对比

┌─────────────────────────────────────────────────────────────┐
│                    Claude 模型能力对比                        │
├──────────────┬──────────┬──────────┬──────────┬──────────────┤
│   能力维度   │ Opus 5   │ Marshmallow │ Melon  │   Fable 5    │
├──────────────┼──────────┼──────────┼──────────┼──────────────┤
│ 对话自然度   │ ████████ │ █████████ │ ███████  │ ███████████  │
│              │   80%    │   85%    │   72%    │    92%       │
├──────────────┼──────────┼──────────┼──────────┼──────────────┤
│ 代码生成     │ █████████ │ █████████ │ ████████ │ ███████████  │
│              │   88%    │   90%    │   82%    │    93%       │
├──────────────┼──────────┼──────────┼──────────┼──────────────┤
│ 推理能力     │ ████████ │ █████████ │ ███████  │ ████████████ │
│              │   82%    │   86%    │   75%    │    95%       │
├──────────────┼──────────┼──────────┼──────────┼──────────────┤
│ 3D 强化学习  │ ███████  │ █████████ │ ███████  │ ██████████   │
│              │   70%    │   88%    │   76%    │    90%       │
├──────────────┼──────────┼──────────┼──────────┼──────────────┤
│ 工具调用     │ █████████ │ █████████ │ ████████ │ ███████████  │
│              │   85%    │   87%    │   80%    │    91%       │
├──────────────┼──────────┼──────────┼──────────┼──────────────┤
│ 成本效率     │ █████████ │ █████████ │ █████████│ ██████       │
│              │   90%    │   92%    │   95%    │    60%       │
└──────────────┴──────────┴──────────┴──────────┴──────────────┘

注:以上数据基于社区测试者的定性反馈和技术推测,非 Anthropic 官方数据。

3.3 3D强化学习的特殊意义

早期测试者特别提到,Marshmallow 在 3D 强化学习任务中表现突出,建筑物放置效果良好。这一细节意义重大:3D 空间推理和强化学习结合的复杂性远高于纯文本推理,它要求模型同时具备视觉理解、空间规划、物理规则认知和长期规划能力。如果 Marshmallow 在这类任务上确实有显著提升,说明 Anthropic 在以下技术方向上取得了进展:

  1. 多模态推理的深化:视觉-空间-语言的联合推理能力提升
  2. 思考 token 的优化分配:在需要深度推理的任务上自动分配更多计算资源
  3. 强化学习训练范式的改进:可能引入了新的 RL 训练策略或奖励模型设计

四、命名体系演变:从文学到食物的符号学分析

4.1 命名体系时间线

Anthropic 的模型命名经历了三个阶段,每一阶段的转变都对应着不同的战略意图:

第一阶段:文学体裁(2024.03 - 2026.06)
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│  Haiku   │ │  Sonnet  │ │   Opus   │ │  Fable   │ │  Mythos  │
│  (俳句)  │ │ (十四行诗)│ │ (乐章)   │ │ (寓言)   │ │ (神话)   │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
   轻量级       中端主力      高端旗舰      前沿巅峰      受限前沿

第二阶段:动物(2026.02 - 2026.07)
┌──────────────┐
│    Fennec    │
│   (耳廓狐)   │
│  Sonnet 4.6  │
│   内部代号   │
└──────────────┘

第三阶段:食物(2026.07 - 至今)
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│   Honeycomb  │ │  Marshmallow │ │    Melon     │
│   (蜂巢)     │ │  (棉花糖)    │ │   (甜瓜)     │
│   → Opus 5   │ │  → Opus 5.1? │ │  → Sonnet 5.1│
│   已确认     │ │   推测中     │ │   / Haiku?   │
└──────────────┘ └──────────────┘ └──────────────┘

4.2 命名切换的战略含义

从文学体裁到动物再到食物的转变,绝非随意的内部趣味选择,它很可能反映了三个层面的战略变化:

第一层:开发分支的独立化

文学体裁命名对应的是对外发布的正式产品线,是面向市场和用户的"品牌标识”。而食物命名则暗示这些模型属于一个独立的、并行开发的内部分支。这类似于 Google 的"Bard"(吟游诗人)到"Gemini"(双子座)的命名切换,标志着产品线的代际更替。

第二层:测试阶段的隔离

EAP 模型使用食物代号,而非正式产品名,本身就是一种"心理隔离"策略——即使代号泄露,也不会对正式品牌造成直接冲击。如果测试失败,可以悄无声息地废弃"棉花糖"和"甜瓜",而不影响"Haiku"和"Sonnet"的品牌价值。

第三层:新架构的暗示

消息人士指出,食物命名很可能对应着全新的训练架构或训练范式。如果 Marshmallow 和 Melon 确实基于与 Opus 5 不同的技术路线(例如更深的 Transformer 层数、新的注意力机制,或更大规模的 MoE 配置),那么使用全新的命名体系就变得合理了。

4.3 代码示例:命名体系解析器

"""
Anthropic Claude 模型命名解析器
用于解析和分类 Claude 模型代号
"""

from dataclasses import dataclass
from typing import Optional
import re

@dataclass
class ClaudeModelInfo:
    """Claude 模型信息"""
    codename: str
    tier: str            # Haiku, Sonnet, Opus, Fable, Mythos
    gen_version: str     # 5.1, 5, 4.8 等
    is_eap: bool         # 是否早期访问版本
    naming_family: str   # literature, animal, food

class ClaudeNamingParser:
    """Claude 命名解析器"""
    
    # 命名体系映射
    LITERATURE_TIERS = {'haiku', 'sonnet', 'opus', 'fable', 'mythos'}
    ANIMAL_NAMES = {'fennec'}
    FOOD_NAMES = {'honeycomb', 'marshmallow', 'melon'}
    
    # 已知映射
    EAP_TO_PRODUCT = {
        'honeycomb': 'opus-5',
        'marshmallow': 'opus-5.1',   # 推测
        'melon': 'sonnet-5.1',       # 推测
    }
    
    @classmethod
    def parse(cls, model_id: str) -> Optional[ClaudeModelInfo]:
        """解析模型 ID"""
        # 匹配模式: claude-{name}-eap 或 claude-{name}-{version}
        eap_match = re.match(r'claude-(\w+)-eap', model_id)
        prod_match = re.match(r'claude-(\w+)-(\d+(?:\.\d+)?)', model_id)
        
        if eap_match:
            codename = eap_match.group(1).lower()
            is_eap = True
            if codename in cls.LITERATURE_TIERS:
                naming_family = 'literature'
                tier = codename.capitalize()
                gen_version = 'eap'
            elif codename in cls.ANIMAL_NAMES:
                naming_family = 'animal'
                tier = 'Unknown'
                gen_version = 'eap'
            elif codename in cls.FOOD_NAMES:
                naming_family = 'food'
                tier = 'Unknown (EAP)'
                gen_version = 'eap'
            else:
                naming_family = 'unknown'
                tier = 'Unknown'
                gen_version = 'eap'
                
            return ClaudeModelInfo(
                codename=codename,
                tier=tier,
                gen_version=gen_version,
                is_eap=is_eap,
                naming_family=naming_family
            )
        
        return None

# 测试解析
test_ids = [
    'claude-marshmallow-eap',
    'claude-melon-eap',
    'claude-honeycomb-eap',
    'claude-fennec-eap',
    'claude-opus-5',
    'claude-sonnet-5',
]

parser = ClaudeNamingParser()
for model_id in test_ids:
    info = parser.parse(model_id)
    if info:
        print(f"{'='*60}")
        print(f"模型ID: {model_id}")
        print(f"  代号: {info.codename}")
        print(f"  层级: {info.tier}")
        print(f"  版本: {info.gen_version}")
        print(f"  EAP:  {info.is_eap}")
        print(f"  命名体系: {info.naming_family}")

五、Fable 5 困境深度分析

5.1 Ramp 数据揭示的残酷现实

如果说 Marshmallow 和 Melon 的泄露是"表",那么 Fable 5 的困境就是"里"。支付公司 Ramp 覆盖约 7 万家企业的支出数据,揭示了一个让 Anthropic 无法忽视的信号:

Fable 5 发布两个多月后,企业端支出占比仅约 11%,增长趋于平稳,远未达到上一代旗舰应有的市场渗透率。

┌─────────────────────────────────────────────────────────────────────┐
│              Anthropic 模型企业支出占比(2026年8月)                   │
│                                                                     │
│  Fable 5  ████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  11.4%    │
│                                                                     │
│  Opus 5   ██████████████████████████████████████░░░░░░░░  30.2%    │
│                                                                     │
│  Sonnet 5 ████████████████████████████████████████████████  38.5%   │
│                                                                     │
│  Haiku 4.5████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  15.3%   │
│                                                                     │
│  其他     █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   4.6%    │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘
*数据来源:Ramp 企业支付数据,覆盖约 7 万家企业,2026年8月*

更让人震惊的是,7 月底才上线的 Opus 5,企业支出已经反超 Fable 5。这在 AI 行业历史上几乎是前所未有的——新旗舰被自家"次旗舰"在商业上击败。

### 5.2 CursorBench 3.2 的成本效率对比

CursorBench 3.2 的测试结果,从技术层面解释了 Fable 5 为何"叫好不叫座":

| 指标 | Opus 5 | Fable 5 | 差距 |
|------|--------|---------|------|
| CursorBench 3.2 得分 | 70.0% | 70.5% | **仅 0.5 个百分点** |
| 每任务成本 | $8.23 | $17.32 | **Fable 贵 110%** |
| 性价比(得分/成本) | 8.51 | 4.07 | **Opus 高 109%** |

当 Opus 5 用一半的价格达到了几乎相同的 CursorBench 分数时,理性的企业 CTO 没有理由选择 Fable 5。

### 5.3 竞争对手的分流

OpenAI 的 GPT-5.6 Sol 定价为每百万输入 token 5 美元、输出 30 美元,虽然总价仍不低,但同期在 Ramp 数据中拿下了 25% 的 Token 用量和 23% 的支出份额。Fable 5 的总营收贡献仅为 Sol 的 75%。

更为致命的是来自开源生态的冲击。DeepSeek V4 Pro 定价仅为每百万 token 0.87 美元,Grok 4.6 为 6 美元——这些"够用"的模型正在用十分之一的价格蚕食旗舰模型的推理市场。

---

## 六、Opus 5 性价比碾压:技术指标与商业逻辑

### 6.1 基准测试全面对比

Opus 5 于 2026 年 7 月 24 日发布,定价与 Opus 4.8 持平(输入 $5/百万 token,输出 $25/百万 token),但性能全面超越。以下是关键基准测试对比:

```python
"""
Fable 5 vs Opus 5 基准测试对比分析
"""

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# 基准测试数据
benchmarks = {
    'Benchmark': [
        'SWE-bench Verified',
        'SWE-bench Pro',
        'Frontier-Bench v0.1',
        'GDPval-AA v2 (Elo)',
        'ARC-AGI-3',
        'OSWorld 2.0',
        'CursorBench 3.2'
    ],
    'Opus 5': [96.0, 79.2, 43.3, 1861, 30.2, 38.5, 70.0],
    'Fable 5': [95.0, 80.3, 33.7, 1747, 'N/A', 35.0, 70.5],
    'Opus 5 成本($/任务)': ['N/A', 'N/A', 'N/A', 2.03, 'N/A', 'N/A', 8.23],
    'Fable 5 成本($/任务)': ['N/A', 'N/A', 'N/A', 2.75, 'N/A', 'N/A', 17.32],
}

df = pd.DataFrame(benchmarks)
print("=" * 80)
print("Opus 5 vs Fable 5 基准测试对比")
print("=" * 80)
print(df.to_string(index=False))
print("=" * 80)

# 计算 Opus 5 领先的基准数量
opus_wins = 0
fable_wins = 0
ties = 0

for i in range(len(benchmarks['Benchmark'])):
    o = benchmarks['Opus 5'][i]
    f = benchmarks['Fable 5'][i]
    if isinstance(o, (int, float)) and isinstance(f, (int, float)):
        if o > f:
            opus_wins += 1
        elif f > o:
            fable_wins += 1
        else:
            ties += 1

print(f"\nOpus 5 领先: {opus_wins} 项")
print(f"Fable 5 领先: {fable_wins} 项")
print(f"持平: {ties} 项")
print(f"\n结论: Opus 5 在 {opus_wins}/{opus_wins + fable_wins + ties} 项基准测试中领先或持平")
print(f"      但价格仅为 Fable 5 的一半")

# 成本效率分析
print("\n" + "=" * 80)
print("成本效率分析(每 Task 成本)")
print("=" * 80)
print(f"CursorBench 3.2:")
print(f"  Opus 5:  $8.23/task → 得分 70.0% → 效率: {70.0/8.23:.2f} 分/美元")
print(f"  Fable 5: $17.32/task → 得分 70.5% → 效率: {70.5/17.32:.2f} 分/美元")
print(f"  Opus 5 效率提升: {(70.0/8.23)/(70.5/17.32) - 1:.1%}")

print(f"\nGDPval-AA v2:")
print(f"  Opus 5:  $2.03/task → Elo 1861")
print(f"  Fable 5: $2.75/task → Elo 1747")
print(f"  Opus 5 成本低 {(2.75-2.03)/2.75:.0%},Elo 高 {(1861-1747)/1747:.1%}")

6.2 定价策略的深层逻辑

Opus 5 定价 $5/$25(输入/输出每百万 token),仅为 Fable 5 的 $10/$50 的一半。这一策略并非简单的"降价竞争",而是基于以下三个核心判断:

  1. 需求弹性已被验证:Sonnet 5 发布时引入的 $2/$10 低价策略,带来了远超预期的 Token 使用量增长。企业客户对价格高度敏感,降价直接带来用量增长。

  2. 旗舰产品定位需要重新定义:Fable 5 的定位是"长周期、复杂任务的巅峰模型",但在实际应用中,绝大多数企业任务(代码生成、文档分析、客服等)并不需要 Fable 级别的能力。Opus 5 作为"日常旗舰"定位更精准。

  3. 防御开源冲击:开源模型 Token 份额从 11% 暴涨至 62%,依赖的正是"足够好且极其便宜"的定位。Opus 5 的定价策略,本质上是在用闭源的方式打开源的价格战。

6.3 API 选型策略

"""
Claude 模型选型策略:任务驱动的成本优化
"""

from enum import Enum
from dataclasses import dataclass
from typing import Dict, List, Optional

class TaskType(Enum):
    CODE_GENERATION = "code_generation"
    CODE_REVIEW = "code_review"
    DOCUMENT_ANALYSIS = "document_analysis"
    CUSTOMER_SERVICE = "customer_service"
    COMPLEX_REASONING = "complex_reasoning"
    CREATIVE_WRITING = "creative_writing"
    DATA_EXTRACTION = "data_extraction"
    LONG_RUNNING_AGENT = "long_running_agent"

@dataclass
class ModelConfig:
    name: str
    input_price: float  # $/1M tokens
    output_price: float  # $/1M tokens
    max_context: int
    strength: int  # 1-10
    best_for: List[TaskType]

# 可用模型配置
AVAILABLE_MODELS = {
    'claude-opus-5': ModelConfig(
        name='Claude Opus 5',
        input_price=5.0, output_price=25.0,
        max_context=1_000_000, strength=9,
        best_for=[TaskType.CODE_GENERATION, TaskType.CODE_REVIEW,
                  TaskType.COMPLEX_REASONING, TaskType.DOCUMENT_ANALYSIS]
    ),
    'claude-fable-5': ModelConfig(
        name='Claude Fable 5',
        input_price=10.0, output_price=50.0,
        max_context=1_000_000, strength=10,
        best_for=[TaskType.LONG_RUNNING_AGENT, TaskType.COMPLEX_REASONING]
    ),
    'claude-sonnet-5': ModelConfig(
        name='Claude Sonnet 5',
        input_price=2.0, output_price=10.0,
        max_context=1_000_000, strength=7,
        best_for=[TaskType.CODE_REVIEW, TaskType.DOCUMENT_ANALYSIS,
                  TaskType.CREATIVE_WRITING, TaskType.DATA_EXTRACTION]
    ),
    'claude-haiku-4.5': ModelConfig(
        name='Claude Haiku 4.5',
        input_price=1.0, output_price=5.0,
        max_context=200_000, strength=5,
        best_for=[TaskType.CUSTOMER_SERVICE, TaskType.DATA_EXTRACTION,
                  TaskType.CREATIVE_WRITING]
    ),
}

def estimate_cost(model: ModelConfig, input_tokens: int, 
                  output_tokens: int) -> float:
    """估算单次调用成本"""
    input_cost = (input_tokens / 1_000_000) * model.input_price
    output_cost = (output_tokens / 1_000_000) * model.output_price
    return input_cost + output_cost

def recommend_model(task: TaskType, complexity: int = 5,
                    daily_volume: int = 1000) -> Dict:
    """
    根据任务类型和复杂度推荐模型
    """
    candidates = []
    
    for name, config in AVAILABLE_MODELS.items():
        if task in config.best_for and config.strength >= complexity:
            # 估算典型调用成本
            if task in [TaskType.CUSTOMER_SERVICE, TaskType.DATA_EXTRACTION]:
                est_input, est_output = 2000, 500
            elif task in [TaskType.CODE_GENERATION, TaskType.CODE_REVIEW]:
                est_input, est_output = 8000, 2000
            elif task == TaskType.COMPLEX_REASONING:
                est_input, est_output = 15000, 4000
            elif task == TaskType.LONG_RUNNING_AGENT:
                est_input, est_output = 50000, 10000
            else:
                est_input, est_output = 4000, 1000
            
            per_call_cost = estimate_cost(config, est_input, est_output)
            daily_cost = per_call_cost * daily_volume
            monthly_cost = daily_cost * 22  # 工作日
            
            candidates.append({
                'model': name,
                'strength': config.strength,
                'per_call_cost': round(per_call_cost, 4),
                'daily_cost': round(daily_cost, 2),
                'monthly_cost': round(monthly_cost, 2),
            })
    
    # 按成本排序
    candidates.sort(key=lambda x: x['per_call_cost'])
    
    return {
        'task': task.value,
        'complexity': complexity,
        'daily_volume': daily_volume,
        'recommendations': candidates,
        'best_value': candidates[0] if candidates else None,
        'best_capability': candidates[-1] if candidates else None,
    }

# 示例:不同场景的推荐
scenarios = [
    (TaskType.CODE_GENERATION, 6, 500),
    (TaskType.CUSTOMER_SERVICE, 3, 10000),
    (TaskType.COMPLEX_REASONING, 8, 100),
    (TaskType.LONG_RUNNING_AGENT, 9, 50),
]

for task, complexity, volume in scenarios:
    print(f"\n{'='*60}")
    print(f"场景: {task.value} | 复杂度: {complexity} | 日调用量: {volume}")
    print(f"{'='*60}")
    result = recommend_model(task, complexity, volume)
    
    print(f"推荐排序:")
    for i, rec in enumerate(result['recommendations'], 1):
        print(f"  {i}. {rec['model']:25s} "
              f"每次: ${rec['per_call_cost']:.4f} | "
              f"每月: ${rec['monthly_cost']:.2f}")
    
    print(f"最佳性价比: {result['best_value']['model']}")
    print(f"最优能力:   {result['best_capability']['model']}")

七、开源模型冲击:62% 的拐点

7.1 Vercel 数据全景

如果说 Fable 5 的滞销是"症状",那么开源模型的崛起就是"病根"。2026 年 8 月 22 日,Vercel CEO Guillermo Rauch 公布了一组让整个行业震惊的数据:

开源模型在 Vercel AI Gateway 的 Token 份额,从 4 月的 11% 暴涨至 8 月的 62%,历史上首次反超闭源模型。

┌─────────────────────────────────────────────────────────────────────┐
│            Vercel AI Gateway 开源 vs 闭源 Token 份额演变              │
│                                                                     │
│  份额                                                               │
│  100% │                                                             │
│       │  闭源 89%                                                   │
│   80% │  ████████████████████████████████████████                    │
│       │  ████████████████████████████████████████  闭源 38%          │
│   60% │  ████████████████████████████████████████  ████████████████  │
│       │  ████████████████████████████████████████  ████████████████  │
│   40% │  ████████████████████████████████████████  ████████████████  │
│       │                                            ████████████████  │
│   20% │                      开源 28%               ████████████████  │
│       │  开源 11%            ██████████████████████ ████████████████  │
│    0% │  ███████████████████ ██████████████████████ ████████████████  │
│       └──────────┬──────────┬──────────┬──────────┬──────────┬────── │
│                  4月        6月        7月        8月                │
│                                                                     │
│  ┌─────┐ 闭源模型          ┌─────┐ 开源模型                         │
│  └─────┘                   └─────┘                                  │
└─────────────────────────────────────────────────────────────────────┘
*数据来源:Vercel AI Gateway,2026年4月-8月,36氪/新智元报道*

### 7.2 收入与 Token 的背离

但更值得关注的是 Token 份额与收入份额之间的巨大背离:

| 指标 | 开源模型 | Anthropic | OpenAI | 其他闭源 |
|------|---------|-----------|--------|---------|
| Token 份额 | 62% | ~15% | ~12% | ~11% |
| 支出份额 | ~4% | 61-65% | ~23% | ~8% |
| 性价比指数 | 极低 | 极高 | 中高 | 中 |

开源模型用 62% 的 Token 量只产生了不到 4% 的 API 支出,这意味着开源模型的平均 Token 价格仅为闭源模型的约 1/15。Anthropic 用约 15% 的 Token 量贡献了 61-65% 的支出,其 Token 均价是开源模型的约 40 倍。

这种"量价背离"揭示了 AI 推理市场的核心矛盾:**高端智能仍然有溢价,但溢价空间正在被快速压缩。**

### 7.3 开源阵营的"恐怖"速度

36氪在 8 月 24 日的深度报道《开源模型两个月内杀死比赛》中,援引 SemiAnalysis 的分析指出:开源模型追上闭源前沿所需的时间正在急剧缩短。

┌─────────────────────────────────────────────────────────────────────┐ │ 闭源领先 → 开源追赶的时间窗口演变 │ │ │ │ Scaling 时代 (2023-2024) │ │ GPT-3.5 → Llama 2 │ │ ├───────────────────────────────┤ │ │ 初始差距: 35.8 分 追赶时间: ~12 个月 │ │ │ │ Reasoning 时代 (2024-2025) │ │ o1 → DeepSeek R1-0528 │ │ ├────────────────────┤ │ │ 初始差距: 12.1 分 追赶时间: ~8.5 个月 │ │ │ │ Agentic 时代 (2025-2026) │ │ Opus 4.5 → Kimi K2.6 │ │ ├───────────────┤ │ │ 初始差距: ~8 分 追赶时间: ~4.8 个月 │ │ │ │ 当前 (2026) │ │ Fable 5 → GLM-5.3/DeepSeek V4 Pro │ │ ├────────────┤ │ │ 初始差距: ~5 分 追赶时间: ~3-4 个月(推测) │ └─────────────────────────────────────────────────────────────────────┘ 数据来源:SemiAnalysis 报告,36氪编译

7.4 英伟达的"变局"

如果说开源模型的崛起是"自然演进",那么英伟达的入局就是"主动加速"。8 月 24 日同一天,消息人士透露英伟达将向 Poolside 支付 60 亿美元技术授权费,追加 10 亿美元股权投资,并收编 100 多名工程师加入 Nemotron 团队。

这一举动极具标志性意义:英伟达——OpenAI 和 Anthropic 最重要的硬件供应商——正在主动扶持开源模型,不惜与自己的大客户正面对抗。

黄仁勋的逻辑很清晰:他不在乎哪个模型跑分最高,他要的是把基础模型的推理成本彻底打穿。当开源模型变得极度廉价且唾手可得时,全球应用将疯狂消耗 Token,最终所有利润都沉淀回英伟达的硬件底座。


八、产品线重构战略:从"每个模型都有定位"到"每个价格都有模型"

8.1 当前产品线全景

综合以上分析,我们可以得出 Anthropic 当前产品线的完整图谱:

┌─────────────────────────────────────────────────────────────────────┐
│                    Anthropic Claude 产品线全景(2026.08)             │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  价格梯队                                                           │
│  ▲ $50/output MTok                                                  │
│  │  ┌──────────────────────────────────────┐                        │
│  │  │  Claude Fable 5 / Mythos 5           │  前沿巅峰              │
│  │  │  $10/$50 · 1M ctx · 128K out         │  (受限访问)           │
│  │  └──────────────────────────────────────┘                        │
│  │         ↓ 性能接近,价格减半                                      │
│  │  ┌──────────────────────────────────────┐                        │
│  │  │  Claude Opus 5                       │  日常旗舰              │
│  │  │  $5/$25 · 1M ctx · 128K out          │  ← 当前主力           │
│  │  └──────────────────────────────────────┘                        │
│  │         ↓ 即将到来的迭代                                          │
│  │  ┌──────────────────────────────────────┐                        │
│  │  │  Marshmallow (推测 Opus 5.1)         │  中高端迭代            │
│  │  │  EAP 测试中 · 对话自然度 > Opus 5    │  (预计9月发布)        │
│  │  └──────────────────────────────────────┘                        │
│  │         ↓ 中端主力                                                │
│  │  ┌──────────────────────────────────────┐                        │
│  │  │  Claude Sonnet 5                     │  日常主力              │
│  │  │  $2/$10 (优惠价) · 1M ctx           │  (高性价比)            │
│  │  └──────────────────────────────────────┘                        │
│  │         ↓ ???                                                    │
│  │  ┌──────────────────────────────────────┐                        │
│  │  │  Melon (推测 Sonnet 5.1 / Haiku)    │  中端/轻量待定         │
│  │  │  EAP 测试中 · 综合能力低于Marshmallow│  (定位待确认)          │
│  │  └──────────────────────────────────────┘                        │
│  │         ↓ 轻量级                                                  │
│  │  ┌──────────────────────────────────────┐                        │
│  │  │  Claude Haiku 4.5                    │  低成本主力            │
│  │  │  $1/$5 · 200K ctx                   │  (高吞吐场景)          │
│  │  └──────────────────────────────────────┘                        │
│  └─────┼───────────┼───────────┼───────────┼───────────►            │
│        能力        性价比       速度        生态                      │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

8.2 战略重构的三个维度

维度一:价格带宽最大化

从 Fable 5 的 $10/$50 到 Haiku 4.5 的 $1/$5,Anthropic 的产品线覆盖了 10 倍的价格带宽。Marshmallow 和 Melon 的加入,将在这个带宽内进一步填充中高端和中端空白。

维度二:从"最强模型"到"最合适模型"

Anthropic 正在从"每个新模型都试图超越上一个"的线性思路,转向"每个价格点都有对应的最优模型"的矩阵思路。这与 OpenAI 的 GPT-5.6 系列(Sol/Terra/Luna)的差异化策略如出一辙。

维度三:加速迭代节奏

2026年 Anthropic 模型发布节奏
┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
│  1月 │  2月 │  3月 │  4月 │  5月 │  6月 │  7月 │  8月 │  9月  │
│      │      │      │      │      │      │      │      │      │
│      │ Opus │ Opus │ Opus │ Opus │Fable5│ Opus5│ Marsh│      │
│      │ 4.6  │ 4.7  │ 4.8  │      │Sonnet5│      │mallow│      │
│      │Sonnet│      │      │      │      │      │ Melon│      │
│      │ 4.6  │      │      │      │      │      │ (EAP)│      │
│      │      │      │      │      │      │      │      │      │
└──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
            平均间隔约 2-3 周一次重要更新

8.3 代码示例:产品线策略模拟

"""
Anthropic 产品线策略模拟器
模拟不同定价策略下的市场反应
"""

import numpy as np
from typing import Dict, List, Tuple

class ProductLineSimulator:
    """产品线策略模拟器"""
    
    def __init__(self):
        # 价格弹性系数(基于历史数据估算)
        self.price_elasticity = {
            'premium': -0.8,    # 高端模型需求弹性较低
            'mid': -1.5,        # 中端模型弹性适中
            'budget': -2.2,     # 低端模型弹性较高
        }
        
        # 开源替代压力系数
        self.open_source_pressure = 0.62  # 62% Token 份额
    
    def simulate_market_share(self, models: Dict[str, Dict]) -> Dict:
        """
        模拟给定定价策略下的市场份额
        """
        total_utility = 0
        model_utilities = {}
        
        for name, config in models.items():
            # 能力效用
            cap_utility = config['capability'] * 1.5
            
            # 价格负效用
            avg_price = (config['input_price'] + config['output_price']) / 2
            tier = config['tier']
            elasticity = self.price_elasticity.get(tier, -1.0)
            price_utility = avg_price * (1 + elasticity)
            
            # 开源替代效应
            if tier == 'premium':
                os_penalty = self.open_source_pressure * 0.3
            elif tier == 'mid':
                os_penalty = self.open_source_pressure * 0.6
            else:
                os_penalty = self.open_source_pressure * 0.8
            
            utility = cap_utility - price_utility - os_penalty
            model_utilities[name] = max(utility, 0.1)
            total_utility += model_utilities[name]
        
        # 转换为市场份额
        market_share = {}
        for name in models:
            market_share[name] = model_utilities[name] / total_utility
        
        return market_share
    
    def optimize_pricing(self, base_models: Dict[str, Dict]) -> Dict:
        """
        优化定价策略
        """
        optimized = {}
        
        for name, model in base_models.items():
            tier = model['tier']
            base_avg_price = (model['input_price'] + model['output_price']) / 2
            
            # 试探最优价格点
            best_price = base_avg_price
            best_share = 0
            
            for price_mult in np.arange(0.5, 2.0, 0.1):
                test_avg = base_avg_price * price_mult
                test_input = model['input_price'] * price_mult
                test_output = model['output_price'] * price_mult
                
                test_models = {
                    name: {
                        'capability': model['capability'],
                        'input_price': test_input,
                        'output_price': test_output,
                        'tier': tier,
                    }
                }
                
                # 添加竞争对手
                test_models['gpt_5.6_sol'] = {
                    'capability': 8.5,
                    'input_price': 5.0,
                    'output_price': 30.0,
                    'tier': 'premium',
                }
                test_models['deepseek_v4_pro'] = {
                    'capability': 7.5,
                    'input_price': 0.87,
                    'output_price': 4.35,
                    'tier': 'budget',
                }
                
                share = self.simulate_market_share(test_models)
                if share[name] > best_share:
                    best_share = share[name]
                    best_price = (test_input, test_output)
            
            optimized[name] = {
                'optimal_input_price': round(best_price[0], 2),
                'optimal_output_price': round(best_price[1], 2),
                'expected_share': round(best_share * 100, 1),
            }
        
        return optimized

# 运行模拟
simulator = ProductLineSimulator()

# 当前产品线配置
current_lineup = {
    'Fable 5': {'capability': 9.8, 'input_price': 10.0, 
                 'output_price': 50.0, 'tier': 'premium'},
    'Opus 5': {'capability': 9.2, 'input_price': 5.0, 
                'output_price': 25.0, 'tier': 'premium'},
    'Sonnet 5': {'capability': 8.0, 'input_price': 2.0, 
                  'output_price': 10.0, 'tier': 'mid'},
    'Haiku 4.5': {'capability': 6.5, 'input_price': 1.0, 
                   'output_price': 5.0, 'tier': 'budget'},
}

print("当前产品线市场份额模拟:")
print("=" * 60)
current_share = simulator.simulate_market_share(current_lineup)
for model, share in sorted(current_share.items(), 
                           key=lambda x: x[1], reverse=True):
    print(f"  {model:15s}: {share*100:.1f}%")

print("\n\n优化定价建议:")
print("=" * 60)
optimized = simulator.optimize_pricing(current_lineup)
for model, result in optimized.items():
    print(f"  {model:15s}: 最优输入 ${result['optimal_input_price']:.2f} "
          f"最优输出 ${result['optimal_output_price']:.2f} "
          f"预期份额 {result['expected_share']:.1f}%")

九、技术实现与 API 调用实战

9.1 Marshmallow 和 Melon 的 API 调用

虽然 Marshmallow 和 Melon 尚未正式发布,但根据 EAP 版本的惯例,开发者可以通过以下方式尝试调用:

注意:以下代码仅为示例,实际调用需要 Anthropic 的 EAP 授权。

"""
Claude EAP 模型 API 调用示例
"""

import os
import json
import time
from typing import Optional, Dict, Any
import anthropic

class ClaudeEAPClient:
    """Claude EAP 模型客户端"""
    
    def __init__(self, api_key: Optional[str] = None):
        self.api_key = api_key or os.environ.get('ANTHROPIC_API_KEY')
        if not self.api_key:
            raise ValueError("需要提供 ANTHROPIC_API_KEY")
        self.client = anthropic.Anthropic(api_key=self.api_key)
    
    def call_marshmallow(self, prompt: str, system: str = "",
                         max_tokens: int = 4096,
                         temperature: float = 0.7) -> Dict[str, Any]:
        """
        调用 Marshmallow EAP 模型
        """
        try:
            response = self.client.messages.create(
                model="claude-marshmallow-eap",
                system=system,
                max_tokens=max_tokens,
                temperature=temperature,
                messages=[{"role": "user", "content": prompt}]
            )
            return {
                "success": True,
                "content": response.content[0].text,
                "model": response.model,
                "usage": {
                    "input_tokens": response.usage.input_tokens,
                    "output_tokens": response.usage.output_tokens,
                },
                "latency_ms": None,  # 需自行计时
            }
        except Exception as e:
            return {"success": False, "error": str(e)}
    
    def call_melon(self, prompt: str, system: str = "",
                   max_tokens: int = 4096,
                   temperature: float = 0.7) -> Dict[str, Any]:
        """
        调用 Melon EAP 模型
        """
        try:
            response = self.client.messages.create(
                model="claude-melon-eap",
                system=system,
                max_tokens=max_tokens,
                temperature=temperature,
                messages=[{"role": "user", "content": prompt}]
            )
            return {
                "success": True,
                "content": response.content[0].text,
                "model": response.model,
                "usage": {
                    "input_tokens": response.usage.input_tokens,
                    "output_tokens": response.usage.output_tokens,
                },
                "latency_ms": None,
            }
        except Exception as e:
            return {"success": False, "error": str(e)}
    
    def benchmark_models(self, test_prompts: list) -> Dict:
        """
        对比测试多个模型
        """
        results = {
            'marshmallow': {'total_time': 0, 'total_input': 0, 
                           'total_output': 0, 'responses': []},
            'melon': {'total_time': 0, 'total_input': 0, 
                      'total_output': 0, 'responses': []},
            'opus_5': {'total_time': 0, 'total_input': 0, 
                       'total_output': 0, 'responses': []},
        }
        
        for prompt in test_prompts:
            for model_key in ['marshmallow', 'melon', 'opus_5']:
                method = getattr(self, f'call_{model_key}'
                                 if model_key != 'opus_5' else 'call_opus_5')
                
                start = time.time()
                resp = method(prompt)
                elapsed = time.time() - start
                
                if resp['success']:
                    results[model_key]['total_time'] += elapsed
                    results[model_key]['total_input'] += resp['usage']['input_tokens']
                    results[model_key]['total_output'] += resp['usage']['output_tokens']
                    results[model_key]['responses'].append({
                        'prompt': prompt[:50],
                        'time': elapsed,
                        'tokens': resp['usage']['output_tokens'],
                    })
        
        # 计算汇总
        for key in results:
            r = results[key]
            n = len(r['responses'])
            r['avg_latency'] = round(r['total_time'] / n, 2) if n > 0 else None
            r['avg_output_tokens'] = round(r['total_output'] / n, 1) if n > 0 else None
        
        return results

# 使用示例
if __name__ == "__main__":
    # 请使用实际的 API Key
    # client = ClaudeEAPClient(api_key="your-api-key")
    
    # 测试提示词
    test_prompts = [
        "请用Python实现一个快速排序算法,并分析其时间复杂度和空间复杂度。",
        "解释Transformer架构中的自注意力机制是如何工作的。",
        "写一个函数,计算斐波那契数列的第n项,要求使用动态规划。",
    ]
    
    # 模拟运行(仅展示结构)
    print("=" * 70)
    print("Claude EAP 模型基准测试框架")
    print("=" * 70)
    print(f"测试提示词数量: {len(test_prompts)}")
    print(f"待测试模型: marshmallow-eap, melon-eap, opus-5")
    print(f"\n{'='*70}")
    print("注意: 实际运行需要有效的 Anthropic API Key 和 EAP 访问权限")
    print("上述代码将在正式发布后可直接使用")

9.2 模型选择策略的代码实现

"""
智能模型路由器 - 根据任务特征自动选择最优模型
"""

from typing import Dict, List, Optional, Callable
from dataclasses import dataclass, field
import json
import hashlib

@dataclass
class TaskProfile:
    """任务特征画像"""
    task_type: str
    input_length: int
    required_reasoning_depth: int  # 1-10
    latency_sensitive: bool
    cost_sensitive: bool
    requires_tool_use: bool
    requires_long_context: bool

@dataclass
class ModelPerformance:
    """模型性能记录"""
    model_id: str
    success_rate: float
    avg_latency: float
    avg_cost: float
    sample_count: int

class SmartModelRouter:
    """智能模型路由器"""
    
    def __init__(self):
        self.performance_history: Dict[str, List[ModelPerformance]] = {}
        self.routing_rules: Dict[str, str] = self._default_rules()
    
    def _default_rules(self) -> Dict[str, str]:
        """默认路由规则"""
        return {
            # 任务类型 → 默认模型
            'code_generation_simple': 'claude-sonnet-5',
            'code_generation_complex': 'claude-opus-5',
            'code_review': 'claude-opus-5',
            'document_summary': 'claude-sonnet-5',
            'customer_service': 'claude-haiku-4.5',
            'data_extraction': 'claude-sonnet-5',
            'complex_reasoning': 'claude-opus-5',
            'creative_writing': 'claude-sonnet-5',
            'long_running_agent': 'claude-fable-5',
        }
    
    def profile_task(self, task: Dict) -> TaskProfile:
        """对任务进行画像"""
        input_text = task.get('prompt', '') + task.get('system', '')
        
        # 估算推理深度
        reasoning_keywords = ['证明', '分析', '对比', '推理', '优化',
                              'proof', 'analysis', 'reasoning', 'optimize']
        depth = sum(1 for kw in reasoning_keywords if kw in input_text)
        depth = min(max(depth, 1), 10)
        
        return TaskProfile(
            task_type=task.get('type', 'general'),
            input_length=len(input_text),
            required_reasoning_depth=depth,
            latency_sensitive=task.get('latency_sensitive', False),
            cost_sensitive=task.get('cost_sensitive', True),
            requires_tool_use=task.get('tool_use', False),
            requires_long_context=task.get('long_context', False),
        )
    
    def route(self, task: Dict) -> str:
        """路由决策"""
        profile = self.profile_task(task)
        
        # 规则1: 长上下文任务 → Opus 或 Fable
        if profile.requires_long_context and profile.input_length > 100000:
            return 'claude-opus-5'
        
        # 规则2: 延迟敏感 → Sonnet 或 Haiku
        if profile.latency_sensitive:
            if profile.required_reasoning_depth <= 5:
                return 'claude-haiku-4.5'
            return 'claude-sonnet-5'
        
        # 规则3: 深度推理 → Opus 或 Fable
        if profile.required_reasoning_depth >= 8:
            if profile.cost_sensitive:
                return 'claude-opus-5'
            return 'claude-fable-5'
        
        # 规则4: 工具调用 → Opus
        if profile.requires_tool_use:
            return 'claude-opus-5'
        
        # 规则5: 默认按任务类型路由
        task_key = f"{profile.task_type}_{'complex' if profile.required_reasoning_depth > 5 else 'simple'}"
        return self.routing_rules.get(task_key, 'claude-sonnet-5')
    
    def update_from_feedback(self, model_id: str, task: Dict,
                             success: bool, latency: float, cost: float):
        """从实际反馈更新路由知识"""
        key = hashlib.md5(
            json.dumps(task, sort_keys=True).encode()
        ).hexdigest()
        
        if key not in self.performance_history:
            self.performance_history[key] = []
        
        self.performance_history[key].append(ModelPerformance(
            model_id=model_id,
            success_rate=1.0 if success else 0.0,
            avg_latency=latency,
            avg_cost=cost,
            sample_count=1,
        ))
        
        # 动态调整路由规则
        recent = self.performance_history[key][-10:]
        if len(recent) >= 5:
            avg_success = sum(p.success_rate for p in recent) / len(recent)
            if avg_success < 0.7:
                # 成功率低,切换模型
                task_type = task.get('type', 'general')
                current_model = self.routing_rules.get(task_type)
                alternatives = {
                    'claude-haiku-4.5': 'claude-sonnet-5',
                    'claude-sonnet-5': 'claude-opus-5',
                    'claude-opus-5': 'claude-fable-5',
                }
                if current_model in alternatives:
                    self.routing_rules[task_type] = alternatives[current_model]

# 使用示例
router = SmartModelRouter()

# 模拟不同任务的路由决策
test_tasks = [
    {"type": "code_generation", "prompt": "实现一个二叉搜索树", 
     "latency_sensitive": False, "cost_sensitive": True, 
     "tool_use": False, "long_context": False},
    {"type": "customer_service", "prompt": "用户询问退款流程", 
     "latency_sensitive": True, "cost_sensitive": True, 
     "tool_use": False, "long_context": False},
    {"type": "complex_reasoning", "prompt": "分析这个数学证明的漏洞", 
     "latency_sensitive": False, "cost_sensitive": False, 
     "tool_use": True, "long_context": True},
    {"type": "data_extraction", "prompt": "从100页PDF中提取关键信息", 
     "latency_sensitive": False, "cost_sensitive": True, 
     "tool_use": False, "long_context": True},
]

print("=" * 70)
print("智能模型路由决策演示")
print("=" * 70)
for task in test_tasks:
    model = router.route(task)
    profile = router.profile_task(task)
    print(f"\n任务类型: {task['type']}")
    print(f"  推理深度: {profile.required_reasoning_depth}/10")
    print(f"  延迟敏感: {profile.latency_sensitive}")
    print(f"  成本敏感: {profile.cost_sensitive}")
    print(f"  → 推荐模型: {model}")

十、行业影响与展望

10.1 对开发者生态的影响

Marshmallow 和 Melon 的发布,将深刻影响开发者社区的选择:

  1. 模型选择进一步细化:从"选哪个模型"到"选哪个价位的哪个模型",决策维度增加
  2. 成本优化成为核心技能:模型路由、智能缓存、任务分级等能力将成为 MLOps 工程师的标配技能
  3. EAP 参与权变得稀缺:早期测试者的反馈直接影响产品方向,EAP 参与权将成为一种"技术特权"

10.2 对竞争格局的影响

┌─────────────────────────────────────────────────────────────────────┐
│              2026年下半年 AI 模型竞争格局预测                        │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  前沿层(Frontier)                                                  │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │  Anthropic   │  │   OpenAI     │  │   Google     │              │
│  │  Fable/Mythos│  │  GPT-5.6 Sol │  │  Gemini 3.1  │              │
│  │  $10/$50     │  │  $5/$30      │  │  $2/$12      │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
│                                                                     │
│  旗舰层(Flagship)                                                  │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │  Opus 5      │  │  GPT-5.6     │  │  Gemini 3.1  │              │
│  │  Marshmallow→│  │  Terra       │  │  Pro         │              │
│  │  $5/$25      │  │  $2.5/$15    │  │  $2/$12      │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
│                                                                     │
│  中端层(Mid-range)                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │  Sonnet 5    │  │  GPT-5.6     │  │  Gemini 3.1  │              │
│  │  Melon→      │  │  Luna        │  │  Flash       │              │
│  │  $2/$10      │  │  $1/$6       │  │  $0.5/$2     │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
│                                                                     │
│  开源层(Open-source)                                               │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │  DeepSeek    │  │  GLM-5.3     │  │  Qwen 3.8    │  ← 62% Token│
│  │  V4 Pro      │  │              │  │  Nemotron    │    份额      │
│  │  ~$0.87      │  │  ~$1.0       │  │  ~$0.5       │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

10.3 三个关键问题

Q1: Marshmallow 和 Melon 会正式发布吗?

大概率会。Honeycomb 从泄露到正式发布 Opus 5 用了 15 天,Marshmallow 和 Melon 的泄露更完整、信息更丰富,且恰好出现在 Fable 5 遇冷的关键节点。Anthropic 迫切需要新的产品线来稳定市场信心。

Q2: 定价会如何?

参考 Opus 5 的定价策略,Marshmallow(Opus 5.1)大概率维持 $5/$25 不变或小幅上调,Melon 如果定位为 Sonnet 5.1 则维持 $2/$10(优惠价),如果定位为新一代 Haiku 则可能定在 $1.5/$7.5 左右。

Q3: 开源模型会继续侵蚀闭源份额吗?

会,但侵蚀速度可能放缓。Vercel 数据显示,开源模型虽然占据 62% 的 Token 份额,但仅占 4% 的支出。这意味着真正的高价值工作流仍然集中在闭源模型上。但 SemiAnalysis 指出,随着开源模型在 Agentic 能力上的快速追赶,这一格局可能在 2026 年底到 2027 年初发生根本性变化。


十一、总结:棉花糖与甜瓜的隐喻

回到开头的两个代号:棉花糖(Marshmallow)和甜瓜(Melon)。

棉花糖的质地——柔软、蓬松、易于塑形——恰好对应了产品线重构中"灵活适配"的核心诉求。Anthropic 不再试图用一个模型覆盖所有场景,而是像棉花糖一样,在不同的价格区间"填充"合适的模型,让每个开发者都能找到适合自己的"口感"。

甜瓜则暗示了"被切开"的隐喻——Anthropic 正在将过去"一刀切"的旗舰模型体系,切分成更多层级、更多价格点、更多能力梯度的精细产品矩阵。这既是应对开源冲击的防御策略,也是对企业客户"够用就好"理性选择的主动顺应。

Marshmallow 和 Melon 的曝光,表面上是又一次 API 代码泄露的技术新闻,实际上是 Anthropic 产品战略从"以模型为中心"向"以客户为中心"转型的标志性事件。在智能边际效用递减的时代,AI 公司的核心竞争力不再是"造出更强的模型",而是"让每个客户都能在合理的价格上找到最适合的模型"。

这场始于棉花糖和甜瓜的变革,正在重新定义 AI 行业的商业逻辑。


参考来源:

  1. 机器之心,《刚刚,Claude两个新模型曝光》,2026年8月24日
  2. 凤凰网科技,《刚刚,Claude两个新模型曝光》,2026年8月24日
  3. 新智元/36氪,《开源模型两个月内杀死比赛》,2026年8月24日
  4. gentic.news, “Claude ‘Marshmallow’ and ‘Melon’ Spotted, Release Imminent”, August 25, 2026
  5. The Win Central, “Anthropic Opus 5.1 & Sonnet 5.1 Leaks: Marshmallow and Melon Could Be Next”, August 24, 2026
  6. Financial Times / Ramp, 企业支付数据分析(引用自新浪财经/36氪),2026年8月
  7. DataCamp, “Claude Opus 5 vs Claude Fable 5”, July 29, 2026
  8. Anthropic Transparency Hub, 模型透明度报告,2026年8月
  9. Vercel CEO Guillermo Rauch, AI Gateway 数据公告,2026年8月22日
  10. SemiAnalysis 行业分析报告(引用自36氪)