🔍 技术栈 · 深度拆解

Claude 越升级越不好用?Anthropic 技术栈的「五宗罪」卡在哪儿

这几天 X 上一条帖子,把用户对 Claude 的集中不满放到了一起:文本和代码被加入机器可读标记,Sonnet 5 的体验没有跟上升级声势,Fable 5 卖得更贵却难言更强,长上下文只用到 20%–30% 就开始掉线。单看每一条都像孤立问题——但放进 Anthropic 的技术栈里,它们恰好卡在生成、计算、分层、上下文、运行时五个环节。

来源:公开报道 2026 年 全文约 6 分钟读完
#Anthropic #Claude #长上下文 #AI Agent
5 个 技术栈卡点,对应 4 类用户感知
20–30% 长上下文实际有效用量,之后能力衰减
1M token 官方上下文窗口容量,但容量≠状态一致

⚡ 30 秒速览

  • 五宗罪不是五个独立 bug:它们是模型变强之后,生成、计算、上下文与 Agent 运行时互相拖后腿的结果。
  • 代码水印的本质限制:代码低熵位置太多,「可检测强度 / 生成质量 / 抗修改能力」形成三角取舍。
  • effort 重塑了分层:同一模型可落在不同计算区间,型号不再代表能力;常规任务上 Fable 与 Opus 难分高下。
  • 1M context 是容量不是状态:250K 的 Agent 历史比 250K 的静态文档难得多,因为里面塞满了被覆盖的旧版本。
  • 真正的瓶颈在转移:长 Agent 能不能稳定工作,取决于状态是否清楚、动作是否可验证、错误是否可回滚。

01五宗罪,五个环节 同一个技术栈的连锁反应

用户感知到的是一堆零散的「变难用了」,但每条抱怨都能在技术栈里找到一个精确的落点。

01 机器可读标记 生成环节

自然语言有冗余可嵌信号,代码的低熵位置几乎没有编码容量。

02 自适应思考 计算环节

effort 让型号与能力脱钩,一次请求实际投入多少算力变得不透明。

03 模型分层失效 定价环节

常规任务上 Opus 已进平台区,Fable 的剩余优势无法转化为体验差。

04 长上下文衰减 上下文环节

1M 是容量不是状态一致性,200K–300K 处开始遗漏与混乱。

05 Agent 偏航 运行时环节

错误进入环境后自我繁殖,模型开始分析自己创造的数据。

五张卡按技术栈环节自上而下排列,与原文「模型怎么生成、推理时花多少计算、型号怎么分层、上下文为什么失效、Agent 能力为什么打折」一一对应。

02给代码加水印,远比给文本加水印难

文本水印的思路,是利用自然语言的生成冗余:同一个意思可以换词、调语序,模型在多个可接受 token 之间轻微改变采样概率,积累出可检测的统计规律。这套逻辑在代码上遇到了硬约束。

变量声明后只能引用同一个名字;JSON 的引号、括号受严格结构约束;函数参数必须匹配接口。一个 token 变成另一个,可能就不是「另一种表达」,而是直接改变行为。

自然语言

语义接近的候选多,可换词、可调序,拥有生成冗余,能在可接受 token 之间嵌入信号。

代码

大量低熵位置,名字、括号、接口、路径不可替换,一个 token 变化即行为改变,编码容量极低。

一个诚实的注脚:Anthropic 未公开标记算法如何改变采样,Claude Code 的质量变化不能直接归因到某一套水印头上。这里确定的是结构性趋势——代码生成正同时承担语义、协议、格式、安全、来源标记多重约束,而它吸收额外约束的自由度远小于自然语言。

03effort 出现后,型号不再代表能力

过去谈 Sonnet、Opus、Fable,是几个固定的能力点。加入 adaptive thinking 以后,同一个模型可以落在不同的 test-time compute 区间——用户付的是型号的价,模型实际投入的算力却是一个范围。

低投入 更早剪枝

较快形成判断,更快执行,但可能在证据不足时过早动手。

中投入 保留多个假设

同时追踪几条调用链,延迟决策,直到出现更明确的信号。

高投入 充分搜索验证

继续探索、运行测试、检查依赖,减少过早执行的概率。

effort 调节的不是单纯的 thinking 长度,而是 Agent 搜索树允许展开的规模——读哪些文件、追哪条链、什么时候该停下来。

这会直接改变模型分层。一个普通 coding 任务对 Opus 已经不难,提高 effort 后 Opus 很快进入性能平台区;Fable 基础模型再强,也没有多少剩余难度可以转化成用户可感知的体验差——但价格差从请求那一刻就在支付。

所以高阶模型出售的东西正在发生变化:不再是「这一轮答案更强」,而是更长轨迹里的额外可靠性。问题是,这种优势必须等任务足够长才能展开。

041M 上下文,量的是容量,不是状态一致性

看到 1M context,很容易把它当成一块巨大的工作内存。因此当 Claude 只用到 200K–300K token 就开始遗漏、反复甚至状态混乱时,会显得非常反直觉。但 context window 衡量的从来只是容量——它不保证模型能一直分清「现在哪个版本算数」。

