00:00:00让云端代码像原始人一样说话,不仅能帮你节省 Token,
00:00:04实际上还能提升性能。现在表面上听起来,
00:00:07这完全像是个梗。我们有一个名为“caveman”的 GitHub 仓库,
00:00:12它在 72 小时内就获得了 5000 颗星。
00:00:15而它的全部功能就是强迫云端代码像尼安德特人一样说话。
00:00:19它删除了所有废话。其核心理念是,通过让表达更简洁,
00:00:24我们可以在此过程中节省大量的 Token,
00:00:27但在该仓库中埋藏着一个链接,指向几周前刚发表的一篇研究论文,
00:00:31它告诉我们,如果我们强迫大型语言模型变得更简洁,
00:00:31我们不仅能节省 Token,还能显著提升它们的性能。
00:00:36所以今天我要拆解这整套“原始人”技巧。
00:00:40我会解释它究竟能为你带来什么,因为仓库里的数据
00:00:42有一点误导性,我们会详细讨论这篇研究论文,
00:00:46让你明白这对你究竟意味着什么。这就是 caveman,
00:00:50也就是我们的“能用几个词说清,何必废话连篇”仓库。
00:00:54那么,它到底是做什么的呢?其实很简单,
00:00:58就是删掉云端代码中的废话。现在它说话像个原始人。
00:01:02它提供了一些对比示例,展示了 Token 差异,
00:01:07甚至还有一个完整的基准测试列表,展示了它给云端代码的任务:
00:01:11解释 React 重渲染 Bug,展示普通 Token 消耗量、
00:01:15原始人模式 Token 消耗量以及节省的数量。
00:01:19现在,这个仓库提出的数据有点疯狂。
00:01:21他们声称利用这项技巧,
00:01:23我们可以在保持完整技术准确性的同时,
00:01:26减少 75% 的输出 Token。
00:01:30这种“原始人”模式并不会改变云端代码底层的推理方式。
00:01:31它不会改变代码生成的实际过程。这些都没有变。
00:01:35它改变的只是输出,即你看到的响应内容。
00:01:38它还包含一个配套工具,可以将你的记忆文件,
00:01:41比如 claud.md,压缩成原始人的语言。
00:01:45据说这可以在每个会话中减少 45% 的输入 Token。
00:01:47现在我们要明确一点:你并不是在总体上削减 75% 的输出 Token,
00:01:52或者总体削减 45% 的输入 Token。那完全不是事实。
00:01:57尽管我们可以看到这些说明,比如,“嘿,”
00:02:01“在解释 React 重渲染 Bug 时节省了 87% 的 Token。”
00:02:03但你从云端代码得到的提示词、响应本身,
00:02:07其中的文本只是整体输出 Token 的一小部分,
00:02:11就像记忆文件,
00:02:15比如 claud.md,只是整体输入的一小部分一样。
00:02:17所以,关于这在 Token 规模上到底能带给我们什么,我们必须非常清楚。
00:02:21你并没有节省总 Token 的 80%。为了说得更明白一点,
00:02:25让我们拆解一个平均 10 万 Token 的云端代码会话。
00:02:28我知道每个会话都略有不同,但请跟我一起算算。
00:02:32我们有一个 10 万 Token 的会话,它被分为两个部分。
00:02:36输入占了大头,
00:02:40约为 75,000 个 Token;输出占 25%。
00:02:42现在 caveman 声称我们要减少 75% 的输出。
00:02:46这并不准确。如果我们看一下输出,它其实由三部分组成,对吧?
00:02:51有一部分是工具调用,一部分是代码块,
00:02:56即实际的代码生成过程。
00:02:59然后是实际的文本响应,即这种响应,
00:03:02这种内部的文本响应,才是 caveman 调整的对象。
00:03:06那是它所减少的部分。它可以减少那部分的 75%。
00:03:10如果我们看这里,就能发现,好吧,
00:03:13通常文本响应占用 6000 个 Token,使用了 caveman 之后,
00:03:16我们节省了 4000 个 Token。所以总体减少了 4%。这仍然非常棒。
00:03:20如果我们在一个星期内节省了总 Token 的 4%,
00:03:25那积少成多肯定很可观,
00:03:29尤其是在当前大家对用量都如此敏感的环境下。
00:03:30但要明白这并不是 87%。它是 70%,
00:03:33或者说一个部分中的一部分的 60%。
00:03:38此外,
00:03:43如果你看输入,它提到原始人压缩可以节省 45%,
00:03:44同样,也不太准确。
00:03:49我们讨论的是系统提示词区域,而且只是其中的某些部分。
00:03:50所以总共算下来,对吧?我们大概节省了多少?也许 1000 个 Token,
00:03:54也许 2000 个 Token。再说一次,是在整个会话的过程中。
00:03:58如果我说每个会话节省 5000 个 Token,即 5%,那是好事,很有用,
00:04:03但并不是那些夸张的数字。所以在开始之前要明白这一点,
00:04:07这是一种边际效益的玩法。这并不会带来翻天覆地的变化。
00:04:13你不可能因为节省了 75% 就从 5 倍上限套餐升级到 20 倍。
00:04:15不,不,不,不,
00:04:19但这其中仍然有很大的价值可以挖掘。如果我们看一下
00:04:22埋藏在其中的那项研究,就会发现更有价值的东西。
00:04:25这里专门有一个小章节介绍它,
00:04:29这项研究叫做《简洁约束:语言模型中的反向性能层级》。
00:04:31它是今年三月初才发表的。
00:04:34所以我会把研究链接放在说明栏里,如果你想看的话,
00:04:36但我们现在简单聊一下,因为这真的很有趣。
00:04:38因为大家普遍认为并期待的是:大模型
00:04:41永远比小模型好。嗯,
00:04:45并不完全是这样,至少根据这项研究不是。
00:04:49在这项研究中,他们评估了 31 个模型在 1500 个
00:04:53问题上的表现,
00:04:56他们发现了一种机制,即“自发性的规模依赖性冗长”,
00:05:01它通过过度阐述引入错误。这到底是什么意思?
00:05:02这意味着,在 1500 个问题和 31 个模型中,近 8% 的问题上,
00:05:07大型语言模型,
00:05:11即参数更多的那些模型,表现比小模型差了 28
00:05:16个百分点,尽管在某些情况下参数多了 100 倍。
00:05:19所以会出现这样的场景,再说一次,这都是基于开源权重模型。
00:05:24一个 20 亿参数的模型居然打败了一个 4000 亿参数的
00:05:28模型。这种情况发生了多次。这太疯狂了。
00:05:32为什么会这样?嗯,
00:05:37他们认为原因是这些大型
00:05:41语言模型话实在太多了。
00:05:43它们太啰嗦了,以至于几乎把自己绕晕了,
00:05:49并因此得出了错误的答案。在研究中,
00:05:51他们发现通过约束大模型生成简短的响应,
00:05:55即原始人式的响应,准确率提高了 26 个百分点,
00:05:58并将性能差距缩小了多达三分之二。
00:06:02而且在很多情况下,通过强迫这些大型语言模型变得更简洁、
00:06:07更像原始人,它完全扭转了那种动态:之前
00:06:09它们败给了更小的模型,现在它们反败为胜了。
00:06:14这相当惊人,尤其是结合这个 GitHub 仓库来看。当然,
00:06:18这些显然是开源权重模型。这还不是 Opus 4.6,
00:06:21也不是 Codex 5.4。
00:06:26这些前沿模型是否也表现出完全相同的行为?
00:06:29我们目前还不能完全确定,
00:06:30但如果你看过这些研究,你就会明白通常在这里看到的趋势,
00:06:34往往会在前沿模型上以某种程度重复出现。
00:06:36也许没这么极端,但其中肯定有一定的道理。
00:06:40研究的其余部分详细介绍了他们运行测试的方式,
00:06:44他们如何尝试区分相关性与因果关系,以及为什么认为
00:06:47这是一个问题。正如我之前所说,
00:06:51他们假设大型模型会生成极其冗长的响应,从而
00:06:55掩盖了正确的推理,他们将这种现象称为“过度思考”。
00:06:57它只是试图输出太多的内容。
00:07:02它不是直接给你答案并避开干扰,
00:07:06而是真的把自己说到了错误的答案里。
00:07:07他们特别指出,这种学到的彻底周全的倾向
00:07:10变得适得其反,引入了误差积累,
00:07:13简洁约束对大型模型帮助极大,而对
00:07:17较小模型几乎没有影响。你肯定会有一个显而易见的问题,那就是:为什么?
00:07:21为什么会这样?为什么这些大模型会有这个问题?
00:07:25他们指向了强化学习。
00:07:28当你训练一个新模型时,
00:07:31比如假设 Opus 5.0 正在训练过程中。
00:07:34他们所做的部分工作就是强化学习。
00:07:36我不知道 Anthropic 是否专门这样做,
00:07:40但很多模型都是这样训练的。
00:07:42基本上,他们会拿新模型来,让一个人类来给它的答案打分。
00:07:44他们展示多个答案,人类会说,
00:07:45“我喜欢这一个胜过那一个”。研究指出,
00:07:50很有可能人类倾向于喜欢更冗长、更详尽的答案。
00:07:52正因为如此,
00:07:55这些大型模型本质上被训练得更加冗长,而不是
00:08:00简洁,甚至在某些情况下不再准确。
00:08:01但这里最大的收获是:简洁约束完全逆转了
00:08:05性能层级。所以它们之前处于劣势的地方,
00:08:08现在只需告诉它们“简洁一点”,就能反败为胜。
00:08:12他们没有改变思考方式,没有改变底层的任何东西。
00:08:14他们只是说,表现得像个原始人。他们当时并没有真正使用这个 GitHub 仓库,
00:08:18但道理是一模一样的。
00:08:20所以这就是为什么我觉得这其实挺有趣的,
00:08:25而不仅仅是一个梗。你知道,
00:08:28除了能节省 Token 这一点之外,
00:08:31节省 5% 的 Token 也不容小觑,
00:08:32尤其是如果你还没有升级到最高套餐。
00:08:37但如果存在一种潜在的情况,让我们能因此获得更好的输出,
00:08:39特别是在更直接的问题上,
00:08:41因为如果你深入研究那项调查,
00:08:44它分解了哪些问题会出现这种动态问题。
00:08:47这很有趣,非常有趣,
00:08:49这就是为什么我认为这值得一看。
00:08:53而且使用起来也超级简单。它只是一组技能。
00:08:56安装它真的只需要一行代码,然后运行它。
00:08:58我们要么用斜杠 caveman 来调用它,要么直接说,
00:09:02“像原始人一样说话”、“原始人模式”或“请减少 Token”。它还有不同的等级。
00:09:06所以我们可以选“超级原始人”,对吧?就像刚从海里爬出来,
00:09:09甚至还没法站直。然后我们还有“全量轻量化”。
00:09:13所以你可以获得不同年代的原始人模式。
00:09:17而且这也不是一刀切的。
00:09:21比如错误信息之类的东西会被原样引用。再次强调,
00:09:24任何与代码、生成有关的东西,
00:09:25任何底层的东西都会保持不变。我们并没有改变它的思考方式。
00:09:29所以总的来说,我认为这值得一试。它只是一项技能,
00:09:31能节省 Token,而且没有真正的弊端。根据那项研究,
00:09:35它在输出质量方面甚至还有潜在的提升空间。
00:09:37如果你不喜欢这种原始人的调调,
00:09:42我认为这至少提示你,应该在你的
00:09:45custom.md 里加一行:保持简洁,不废话,
00:09:48直奔主题,少用词,
00:09:52因为这样做显然是有好处的,不仅体现在 Token 上,
00:09:56正如我们所见,还可能体现在它给我们的实际答案上。
00:09:59这就是我今天想跟你们分享的。
00:10:03这个表面上看起来完全像是个梗的项目,
00:10:06Caveman Claude,实际上是有一定分量的,而且其背后还有
00:10:07科学研究支持,
00:10:11我认为这确实让它值得去实施。
00:10:15所以一如既往,请在评论区告诉我你的想法,
00:10:17如果你想看我的 Claude Code 大师课,记得关注 Chase AI Plus,
00:10:21未来几天还会有更多更新。
00:10:25除此之外,我们下次再见。
00:10:26另外,如果你想获得我的 Claude code 大师课,
00:10:29在接下来的几天里,该领域还会有更多更新。
00:10:33除此之外,我们下次再见。