页面顶部
已进入:阅读页
← 返回

个人网站文章2026-05-17lixiaolai.com作者:李笑来原文链接

《The Half Second》是如何写成的

我在 2024 年 5 月戒烟。用我自己的声音,重复三个词——这本书描述的正是那套方法。

《The Half Second》——正反封面整张展开。

时间线#

我在 2024 年 5 月戒烟。用我自己的声音,重复三个词——这本书描述的正是那套方法。

2025 年初,我在得到(Dedao)的长访谈节目里讲过这套方法的故事——那是我第一次尝试把这个机制用语言讲给观众听。2025 年 5 月,我写出了第一版草稿,当时书名叫 Selftalking​。我没有发布它。戒烟一年或十八个月后复吸并不罕见;在那套方法还没穿过“复吸窗口期”之前,我拒绝写一本把它当成已被验证的技术来兜售的书。

2025 年 8 月,我为那份手稿 vibe-coded 了一个 iOS 配套应用。我那时的工程经验基本为零。原型上线之后,这项工作让我看清:我需要学会成为一名软件工程师,而不是雇一个工程师来替我做。自那以后,书最终会需要的每个工具,我都去学着自己造出来。

2025 年末到 2026 年初,支撑性研究不断累积,与之配套的工具箱也随之增长——我写了专用脚本来做证据收集、组织、交叉引用,以及跨文献的冲突消解。支撑材料文件的规模先是增长了一个数量级,然后又增长了一个数量级。读者的工作记忆,只能连接“此刻还记得”的东西;模型能连接“曾经读过”的所有东西。

2026 年 3 月,我发布了 NLPM——一个自然语言编程包管理器。我做它的目的是让 AI 生成的产物持续受评分纪律约束。把它造出来,也验证了手稿本身后来需要的一点:高吞吐量的自然语言文本处理,是这个时代 AI 形塑出来的一类工作。

2026 年 5 月初——距离最后一支烟正好两年——我重新启动了这本书。那时我已经在 VMark 里写作:那是我为自己打造的一台 AI 辅助写作工作站——终端原生的编辑器,连着 MCP servers(让编辑器与专门工具对话的协议)、自定义 agents、评分脚本、为不同任务路由模型的机制,以及项目级记忆。干净、舒服、完全贴合这项工作。(源码:github.com/xiaolai/vmark。)

VMark 编辑器打开手稿:文件树、正文窗格、终端。

因为一年之前的 Selftalking 草稿已经存在,把结构重塑为 The Half Second 只用了一天。重塑是模型做的。接下来那一周里,逐章加深——打磨主张、整合引文、收紧认知弧线、审计每个被命名的概念——占去了余下的时间;而那部分仍然只能由我逐句完成。

递归#

这本书讲的是:如何改变“半秒里最先到来的东西”。而我写它时使用的工具,也在改变我自己的半秒里最先到来的东西——大语言模型、自动化风格审计、以及能把每一段文字的此前版本保存下来以便对照的版本控制历史。这种递归是有意为之的。一本文字在谈“安装”却忽视写作者手边可用的安装工具,就等于假装自己的主张不适用于自己。

AI 与编程让什么成为可能#

我做的几件事,如果没有 AI 帮助与基本的编程素养,一个人独自完成几乎不可能。把它们直白地讲出来。

把架构做成“活的软件”#

四份工件的架构,做成可运行的软件。 每章 dossier(主张、破坏性工作、读者状态的前置条件与后置条件、callbacks、setups、失败模式、声音寄存器)、一个 motif tracker(贯穿全书会复利的线索——戒烟故事、键盘、ARISE 表单、主权、词频计数器)、一条 cognitive arc(每个章节边界时我们处在哪个状态)、以及一套 dependency check(每个 callback 是否都被兑现?每个 setup 是否都被回收?第 N 章的后置条件是否匹配第 N+1 章的前置条件?)。二十章 × 四份工件 × 持续编辑。单个编辑不可能把这些都装进工作记忆;一叠纸笔笔记在写完第二天就会过期。这些工件作为 Markdown 文件活在项目目录里,与一个能在上下文中读完它们的 LLM 对话式共编。

迭代级联。 这本书把“规范材料”视为已提交(committed)。当我纠正某件事——戒烟开始年份、某句内在攻击者的话、金钱章节的核心证据、女儿的年龄——这个纠正必须级联传播到:那一章、回调到它的其他章节、相关的 motifs、相关的 glossary、以及读者状态文档。我写了一个脚本来做这个级联:它扫描仓库里与某个事实相关的所有位置,生成变更清单,应用变更,最后再跑一遍一致性检查以确认没有遗漏。否则,它会像常见的“把事实改对”一样,实际留下三处没改的旧版本。

引用卡片与引用验证。 我为每一条引用建立了卡片:引用的原文片段、出处信息、引用在本书中支撑的主张、以及这条主张在其他文献中的对应证据。随后我又写了一个“引用验证”流程:它把每条引用的出处与格式重新核对一遍,检查是否有错配、是否有同一来源被反复误引、是否有任何细节从“看似可信”滑成了“其实不对”。这里并不存在什么花活;只是把编辑工作中的机械部分做成可重复运行的脚本。