0–20%表现稳定 20–30%开始遗漏·反复 30%+状态加速劣化

衰减位置基于用户反馈的「只用到约 20%–30%,后面的能力就开始往下掉」描述,为定性标注而非官方测量曲线。横轴为上下文占用比例。

长 Agent 会话不是一篇静态文档,而是一份不断追加的执行历史:文件被改了几次,bug 从「缓存问题」被重新判断为「并发问题」,测试先失败、再通过、又因新修改失败。旧内容不会随状态变化自动删除,新内容只是继续追加在后面。

问题已经不只是 retrieval。模型不仅要找到相关信息,还要判断这些信息现在是否仍然有效。数据库可以靠版本号、事务、显式字段维护当前状态,自然语言 context 没有这种结构——它更接近 append-only log,模型必须自己从事件顺序里恢复出「当前世界」。

05compaction 压缩的不是篇幅,是状态

当 context 继续增长,compaction 看起来是自然办法:把旧历史压短,再继续执行。但 Agent 轨迹的压缩,和普通摘要完全是两回事。

普通摘要

少掉一个例子,只是信息完整度下降,通常可以接受。

轨迹压缩

漏掉一条仍有效的限制,后续执行路径直接改变,代价不可控。

compaction 要解决的,不是「哪些内容重要」,而是「哪些内容现在还算数」。一段历史里可能同时存在已完成的任务、被推翻的判断、仍然成立的接口约束、过期的测试结果和临时 workaround。压缩器需要把所有时间状态重新整理成一个能继续工作的表示。

「目前怀疑问题来自缓存」被压成「问题来自缓存」——一个临时假设,就这样变成了事实。

所以 Git、测试、任务文件、memory 在长时 Agent 里越来越重要。它们的意义不是让模型「看到更多」,而是把需要长期成立的状态从自然语言历史中移到外部系统:用明确的当前版本、可验证的结果、结构化的完成状态,替代模型对事件顺序的自行推断。Context 可以保留丰富历史,但不能长期承担全部状态管理职责。

06Agent 一动手,错误就开始自我繁殖

普通聊天里,模型答错一次,错误停留在输出文本。Agent 会修改代码、执行命令、安装依赖、调整配置,再读取自己制造的新结果——错误从判断错误,变成了环境变化。

1

错判:把一个 bug 当成缓存问题。

2

修改:调整缓存逻辑、重试机制和几个调用点。

3

制造:测试随即出现一批新的异常——它们是真实的,但不是原始 bug 产生的。

4

误读:新异常被当成独立问题,逐一修补,而不是回滚检查原始假设。

5

偏航:每一步局部操作都有依据,但整条轨迹已经偏离原始问题。

这是对原文场景的重构,不是 Anthropic 官方对具体故障的复盘。核心机制在原文中概括为:模型开始分析自己创造出来的数据分布。

此时单步正确率已经无法兜底。更关键的是错误进入环境以后,系统能不能检测、归因、恢复——git diff 告诉模型刚刚发生了什么,checkpoint 和 rollback 限制错误扩散,独立 evaluator 在模型自己的解释之外提供一道校验。这些组件的本质,是给 Agent 增加闭环纠错能力。

07评价指标随之改变,开发者有三件事可做

两个最终通过率接近的模型,真实体验可能完全不同。一个前期判断很准,但一旦走错就沿错误路径一路修补;另一个单步未必更强,却能更快发现某次修改制造了新问题,然后回滚重选路径。只看终点,很难区分这两种行为。

如果 Agent 任务继续拉长,更值得注意的是另外一组信号:

长 Agent 的四个更有效指标

  • 状态保留——compaction 之后,关键约束还剩多少。
  • 归因能力——错误发生后,能否定位是哪一个步骤引入的。
  • 内外一致——工具调用增加,内部任务状态是否与真实环境保持一致。
  • 恢复代价——偏航之后,需要付出多大成本才能回到正轨。
杠杆 01 把状态外置

当前版本、完成状态、生效限制交给 Git、测试与任务文件,别让自然语言历史独自承担状态管理。

杠杆 02 让动作可回滚

checkpoint + rollback 不是防守,是让 Agent 敢于探索复杂路线的底气。

杠杆 03 给归因留证据

独立 evaluator 能在模型自述之外指出「这个新错误来自上一轮修改」,打断自我繁殖的循环。

编辑核心判断

模型能力决定每一步判断的上限;长 Agent 能不能稳定工作,越来越取决于另一套能力——状态是否清楚,动作是否可验证,错误是否可回滚。

五宗罪不是 Anthropic 的倒退,而是整个行业从「单轮跑分竞赛」转向「轨迹可控性竞赛」的预演。Benchmark 测的是初始化好的环境里能否完成任务,真实 Agent 的环境会随自己的动作不断改变——下一轮竞争,拼的将是系统在几个小时、几十轮工具调用、几次状态压缩之后,还能不能维持一份可信的当前世界。