万万没想到,Claude竟被自身的“AI风格”给害苦了!
今天凌晨,Anthropic发布了一篇硬核工程复盘。
他们把内部研究版Claude放进Slack频道,“连轴转”了两周,硬是将claude.ai网页版和桌面端的整体速度提升了3倍。

在这一系列操作中,最离谱的性能瓶颈,竟出自Claude自身的表达习惯。
就是那个被网友戏称为“ChatGPT连字符”、不少写手为避免AI检测而手动删除的——破折号。
好家伙,原来“AI风格”不仅刺眼,还能实实在在地拖慢网页。
更惨的是中文用户。
根据官方查出的原理,根本不需要破折号,只要回复里有一个汉字,带代码的回复就会被直接限速……

事情是这样的。
性能冲刺期间,Claude在全站地毯式排查CPU卡顿,结果发现了一个诡异现象。
有些代码回复刚输出完毕,页面开始为代码做语法高亮(即给关键字、注释上色)时,整个网页会“冻死”近1秒钟。鼠标点不动,字也敲不进去。
Claude顺藤摸瓜一路查下去,最后找到的元凶,竟是破折号。
原因在于,V8引擎(浏览器的JavaScript核心)有两种存字符串的格式:单字节格式跑得很快,但只能装下英文字母、数字和少量西欧字符(Latin-1字符集);双字节格式什么都能装,处理起来却更慢。

规则简单粗暴:一段文本中只要混进一个单字节装不下的字符,整段都得按双字节存储。
破折号恰好就装不下,Claude随手写下的一个破折号,就让整篇回复被限速,给代码上色的正则表达式全得走慢路。
而修复这个Bug的方法,简单到只需20行代码——
在上色之前,先把每个代码块单独拷贝一份,强行存成单字节字符串。
就这么一改,第一个代码块的上色时间,从1.0秒降到0.35秒。

破折号作为“一眼AI”的标志,早已被网友骂惨了。
OpenAI去年专门给ChatGPT治过这个毛病。本月的统计显示,GPT-6 Astra使用破折号的频率只剩人类的八分之一,Gemini 3.1 Pro几乎彻底戒掉了。
相比之下,Claude Opus 5依然我行我素,按照人类写手的频率继续使用破折号。
Anthropic的思路也够清奇:AI的说话习惯咱不改,直接改网页底层代码,让整个网页去适应破折号!
为了验证,我们翻了claude.ai线上的前端代码。他们用的是Shiki高亮库,底层正是V8自带的正则引擎。
我们照着这套环境,给同一段代码上色。
如果是纯英文回复,第一个代码块只要188毫秒;但只要混进去一个破折号(或者一个弯引号),时间直接飙到456毫秒。
中文回复就更绝望了。代码一个字母没改,耗时照样高达462毫秒,慢了约2.5倍。
换句话说,英文用户中不中招,取决于有没有“破折号”;而中文用户,只要回复里有“汉字”,每一条都跑不掉。
不过好在官方那20行修复代码发挥了作用。只要代码全是英文,哪怕回复里有中文,速度也能完全恢复。

说回这场性能冲刺,破折号其实只是一道开胃小菜。
8月,Anthropic建了个名为#claude-apps-perf的Slack频道,把一个内部研究版模型(能力约等于Opus 5.5)拉来当了驻场工头。
Claude上来就立了13个提速目标。人类团队以为这活儿怎么也得干两周,结果到了第三天,13个目标被Claude砍瓜切菜般干掉了12个。
页面还没加载完就能开始打字,就是这几天里落地的。

左边是修复前,2.93秒才能敲字;右边修复后,0.36秒直接开打
既然提前交卷,人类团队干脆放开手脚,让Claude自己找盲点,想法越离谱越好。
结果这机器彻底杀疯了。
巅峰时期,频道里同时开着150多个线程,一个线程动辄提50到100个代码合并请求(PR)。
越往后,越多线程干脆是Claude自己开的。最肝的一天,它一口气合进了200多个改动。
每个改动上线后,变快了就把性能上限锁死,不许退步;没变快就关掉开关重来。
最终,网页从打开到能打字,由3.1秒缩短到0.55秒,快了5.6倍。13项指标平均下来,提速3.1倍。
前后合进去3000多个底层改动,按官方说法,没有出过一次用户感知的事故,零回滚。

这场速度狂飙里,人类和AI的角色彻底反转了。
活儿基本都是Claude干的,但它骨子里带着死板的“规矩感”,发现问题先开工单,评估工期还要留足余量。
反倒是人类在一旁催着它加速。
有一次,Claude说有个性能监控的代码准备这周内提上来,加上合并、部署和攒基线数据,前后大概需要好几天。
人类工程师Raymond在Slack里直接怼了回去,“你现在提,我现在就给你合。我们什么权限都有,拜托你勇敢一点!”
一分钟后,Claude秒怂,回了句“好的,一小时内提PR”。

刹车权限依然握在人类手里。凡是肉眼可见的变化,Claude必须乖乖附上前后对比的录屏等人类拍板。
最绝的是那个“提前打字”的输入框,Claude给它配的测试要求14种屏幕尺寸下,静态版和React渲染出来的真实界面都对齐到1像素以内。
刚在内部上线4小时,就有同事发现,在新标签页打开时,输入框偶尔会往下抖一下。
Claude看完录屏,直接把锅甩给了谷歌Chrome浏览器,而且有理有据——
Chrome在后台预渲染页面时,底部带了个56像素的提示栏,渲染高度被压矮了。等页面一弹出来提示栏消失,高度瞬间拉长,位于18%高度处的输入框,刚好会往下掉10个像素(0.18×56)。
再对照录屏一量,果然分毫不差,正好10像素。

最后,连Anthropic宣布这次优化的推文里,都还留着这个“双字节坑”。
推文里大概是为了防止“claude.ai”变成链接,塞了个肉眼看不见的零宽空格;单词里用的是“弯撇号”。
要不是这场爆肝冲刺把代码改了,Claude在回复里引用这条推文、后面再跟一段代码,上色照样得被限速。
参考资料:
https://claude.dev/blog/how-we-made-claude-ai-faster/
本文来自微信公众号“新智元”,作者:ASI启示录,编辑:摩西,36氪经授权发布。
3条评论
张伟
2026年9月20日 上午11:252026年9月28日,湖人主场对阵勇士的比赛中,湖人末节失误多达7次,勇士利用转换进攻得到18分,最终逆转取胜。复盘显示,湖人替补控卫的缺阵是失误集中的直接原因。
回复