《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 纸厚规范算对书脊、处理章节封面页与刻意无页眉的前置页的边界情况——需要一周,交付会更脆弱,而且根本不可能在一小时里完整重渲七次,只为验证某个微调在页面上看起来是否正确。

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

机械审计:抓住疲惫编辑会漏掉的东西。 几个脚本会在每次修订后运行。一份“强迫性词汇”审计会标出 obviouslyclearlyof courseas everyone knowsneedless to say——那些在证据落地之前就要求读者先同意的短语。一份“第二人称代词”审计会标出每一个 youyouryours(本书的声音规则几乎禁止“读者招募”,只在记录过的例外中允许)。一份“元引用”审计会标出 this chapterthis bookwhat followsthe 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》—— 亚马逊商品页截图。

这对我们意味着什么#

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

How *The Half Second* was written

Image 1: The Half Second — front-and-back cover spread

A timeline#

I stopped smoking in May 2024. Three words, in my own voice, repeated — the technique this book describes.

In early 2025 I told the story of the method on Dedao's long-form interview program — the first time I tried to put the mechanism into words for an audience. In May 2025 I wrote a first draft of the book, then titled Selftalking. I did not publish it. Quitting smoking and relapsing a year or eighteen months later is not a rare event, and I refused to write a book about a technique that had not yet survived the relapse window.

In August 2025 I vibe-coded an iOS companion app for the manuscript. My engineering experience at that point was effectively zero. The prototype shipped, and the work made clear that I needed to learn how to be a software engineer rather than commission one. From that point on, every tool the book would eventually need, I learned to build.

Through late 2025 and into early 2026 the supporting research kept accumulating, and the toolkit grew with it — bespoke scripts for evidence collection, organization, cross-referencing, and conflict-resolution across the literature. The supporting-material file grew by an order of magnitude, then another. A reader's working memory connects what is currently remembered; a model connects what has ever been read.

In March 2026 I released NLPM, a natural-language programming package manager I built to keep AI-generated artifacts under scoring discipline. Building it confirmed what the manuscript itself would later need: high-volume natural-language text processing is one of the AI-shaped jobs of the moment.

In early May 2026 — exactly two years after the last cigarette — I restarted the book. By that point I was writing inside VMark, an AI-assisted writing workstation I had built for myself: a terminal-native editor wired up with MCP servers (the protocol that lets the editor talk to specialized tools), custom agents, scoring scripts, model-routing for different jobs, and project-level memory. Clean, comfortable, exactly suited to the work. (Source: github.com/xiaolai/vmark.)

Image 2: VMark editor with the manuscript open — file tree, prose pane, terminal Because the Selftalking draft from a year earlier already existed, the restructuring into The Half Second took one day. The model did the restructuring. The chapter-by-chapter deepening that followed — sharpening claims, integrating quotes, tightening the cognitive arc, auditing every named concept — took the rest of the week, and that part is still mine to do, sentence by sentence.

The recursion#

This is a book about changing what arrives first in the half-second. I wrote it using tools that themselves change what arrives first in my own half-second — large language models, automated style audits, version-control histories that keep prior selves of every paragraph available for comparison. The recursion is intentional. A book about installation that ignored the installation tools available to its writer would be pretending its own claim does not apply.

What AI and programming made possible#

Several things I did would have been impossible for one person working alone without AI assistance and basic programming literacy. Naming them, plainly.

Architecture as live software#

The four-artifact architecture as live software. Per-chapter dossiers (claim, destructive work, reader-state precondition and postcondition, callbacks, setups, failure modes, voice register), a motif tracker (the throughlines that compound across the book — the smoking story, the keyboard, the ARISE form, sovereignty, the frequency counter), a cognitive arc (what state we are in at each chapter boundary), and a dependency check (does every callback resolve? every setup pay off? does the postcondition of chapter N match the precondition of chapter N+1?). Twenty chapters × four artifacts × continuous edits. A single editor cannot hold this in working memory, and a stack of paper notes drifts out of date the day after they are written. The artifacts live as markdown files in the project directory, edited in dialogue with an LLM that reads all of them in context.