印刷版 PDF 流水线:一天搞定#

一天做出印刷版 PDF 流水线。 平装版的内文是 6×9 的米色纸张,加一张 KDP 的整张包封。内文:用 Playwright 逐章渲染,生成带章节页眉的 PDF;用 qpdf 按书脊顺序拼接;再用一段 Python 覆盖连续页码(从序言封面算“1”,而不是从扉页开始)、逐章斜体运行页眉,以及用于侧边栏导航的 PDF 书签树。封面:一张 300 DPI 的整张包封图,书脊宽度按页数 × 纸张厚度计算——米色纸每页 0.0025 英寸,比白纸略厚——再把出血(bleed)超出裁切线的部分用“逐列采样边缘颜色”的方式延展,让渐变能自然延续到裁切外。

四个脚本,约一千五百行代码。这项工作更像交叉盘问(cross-examination),而不仅是写代码。每个 KDP 约束——字体嵌入、书脊数学、出血延展、纸张厚度、每种格式的 ISBN 放置——都先对照亚马逊公开规范检查一遍;再让第二个模型复核一遍(它经常会给出不同的默认建议);最后再对着真正渲染出来的 PDF 再检查一遍。

库的选择争论也有同样形状:拼接用 Ghostscript 还是 qpdf;运行页眉用 Playwright 的 displayHeaderFooter 还是单独用 Python 叠加;在 Chromium 渲染阶段嵌入字体,还是在后期叠加阶段盖章嵌入(KDP 会拒绝任何存在未嵌入字体的上传,而 Chromium 在某些字体上会“静默失败”)。每一对选择,只有在两个模型都辩论过、而我在其中做出取舍之后,才会进入最终页面。

整条流水线压缩进了一天的日历时间。在那项工作的最后一小时里,我渲染了七套完整内文和六张整张包封;每一次渲染都足够便宜,可以只为观察一个调参效果就直接丢掉。若让一位印前工程师手工构建同等能力的东西——选库、调试 KDP “每种字体必须嵌入”的要求、按 KDP 纸厚规范算对书脊、处理章节封面页与刻意无页眉的前置页的边界情况——需要一周,交付会更脆弱,而且根本不可能在一小时里完整重渲七次,只为验证某个微调在页面上看起来是否正确。

多模型纪律:把它当质量控制#

机械审计:抓住疲惫编辑会漏掉的东西。 几个脚本会在每次修订后运行。一份“强迫性词汇”审计会标出 obviously​、​clearly​、​of course​、​as everyone knows​、​needless to say​——那些在证据落地之前就要求读者先同意的短语。一份“第二人称代词”审计会标出每一个 you​、​your​、​yours​(本书的声音规则几乎禁止“读者招募”,只在记录过的例外中允许)。一份“元引用”审计会标出 this chapter​、​this book​、​what follows​、​the rest of these pages​——那些宣告“作品本身”的手势,而不是把工作做出来。一份“权限”审计会列出每一处超过 25 个词的直接引用,累计每个来源被引用的总长度,并标出任何跨过保守 fair-use 阈值的来源。这里没有任何聪明;全是机械。一个人疲惫到一定程度,会把它们一个个漏掉。

跨模型独立性检查。 一段文字在一个模型里待得足够久,会沾上那个模型的“气味”——某些固定的三段式、某些固定的缓冲词、某些句型,让文本看起来像“被模型摸过”。把打磨后的文字再交给第二个结构不同的模型(在这个项目里是 codex MCP / gpt-5.5,最高推理强度)能抓住主模型漏掉的东西。我会逐段审查每个被标出的片段,并决定它留下还是删除。

这种检查每章能抓出二三十处人类编辑根本抓不到、也没有任何单一模型能在自己的输出里抓到的片段。相同的多后端纪律也被带进翻译:recompose 脚本可以调用五个不同模型后端——Anthropic Opus 与 Sonnet、OpenAI gpt-5.5 / codex 与 gpt-4o,以及本地 qwen2.5:72b——生成并列的目标语言版本供作者对照选择。

逐章对抗式审校。 二十章中的每一章,都被交给一个独立的 LLM(codex MCP / gpt-5.5,最高推理强度),并明确要求它在特定的发现类别下找出这章最弱的时刻——过度主张、把缓冲词当成下注、读者招募、母题过载、证据缺口。审校模型并没有“为这段文字辩护”的投入,所以它会浮出写作模型不会浮出的东西。我逐段检查每个被标出的片段,决定它留下还是删除。对抗报告驱动了三轮修复(Tier 1 / Tier 2 / Tier 3),显著增强了十几章的质量。

双 agent 的读者体验流水线。 在项目后期,两个结构不同的模型——一边是 Claude,另一边是 codex / gpt-5.5——各自把整本书从头到尾读了一遍,并生成逐章的读者体验报告:理解是否顺畅、摩擦点在哪里、读者在进入与离开每章时所处的 half-second 状态是什么,以及认知弧线在哪里弯折或断裂。十一份目录里的六十七个工件:二十份 Claude 报告、二十份 codex 报告、二十份 diff、一份 520 行的读者状态文档(追踪每个章节边界上的累积认知状态)、跨章节连续性与综合报告,以及三层优先级修复计划。

