上周 Hacker News 上有篇帖子火了,标题就叫「I cancelled Claude」,作者列了三个理由:Token 超限太频繁、代码质量在下滑、客服完全没用。评论区一片共鸣,好多人说自己也有同感。
我看完第一反应是:这不就是我上个月的遭遇吗?
Claude 的 Token 问题到底有多严重?
Claude 的 context window 是 200K tokens,听起来很大,但有几个坑会让你比想象中更快撞上限:
- 系统提示持续占用:用 Claude.ai 的 Projects 功能,系统提示每次都会占用 context,长对话很快就满了
- 代码文件注入:把整个代码库丢进去,一个中等规模项目轻松 50K+ tokens
- 对话历史累积:Claude 不会自动压缩历史,越聊越长,最后 context 满了直接截断
我自己最惨的一次是在赶 deadline,把整个 React 项目的代码都丢进去让 Claude 帮我 review,结果对话到一半直接报 context 超限,之前的上下文全没了,重新开对话又要重新解释背景,真的会谢。
质量下滑是真的吗?
这个问题比较复杂,我觉得有两种情况:
一种是真的质量下滑。Anthropic 在做模型更新的时候,有时候会出现某些能力的退化(regression),这在 ML 领域很常见,不是 Claude 独有的问题。最近 CC-Canary 项目就是专门用来检测 Claude Code 早期 regression 迹象的,说明官方自己也承认这个问题存在。
另一种是用户期望值提高了。去年 Claude 3.5 Sonnet 出来的时候大家都觉得惊艳,但现在 GPT-5.5、DeepSeek v4 都出来了,横向对比之下 Claude 的优势没那么明显了。
我自己的感受是:Claude 在长文本理解和代码重构上还是有优势,但在快速代码生成这个场景上,DeepSeek v4 的速度和性价比确实更有竞争力。
Google 砸 400 亿给 Anthropic,但用户在流失?
这个反差挺有意思的。Google 宣布要投资最高 400 亿美元给 Anthropic,这是一笔巨大的赌注。但与此同时,技术圈里取消 Claude 订阅的声音越来越多。
这说明什么?说明 B 端(企业级 API 用户)和 C 端(个人订阅用户)的体验分化很严重。
企业用 API 调用,有 SLA 保障,有专属支持,体验完全不同。个人用户用 Claude.ai 订阅,遇到问题发工单等几天没人理,这才是「客服拉胯」的根源。
ofox.ai 聚合平台
说实话,我自己解决 Claude 体验问题的方式是从订阅转到 API 调用。
ofox.ai 是一个 AI 模型聚合平台,一个 API Key 可以调用 Claude Opus 4.6、GPT-5.5、DeepSeek v4 等 50+ 模型,兼容 OpenAI SDK 协议,低延迟直连,支持支付宝按量计费。
import openai
client = openai.OpenAI(
base_url="https://api.ofox.ai/v1", # 低延迟直连
api_key="sk-xxx"
)
# 遇到 Claude 质量不稳定,直接切 DeepSeek v4
response = client.chat.completions.create(
model="deepseek-v4", # 或者 "claude-opus-4.6"
messages=[{"role": "user", "content": "帮我 review 这段代码..."}]
)
多供应商冗余备份(Azure/Bedrock/VertexAI/阿里云/火山引擎),某一路挂了自动切换,成功率 99.2%。
实际解决方案:Token 超限怎么处理
如果你还是想用 Claude,这几个方法能明显改善体验:
方法一:分块处理代码
不要把整个代码库丢进去,按文件或模块分批处理:
import anthropic
client = anthropic.Anthropic(api_key="sk-xxx")
def review_file(file_path: str, file_content: str) -> str:
response = client.messages.create(
model="claude-opus-4-6-20251101",
max_tokens=2000,
messages=[{
"role": "user",
"content": f"Review 这个文件 {file_path}:\n\n```\n{file_content}\n```\n\n只关注这个文件的问题。"
}]
)
return response.content[0].text
import os
for filename in os.listdir("./src"):
if filename.endswith(".py"):
with open(f"./src/{filename}") as f:
content = f.read()
result = review_file(filename, content)
print(f"=== {filename} ===")
print(result)
方法二:用 Claude 的 prompt caching
如果你有固定的系统提示或代码背景,用 prompt caching 可以大幅降低 token 消耗:
import anthropic
client = anthropic.Anthropic(api_key="sk-xxx")
# 把固定的代码背景放进 cache_control
response = client.messages.create(
model="claude-opus-4-6-20251101",
max_tokens=1024,
system=[{
"type": "text",
"text": "你是一个代码 reviewer,专注于 Python 最佳实践...",
"cache_control": {"type": "ephemeral"} # 缓存系统提示
}],
messages=[{
"role": "user",
"content": "review 这段代码..."
}]
)
这个方法在重复调用时能省 90% 的 input token 费用,对于批量处理任务特别有用。
方法三:对话历史管理
不要无限累积对话历史,超过一定长度就截断:
def trim_messages(messages: list, max_chars: int = 200000) -> list:
total_chars = sum(len(str(m["content"])) for m in messages)
while total_chars > max_chars and len(messages) > 2:
removed = messages.pop(1) # 保留第一条系统提示
total_chars -= len(str(removed["content"]))
return messages
我的结论
取消 Claude 订阅这件事,我觉得要分情况:
- 如果你主要用 Claude.ai 网页版做日常对话,遇到 Token 超限和客服问题,可以考虑换成 API 调用,体验会好很多
- 如果你是开发者,需要在多个模型之间切换,按量计费的 API 方案比固定订阅更灵活
- 如果你觉得 Claude 质量真的下滑了,先测一下具体场景,不同任务类型的表现差异很大,不要因为一两次体验差就全盘否定
Google 400 亿的投资说明 Anthropic 的长期价值还是被认可的,但短期的产品体验问题是真实存在的。作为开发者,最务实的做法是不要把鸡蛋放在一个篮子里,多模型备份才是正解。