The iterative cascade. The book treats canonical material as committed. When I correct something — the smoking start year, an inner-attacker phrase, the central evidence in the money chapter, the daughter's age — the correction has to propagate through every file that touched the prior version. The project carries an explicit cascade procedure that names which files to update in which order. A correction that seems small often touches five or six files. The cascade discipline keeps the architecture coherent across the change.

Inventing and landing an acronym across the whole book. The five-component script form started life as X / Y / Z and grew, through several rounds of analysis, into ARISE — Identity, Situation, Action, Reason, Emotion. Settling on a name that fits the mechanism is one piece of work. Propagating that name across twenty chapters, the cheatsheet, the takeaways, the further-reading cards, the research dossiers, and the architecture documents — without leaving stale references behind — is a different piece of work, the kind a human editor performs by reading every file three times and still missing four things. With cascade discipline and an LLM doing the search-and-update, the cascade still took four passes over two days — and a fifth cleanup when a bulk pattern-replace left grammar errors in four places. The honest account: cascade discipline does not make propagation easy; it makes propagation trackable.

Systematic vocabulary changes across the corpus. Late in the project, I came to oppose the term trigger — present in the manuscript both as legitimate vocabulary and as the wrong-frame term the argument was rejecting. Twenty-four occurrences across six files. Some were straightforward replacements; some were context-dependent and required preserving the load-bearing rhetorical move while losing the rejected word entirely. Mechanical find-and-replace would have mangled the chapter that argues against the term. An LLM that understands what each occurrence is doing in its sentence performs the cascade in a single pass and leaves the argument intact.

Document re-organization at speed. The project's directory structure has been re-laid out at least five times during writing — drafts/ mirroring publish/; folding supporting directories into dev-docs/; re-weaving publish/ as a self-contained book package; combining back-matter/ and appendix/ into one. Each re-org touches dozens of cross-references in dozens of files. Without scripts that rewrite the references in lockstep with the moves, the writer would commit to the original structure on day one and live with it for the duration.

Mining the corpus, verifying the sources#

Mining a personal library of two thousand-plus books. I have read or skimmed somewhere over two thousand books across thirty years. Many contain the perfect supporting quote, the right anecdote, the mechanism-explanation that prefigures the chapter's claim. A human searching that library by memory finds perhaps one in fifty of the relevant passages. Semantic search across the indexed library finds them in seconds. Captains of Consciousness, the Three Pillars of Zen, Pieper's Leisure, Mauboussin's More Than You Know, the deep-cuts on cognitive dissonance and pre-suasion and identity-based motivation — most supporting references in this book passed through that search.

Twenty epigraphs, primary-source-verified, across five languages. Latin, Greek, French, classical Chinese, English. Each chapter opens with the original-language source plus a canonical English translation (Loeb Classical Library for Greek and Latin, Penguin Classics for La Rochefoucauld and Confucius, Princeton for Xunzi, Penguin for Pascal, and so on). Verification means going to the actual text in the original language and confirming the citation against the named edition. A single author working alone could not vet twenty epigraphs across five languages in any reasonable time. With LLMs that read primary-source corpora and a personal library of more than two thousand books indexed for semantic search, the work fits inside a single week.

Citation verification and enrichment at scale. Every entry in the further-reading card network — roughly a hundred citations, some with multiple sources — passed through automated DOI / ISBN / archive lookup. Seven substantive corrections surfaced in the process: wrong year, wrong publisher, wrong volume number. A research librarian could do this work in two weeks. Six parallel verification processes, each fetching against primary sources — ctext.org, Perseus Digital Library, Project Gutenberg, JSTOR, Internet Archive — ran simultaneously over nine minutes.