diff 才是承重输出:当两个谨慎读者在同一段落报告了同样的摩擦,问题就在那段落;当它们分歧,分歧本身也是数据——一个模型抓到了另一个没抓到的东西。流水线产出的修复计划驱动了最后一轮跨十九章的定向微修。一个人读两遍,无法与自己产出 diff;两个读者可以,但不可能在一天里完成。

只是做到“零错别字”,而这价值巨大。 “没有错字”是出版业假装很日常、却经常交付失败的东西。对一个独自写作的人来说,历史上它往往遥不可及——请一位文字编辑、校对,以及两位认真早期读者的成本,超出一个作者能调动的资源。《The Half Second》在二十章、前置页与后置页上做到零错别字——不是“几乎没有”,不是“第 187 页还剩三个”。机械审计、跨模型检查、对抗式审校,以及两个结构不同模型的端到端通读,合起来抓住了那种“疲惫的人眼一次次错过”的东西。这听起来是本页上最小的一项成就,却是读者最直接能感到的那一项。读者每撞到一个错字,就会失去半秒对作者的信任;从不撞到错字,信任就能贯穿全程。

把声音当作可发布的约束。 三条原则支配每一段文字:这本书必须能落地给一个聪明的十二岁孩子,而又不对任何更年长的人说教;每个主张都要交付它最强的版本,而不是“最容易防御反驳”的版本;机制必须先被展示,再被命名。这些原则靠上面的审计与一套“按需读任何章节并对照声音规则报告漂移点”的 LLM 保持诚实。最终是否修改仍然由作者决定;可规模化的是阅读与报告。

上面四个簇,都是 AI 与编程让它成为可能的东西。下面这个簇,是任何编程都替代不了的东西。

只有写作者才能做的决定#

范围决策跑在执行之前。 三十三个文件——序言、十九章、前置页、所有后置页——曾在一次会话里通过 codex MCP 的最高推理强度翻译成中文;第二遍还应用了 258 处机械术语替换。整个工作用了一天。两天后,我完全放弃了中文范围:这本书最终只以英文出版。值得点明这种不对称:AI 的执行速度(一天翻完三十三个文件)与人的决策速度(一次对话就能决定“范围错了”)在两个方向上快得不一样。为这项工作搭建的基础设施,比做出“不做中文”这个决定要更便宜。

个人生活是证据锚点。 我的核心证据是我真实的生活:三十九年的吸烟史,被重复三个词戒掉;在新东方七年的教学,以及此后几十年为一个超过一万户家庭的中文社群写作;与一个六岁女儿的一次具体时刻,催生出一段具体脚本;一群自 2019 年起投资组合构成可验证的公共记录人群。我借来的不是证据,而是我能接触到的事实。至于我引用的学术研究——Hasher、Gollwitzer、Wood、Kross、Squire、Zajonc、Wegner、Brewer——它们被当作加固,而不是地基。AI 没有提供生活证据;AI 做的是把这些生活证据周边的学术邻接关系“翻亮”,让不共享这段生活的人也能看懂这些证据的形状。

AI 没做什么,以及它做错了什么#

它没有生成主张。它没有发明个人时刻。它没有决定我与哪些传统争论、以怎样的方式争论。它没有决定封面要说什么。它写过的段落,我都逐句拿着我定义的声音寄存器去审查。它跑出的审计结果,我逐条判断。边界守住了。

并且:它确实会产出读起来流畅、却在某些地方“错得很具体”的文字,而我必须学会看出来。跨模型独立性检查之所以每章能抓出二三十处标记片段,正是因为主模型会写出那种“句子层面看起来很顺、认知弧线层面却死掉”的句子——模型节奏的三段式、表演关心却不配得的缓冲词、即便内容是我的也仍然像“被模型摸过”的句型。

引用验证在大约一百条条目里找到了七处实质性纠正,其中几处错误来自 AI 生成的引用卡片:它们读起来很自信,但其实不对。级联程序存在的理由也在这里:否则模型会把六处里改对三处,然后汇报“完成”——这种习惯我曾经真的交付过一次:一次批量 pattern-replace 把四句话的语法弄坏了,而我直到后来才抓到。

模型越快,我就越要谨慎决定把它指向哪里。把三十三个文件翻成中文只用了一天;识别“范围决策错了”又花了两天。一次不明智的执行成本足够高,以至于这种速度不对称本身就是一种纪律问题。边界之所以能守住,是因为我很晚才学会——而且有几次是以“学痛”为代价——边界到底在哪里。

这本书在哪里发布#

The Half Second 已在亚马逊上提供 Kindle 版和平装版:amazon.com/dp/B0H1TKTMDD。

《The Half Second》——亚马逊商品页截图。

这对我们意味着什么#

一本主张“刻意安装第一反应”的书,用“刻意安装工具”写成,在写作者的工作生活这一小尺度上先演示了同一套机制,然后才要求我们在自己的工作生活里以任何尺度去演示它。