用文言文跟 AI 讲价:caveman 的 wenyan 模式到底怎么玩?
用文言文跟 AI 讲价caveman 的 wenyan 模式到底怎么玩【免费下载链接】caveman why use many token when few token do trick. Viral skill proxy for coding agents that cuts 65% of tokens by talking like a caveman.项目地址: https://gitcode.com/GitHub_Trending/caveman1/cavemancaveman 大概是过去一年里最反直觉的开源项目之一让 AI 编码代理像山顶洞人一样说话靠删废话把输出 token 压下来。它登过 GitHub Trending 总榜第一README 自称星标已破 10 万Adobe Research 发过论文引用它JetBrains 拿 86 个真实编码任务做了 A/B 对比。在AI 每多说一个字都要计费的时代这个方向天然自带流量。但真正让中文开发者眼前一亮的是它内部那个被称作 wenyan 的模式让 AI 用文言文回复你。useMemo该怎么讲文言文里是以useMemo包之則免。这到底是怎么实现的、实测省不省 token、什么任务能玩、什么任务会翻车本文直接进仓库源码把这个问题拆开。一、wenyan 从哪来六档强度如何变成三个技能caveman 最早的形态不是三个模式而是一组强度滑杆。在 src/hooks/caveman-config.js 里至今保留着这段旧档位映射const LEGACY_MODES { lite: caveman, full: caveman, ultra: ultracave, wenyan: megacave, wenyan-lite: megacave, wenyan-full: megacave, wenyan-ultra: megacave, };注意wenyan、wenyan-lite、wenyan-full、wenyan-ultra四个旧档位全部指向同一个目标megacave。也就是说wenyan 从来不是文言文程度可调的滑杆——它从一开始就是一个独立的文风档位。2026 年 10 月 2 日发布的 3.1.0 做了一次彻底重构设计文档见 docs/technical/three-skills-refactor.md把六档压缩成三个技能caveman原始人腔调、ultracave语法剥到只剩碎片、megacave文言文。旧值不丢任何会话文件、配置、状态标志里存了wenyan-lite读取时都会被canonicalMode()归一化为megacave写入则永远只写新 id。这个兼容迁移甚至被写进了冒烟测试——tests/manual/session-mode-smoke.sh 第 10 步专门验证一台旧机器上遗留的.caveman-active里写着wenyan-lite状态栏徽章必须渲染成[MEGACAVE]而不是卡死。二、文言文压缩是怎么实现的不是翻译器是文风约束很多人以为 wenyan 模式是内置了一本白话→文言词典或压缩算法。真实实现要朴素得多也更有工程味道megacave 就是一个 Skill一段注入给模型的规则文本。核心只有一句话skills/megacave/SKILL.md以文言答。技術之實皆存唯贅言去之。围绕这句话SKILL.md 定义了几条硬规则读起来像一份文言文写作规范文言腔调省略可还原的主语动宾前置用虚词之、乃、為、其、則、故、以取代连接短语。规则里给的例子你的組件每次渲染都會重新渲染因為你每次都創建了新的對象引用。請用 useMemo 包起來要压缩成每繪新生對象參照故重繪以useMemo包之則免。一个虚词一个关系虚词不是装饰是句子的结构骨架。池蓄已開之連不逐請而新開省握手之費。一句里每个虚词都在承担一个逻辑连接。每条事实只说一次不重复、不总结这是压缩的核心来源。payload 必须原样代码、命令、路径、API 名、错误字符串永远不允许被翻译——useMemo不能写成記憶化鉤子SELECT 1不能变成文言文。否定词是底线不、非、勿、未、毋一个都不能丢。丢掉一个否定词比省下的所有 token 都贵。这正是 caveman 全家共享的哲学skills/caveman/SKILL.md 里写得很直白Ceremony is expensive, grammar is cheap.——寒暄是十个 token语法结构是廉价的。文言文恰好是语法高度结构化、寒暄天然稀少的文本形态于是被选中作为三档文风中最文学的那一档。技术机制上它也不是靠实时改写输出而是靠注入与持久化caveman-config.js里的loadRuleset()在会话启动时把skills/megacave/SKILL.md全文注入上下文thesisLine()提取首行作为每轮轻量强化模式状态按会话粒度存在$CLAUDE_CONFIG_DIR/.caveman-sessions/session_id.mode并行开两个窗口各说各话互不串扰。调用入口则被统一解析src/hooks/caveman-parse.js 与 commands/caveman.toml/megacave # 直接进入文言文模式 /caveman wenyan # 旧别名等价于 /megacave /caveman status # 查看当前模式不改变状态 stop caveman # 退出回到白话三、实测同一段对话四个版本差多少先看 README 首页那张著名的选你的棍子表README.md同一个 React 问题四个文风的输出模式输出tokentiktoken o200k普通代理The reason your React component is re-rendering is likely because youre creating a new object reference on each render cycle...63/cavemanNew object ref each render, so React re-renders. Wrap the prop inuseMemo.20/ultracaveInline object prop, new ref, re-render.useMemo.14/megacave新參照致重繪。useMemo。13文言文版 13 个 token是这四档里最省的。再看仓库里真正跑出来的评估快照 evals/snapshots/results.jsonclaude-opus-5-5、10 个典型开发问题、单次运行。同样是 React 重渲染问题megacave 的回答是React 之常也父重繪子皆隨之重繪不論 props 變否。…… 子若用useContextcontext 值變則必重繪memo不能止。宜分 context或以useMemo穩其值。语法信息完整保留props、useContext、useMemo、React.memo全部原样而叙述骨架全部文言化。但这里必须泼一盆冷水这也是 caveman 项目最反营销的地方docs/HONEST-NUMBERS.md 全文基调就是有些时候省、有些时候亏你自己测megacave 的 token 节省其实很小且噪声大。同一份快照的统计是——中位数只比对照组Answer concisely.少9%单题分布从 -39% 到 12% 都有。megacave 自己的 SKILL.md 里甚至直接写了一句never claim them永远不要宣称文言文能省 token。原因也写在 skills/megacave/README.md 里字符数减少 ≠ token 数减少。现代大模型的分词器对现代汉语的压缩率已经很高文言文看起来短的字数优势在 token 层面往往被稀释掉而且文言文复杂的虚词结构在某些句子上反而比白话更费 token。文言文模式的真正价值在于终端阅读体验——同样信息量屏幕上的字符少了一大截——而不是账单。四、哪些任务适合 wenyan哪些会翻车megacave 的规则集其实已经帮我们划好了边界。适合的场景技术问答与诊断答案信息密度高、结构清晰比如为什么重渲染连接池是什么EXPLAIN 怎么看。文言文的省略主语虚词承载结构恰好匹配这类结论要点型回答。思路性简短回复一句话能讲清的取舍、命名、选择文言文版往往真的更短上面 13 token 的useMemo例子就是。工具运行过程规则要求一行文言文进、一行文言文出工具调用之间零寒暄——这本来就符合终端工作流。会翻车、规则明确要求退回白话的场景megacave SKILL.md 的 When to break the rules 一节逐条列了安全警告与不可逆操作删除、迁移、git push --force这类操作前必须用完整句子白话确认文言文句子的省略主语太容易产生歧义。任何有双重解读的句子规则原文是A clause ambiguous in 文言 becomes 白話——文言文里可还原的主语一旦还原错整句话意思就反了。用户已经困惑或重复提问时这时候再压文风就是火上浇油。任何会持久化到代码仓库之外的内容代码注释、commit message、文档、issue、PR、聊天记录之外的消息——这些要么进 git 历史要么进别人的沟通流必须白话防止误读。还有一条容易被忽略的安全阀规则第 6 条Never perform规定如果某句话用文言文写不比白话短就老老实实用白话。也就是说 megacave 不是无条件翻译——它在每个句子上都做了一次文言 vs 白话长度的即时比较长的那版出局。这保证了文言文模式永远不会为了像文言文而变长符合 caveman 一贯的不表演、不凑字数原则。五、小结把 wenyan 模式剥开看会发现它既没有翻译引擎也没有压缩算法——它是一份精心设计的文风规则 一套会话级状态机 一句payload 必须原样的铁律。文言文在这里被当成一种高信息密度、低寒暄的文本形态来用赢的是终端阅读体验不是 token 账单那 9% 的中位数节省更多是奖励而非卖点。想亲自试一把的路径很简单/megacave或老别名/caveman wenyan说stop caveman回到白话。至于用文言文跟 AI 讲价到底值不值——caveman 自己给了个很诚实的答案字符省了token 未必而那句技術之實皆存唯贅言去之本身就是对整件事最好的注脚。【免费下载链接】caveman why use many token when few token do trick. Viral skill proxy for coding agents that cuts 65% of tokens by talking like a caveman.项目地址: https://gitcode.com/GitHub_Trending/caveman1/caveman创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