Concept-card network with internal links. The further-reading cards — roughly twelve hundred lines, organized as a graph with cross-references between concepts — contain about a hundred and forty cross-references to specific chapters, each verified to resolve to an existing draft file with the right anchor. The links were generated en masse by walking the cards file, matching the chapter mentions to slug paths, and writing them back. Hand-authored, this is a day of mind-numbing work; with the right script, it takes a minute.

The two clusters above replace what would have taken a research assistant and three months of calendar time. The clusters below replace a production team, a copy editor, and two careful early readers.

Build pipeline#

Cover and chapter-cover design. The front cover, the dedication, the front-matter epigraph, the table of contents, twenty chapter-cover graphics (each with a unique hand-drawn-feeling pencil sketch — the wavy line for someone is always writing, the converging arcs for the prologue, the branching tree for the shape of a workable script), and the back cover were designed, refined, and rectified entirely in code. The visual language — the pencil cadence, the color palette, the stroke weights, the type scale — was first explored inside claude.ai/design: six variations of the same artboard rendered inside ten minutes, a follow-up prompt that narrows to two, a third that picks the winner. The chosen direction was then brought down into a local React-based design canvas built for this book, where it has been refined and rectified ever since. Each pencil sketch is composed in code from primitive shapes — every stroke is drawn twice with a slight ghost-offset, which is what makes the lines read as drawn-by-hand rather than computed. The design tokens (color, type, stroke language, spacing) are a single source of truth that propagates to every cover at once. Themes can be swapped, fonts can be tried, intensities of edit-gesture can be tuned — every change recomposes the entire book's design system in real time. A designer hired for this work would charge per cover and would not respond to last-minute typography changes the way the code does.

Image 3: Chapter 3 cover — Someone is always writing Chapter 3's cover. Two parallel workflows meet on the page. The wavy-line pencil sketch was drawn in claude.ai/design and refined in the local React canvas; the classical-Chinese epigraph — 性相近也,習相遠也。 / "By nature, men are close to one another; through practice, they grow far apart." — was sourced and primary-source-verified by the epigraph-research agentic workflow described two clusters up. One page, two pipelines.

EPUB packaging as a build pipeline. The book ships as a mixed-layout EPUB 3 — fixed-layout for some pages, reflowable for prose and chapter covers — with a clickable table of contents woven from the spine, embedded webfonts, language-tagged Chinese spans (so CJK fonts render upright instead of fake-italicized), and a manifest the file passes from Apple Books to recent Kindle readers. The pipeline is four small Node scripts running browser-automation and markdown-to-XHTML conversion. Without programming literacy, I would have been stuck with the limited export options of Word or InDesign, or would have had to commission a pre-press engineer for every revision.

Print PDF pipeline in a day. The paperback edition ships as a 6×9 cream-paper interior plus a wraparound KDP cover. Interior: per-chapter rendering via Playwright with chapter-specific running headers, qpdf concatenation in spine order, then a Python pass that overlays continuous page numbers (starting at "1" on the prologue cover, not the title page), per-chapter italic running heads, and a PDF outline tree for sidebar navigation. Cover: a single 300-DPI wraparound page where spine width is computed from page count × paper thickness — cream stock is 0.0025 inches per page, slightly thicker than white — and the bleed is extended past the trim line by sampling the edge color column-by-column so the gradient continues naturally past the cut. Fifteen hundred lines of code across four scripts. The work was cross-examination as much as composition. Every KDP constraint — font embedding, spine math, bleed extension, paper-stock thickness, ISBN-per-format placement — was checked against Amazon's published specification, then re-checked against a second model that often recommended a different default, then re-checked again against the actual rendered PDF. The library debates had the same shape: Ghostscript versus qpdf for concatenation; Playwright's displayHeaderFooter versus a separate Python overlay for running heads; embedding fonts at Chromium render time versus stamping them in at the overlay stage (KDP rejects any upload with an unembedded font, and Chromium's embed silently fails on certain faces). Each pair reached the page only after both models had argued for one and I had picked between them. The whole pipeline fit inside one day of calendar time. In the last hour of that work alone I rendered seven full interiors and six wraparound covers, each one cheap enough to throw away after a single tuning observation. A pre-press engineer building the equivalent by hand — picking the libraries, debugging KDP's "every font must be embedded" requirement, getting the spine math right against KDP's paper-thickness specs, handling the running-head edge cases for chapter cover pages and intentionally headerless front matter — would take a week, ship something less robust, and have no way to re-render the whole interior seven times in a single hour just to check whether a tuning change looked right on the page.

Multi-model discipline as quality control#

Mechanical audits that catch what a tired editor misses. Several scripts run on every revision. A coercive-lexicon audit flags obviously, clearly, of course, as everyone knows, needless to say — phrases that ask us to agree before the evidence has landed. A second-person-pronoun audit flags every you, your, yours (the book's voice forbids reader-enrollment except in documented carve-outs). A meta-reference audit flags this chapter, this book, what follows, the rest of these pages — gestures that announce the artifact instead of doing its work. A permissions audit lists every direct quotation of more than twenty-five words, totals each source's cumulative quoted length, and flags any source that crosses the conservative fair-use threshold. None of these are clever. All of them are mechanical. A tired editor working alone misses all of them.

Cross-model independence check. Prose that lives long enough inside one model picks up that model's tells — particular tricolons, particular hedges, particular sentence shapes that mark the writing as model-touched. Running the polished prose through a second, structurally different model (in this project, codex MCP / gpt-5.5 at maximum reasoning effort) catches what the primary model missed. The author reviews each flagged span and decides whether it stays or goes. The check finds two or three dozen spans per chapter that no human editor would catch — and that no single model would catch in its own output. The same multi-backend discipline carries into translation: the recompose script can call five different model backends — Anthropic Opus and Sonnet, OpenAI gpt-5.5 / codex and gpt-4o, and a local qwen2.5:72b — and produce parallel target-language renderings the author compares before picking.

Adversarial review of every chapter. Each of the twenty chapters was passed to an independent LLM (codex MCP / gpt-5.5 at maximum reasoning effort) with instructions to find that chapter's weakest moments under specific finding categories — overclaiming, hedge-as-stake, reader-enrollment, motif strain, evidence gaps. The reviewing model had no investment in defending the prose, so it surfaced what the writing model would not. I reviewed every flagged span and decided whether it stayed or went. The adversarial report drove three rounds of fix passes (Tier 1 / Tier 2 / Tier 3) that materially strengthened a dozen chapters.

Dual-agent reader-experience pipeline. Late in the project, two structurally different models — Claude on one side, codex / gpt-5.5 on the other — each read the entire book end to end and produced per-chapter reader-experience reports tracking comprehension, friction points, the half-second state the reader entered and exited each chapter in, and where the cognitive arc bent or broke. Sixty-seven artifacts in eleven directories: twenty Claude reports, twenty codex reports, twenty diffs, a 520-line reader-state document tracking cumulative cognitive state across every chapter boundary, cross-chapter continuity and synthesis reports, and three tiers of prioritized fixing plans. The diffs are the load-bearing output. Where two careful readers report the same friction at the same paragraph, the paragraph is the problem. Where they diverge, the divergence itself is data — one model caught what the other missed. The fixing plan that came out of the pipeline drove a final round of targeted micro-fixes across nineteen chapters. A single human reading the book twice cannot produce a diff against themselves; two readers can, but not in a day.

Merely typo-free, which is of tremendous value. Typo-freeness is the achievement publishing pretends is routine and reliably fails to deliver. For a single author working alone it has historically been out of reach — the cost of a copy editor, a proofreader, and two attentive early readers exceeded what one writer could marshal. The Half Second ships typo-free across the twenty chapters, the front matter, and the back matter — not nearly typo-free, not typo-free-modulo-three-on-page-187. The mechanical audits, the cross-model checks, the adversarial reviews, and two end-to-end reads by structurally different models catch in combination what one pair of tired human eyes misses one at a time. It is the smallest-sounding achievement on this page and the one a reader feels most directly. A reader who hits a typo loses a half-second of trust in the writer; a reader who never hits one keeps that trust for the duration.

Voice as a published constraint. Three principles govern every paragraph. The prose has to land for a sharp twelve-year-old without talking down to anyone older. The strongest version of each claim is what gets shipped, not the defensible-against-objection version. The mechanism is demonstrated before it is named. These principles are kept honest by the audits above and by an LLM that, on request, reads any chapter against the voice rules and reports where the voice is drifting. The author still decides every fix; the reading is what scales.

The four clusters above are what AI and programming made possible. The cluster below is what no programming could replace.

What only the writer could decide#

Scope decisions that outran execution. Thirty-three files — prologue, nineteen chapters, front matter, all back matter — were translated to Chinese in one session via codex MCP at maximum reasoning effort, with 258 mechanical term-substitutions applied in a second pass. The work took one day. Two days later I abandoned the Chinese scope entirely. The book ships in English only. The asymmetry is worth naming: AI execution time (one day for thirty-three translated files) and human decision time (one conversation to decide the scope was wrong) operate at different speeds in different directions. The infrastructure for the work was cheaper than the decision to do it.

Personal life as the evidence anchor. My central evidence is my actual life — thirty-nine years of smoking quit by repeating three words; seven years of teaching at New Oriental and decades of writing for a Chinese-language community of more than ten thousand families; one specific moment with a six-year-old daughter that produced one specific script; a public-record investing population whose portfolio composition has been verifiable since 2019. The evidence is not borrowed; it is what I have access to. Where I lean on academic research — Hasher, Gollwitzer, Wood, Kross, Squire, Zajonc, Wegner, Brewer — the research is framed as reinforcement, not foundation. The AI did not provide the lived evidence; the AI surfaced the academic adjacencies that made the lived evidence legible to those who do not share the life.

What AI did not do, and what it got wrong#

It did not generate the claims. It did not invent the personal moments. It did not decide which traditions I argue with, or how. It did not decide what the cover would say. Where it wrote prose, I reviewed the prose sentence by sentence against a voice register I defined. Where it ran audits, I judged the audit findings. The boundary held.

And: it produced fluent prose that was wrong in particular ways I had to learn to see. The cross-model independence check finds two or three dozen flagged spans per chapter precisely because the primary model writes sentences that read well at the sentence and die at the cognitive arc — model-cadence tricolons, hedges that perform care without earning it, sentence shapes that signal model-touched even when the content is mine. The citation verification surfaced seven substantive corrections in roughly a hundred entries, and several of those errors originated in AI-generated reference cards that read confident and were not. The cascade procedure exists because the model would otherwise leave stale references in three places out of six and report the job as done — a habit I shipped once, as a bulk pattern-replace that broke grammar in four sentences before I caught it.

The faster the model, the more carefully I have to decide what to point it at. Translating thirty-three files into Chinese took one day; recognizing the scope decision was wrong took two more. The cost of an unwise execution is high enough that the speed asymmetry is itself a discipline question. The boundary held because I learned, late and a few times the hard way, where the boundary was.

Where the book shipped#

The Half Second is available on Amazon as a Kindle Edition and paperback: amazon.com/dp/B0H1TKTMDD.

Image 4: The Half Second — Amazon listing

What this means for us#

A book that argues for the deliberate installation of first reactions, written using deliberate-installation tools, demonstrating the same mechanism it teaches — at small scale, in the writer's working life, before it asks us to demonstrate it at any scale in our own working lives.