首页 / 资讯详情
Anthropic 技术栈里的「五宗罪」由何而来?
摘要
代码低熵、上下文污染、错误回灌正在同时压住 Claude。 作者丨郑佳美 编辑丨岑 峰 比模型跑分掉了更麻烦的,是模型还在升级,用户却开始觉得越来越不好用。Anthropic 最近就有点这个味道。这几天 X 上有一条帖子,把 Claude 这段时间几种很典型的不满放到了一起:文本和代码开始被加入机器可读标记,Sonnet 5 的实际体验没有跟上模型升级的声势,Fable 5 卖得更贵,却很难让人明显感到它比 Opus 5 强在哪里;还有一个更刺眼的反馈,Fable 5 的上下文只用到大约 20%–30%,后面的能力就开始往下掉。这几件事表面上没什么关系,一个像生成机制问题,一个像模型能力问题,一个像定价问题,还有一个干脆像长上下文出了毛病。但放到 Claude 现在的技术栈里看,它们其实分别卡在 5 个很具体的位置:模型怎么生成,推理时愿意花多少计算,不同模型为什么越来越难分层,长上下文为什么没装满就开始失效,以及实验里的能力为什么到了真实 Agent 任务里经常打折。所以 Anthropic 最近的问题,可能不是简单的“模型退步了”。更像是 Claude 越来越强之后,生成、计算、上下文和 Agent 运行时之间开始互相拖后腿了。01第一宗罪:毁掉了代码的生成空间机器可读标记放在普通文本里,技术难点是既留下稳定信号,又尽量不改变生成质量。到了代码,这个问题会明显变难,因为自然语言和代码的 token 分布并不一样。论文:https://arxiv.org/pdf/2301.10226自然语言经常存在多个语义接近的候选。同一个意思可以换词、调语序,模型在很多位置拥有一定生成冗余。文本水印的一类常见思路,就是利用这种冗余,在多个可接受 token 之间轻微改变采样概率,积累足够长以后留下统计规律。代码却有大量低熵位置。雷峰网变量声明之后,后续引用几乎只能使用同一个名字;JSON 的字段、引号和括号受严格结构约束;函数参数必须符合接口;路径、正则、SQL、Shell 命令里,一个 token 发生变化就可能直接改变行为。从概率分布看,这些位置往往非常尖锐。正确 token 占据很高概率,其他候选不是另一种表达,而可能就是错误。因此,代码水印面对的核心限制其实是编码容量。如果一个位置只有一种合理输出,它几乎没有空间承载额外信号;如果系统只在高熵位置嵌入标记,又会遇到代码短、结构化 token 比例高、可利用位置不足的问题。于是可检测强度、生成质量和抗修改能力之间会形成直接取舍:信号太弱难以检测,约束太强可能影响正确生成,而经过格式化、局部改写之后还想保留检测能力,又需要更高的信号冗余。论文:https://arxiv.org/pdf/2301.10226Anthropic 没有公开 Claude 文本标记具体怎样改变采样,因此不能把 Claude Code 的质量变化直接归因到某一种水印算法。雷峰网这里能确定的是另一个变化:代码生成正在同时承担越来越多约束。除了语义和执行正确性,它还可能需要服从工具协议、结构化格式、安全规则和来源标记,而代码本身能够吸收这些额外约束的自由度远小于自然语言。02第二宗罪:模型档位正在变成计算曲线Sonnet 5 的 adaptive thinking 带来的变化,并不只是让模型多想一会。以前谈 Sonne