C++桥接模式变体实战:从std::function到pimpl

C++桥接模式变体实战:从std::function到pimpl

桥接模式大概是设计模式里最容易被“会了但没完全会”的一个。网上十篇教程里九篇用跨平台图形引擎举例,Shape抽象类配一个DrawingAPI实现接口,然后满屏幕的Circle、RedCircle、GreenCircle。例子没错,代码也能跑,但真到自己项目里…

2026/10/10 20:25:12 阅读更多 →
Java 从零开始:用 Spring Boot 创建你的第一个 MCP 服务并接入 TaoToken

Java 从零开始:用 Spring Boot 创建你的第一个 MCP 服务并接入 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 20:25:12 阅读更多 →
轻量级日志采集系统从零搭建实践指南

轻量级日志采集系统从零搭建实践指南

无法基于当前输入生成博文。项目标题仅为数字串“12312132123123”,项目正文、关键词、摘要描述均为空,相关热搜词和网络热词也缺失,没有可围绕的核心主题、技术点、应用场景或读者需求线索。请提供完整的输入信息,格式如下&#…

2026/10/10 20:25:12 阅读更多 →

最新新闻

Python爬虫实战:抓取中国天气网七日预报并导出CSV

Python爬虫实战:抓取中国天气网七日预报并导出CSV

上周一个朋友问我说,他常跑的城市比较固定,能不能把未来一周的天气整理成一张表,出门前扫一眼就够。我说这需求听着就该交给爬虫来干。于是就有了这个项目:用 Python 爬虫抓中国天气网的七日预报页面,解析出全国城市的…

2026/10/10 21:14:02 阅读更多 →
融合Sin混沌与分段权值的改进阿基米德优化算法及Matlab实现

融合Sin混沌与分段权值的改进阿基米德优化算法及Matlab实现

做算法对比实验和模型超参数寻优时,最愁的不是没有优化器,而是手里拿着一个效果还不错的元启发式算法,却不知道该往哪个方向改。最近我在整理Matlab工具箱时,把阿基米德优化算法(AOA)做了两处针对性改造&am…

2026/10/10 21:14:02 阅读更多 →
无人机三维路径规划的Matlab实现:A星算法原理、代码与调试全解析

无人机三维路径规划的Matlab实现:A星算法原理、代码与调试全解析

A星算法、无人机、三维路径规划、Matlab,这四个词放在一起,基本就是这几年无人机方向毕设和工程预研里最常出现的组合之一。我自己用Matlab做这种基于栅格地图的路径规划也有几年了,代码从最早只能在二维小地图里跑通,一路改到能处…

2026/10/10 21:14:02 阅读更多 →
Java程序员面试必备:大厂真题核心考点与系统化备考方法论

Java程序员面试必备:大厂真题核心考点与系统化备考方法论

写在前面:我不是什么培训机构讲师,也没什么流量焦虑。前两年在阿里做后端研发,带过不少新人,也当过几轮面试官。后来出来折腾自己的项目,才意识到一个问题——Java面试题这东西,网上随便一搜好几万条&#…

2026/10/10 21:14:02 阅读更多 →
Spring Boot整合Quartz定时任务配置与集群实践

Spring Boot整合Quartz定时任务配置与集群实践

1. 项目概述1.1 核心需求解析Spring 整合 Quartz 做定时任务,算得上是 Java 后端面试和实际项目中都绕不开的一个经典组合了。网上讲这俩集成的教程一抓一大把,但不少都是直接把代码一贴、配置一摆就完事,根本没讲清楚 JobDetail、Trigger、S…

2026/10/10 21:14:01 阅读更多 →
Kubernetes Python 客户端 V1QueuingConfiguration 模型详解:API 优先级与公平调度(APF)排队参数实战指南

Kubernetes Python 客户端 V1QueuingConfiguration 模型详解:API 优先级与公平调度(APF)排队参数实战指南

后端云原生容器编排 【免费下载链接】python Official Python client library for kubernetes 项目地址: https://gitcode.com/gh_mirrors/python1/python 点击查看 免费下载 本指南围绕 Kubernetes 官方 Python 客户端(kubernetes)中由 Ope…

2026/10/10 21:13:01 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →