6 月 1 日——碰巧是儿童节——我开始写我的第一部小说。6 月 20 日,我把它发布到了 GitHub。大多数关于用 AI 写作的故事,到那个漂亮数字那里就结束了:二十天写完一部小说。我的故事没有在那里结束。7 月 10 日,我再次发布了这部小说——同一个标题,同一个案件,同一组事实——除此之外,几乎什么都没有留下。在这中间,我有意拆掉了自己的书,又…

6 月 1 日——碰巧是儿童节——我开始写我的第一部小说。6 月 20 日,我把它发布到了 GitHub。大多数关于用 AI 写作的故事,到那个漂亮数字那里就结束了:二十天写完一部小说。我的故事没有在那里结束。7 月 10 日,我再次发布了这部小说——同一个标题,同一个案件,同一组事实——除此之外,几乎什么都没有留下。在这中间,我有意拆掉了自己的书,又从地基开始重建。三十九天,869 次提交,一天都没有休息。
有人问,一个人怎么可能在三十九天里写完一部小说。我觉得这问错了。真正的问题是:一个人怎么能负担得起把它写两遍。
那本书#
Too Late(《迟到》)是一部中文中篇小说:七万多字,七十五个场景。2003 年除夕,一个男人死在小县城一所学校的工地上,被埋在后来会变成操场的地方。纸面上,那天晚上什么都没有发生。他的妻子在校门口守着一个馒头摊,一年又一年寄出信访信,从来没有闹过一次。十六年后,一支扫黑除恶督导组进入这个县城,而信访窗口后面的一个女人——她的工作就是给案件盖上“已结案”的章——被一步一步拖回那个夜晚。
中国读者会立刻认出这个案件;它曾被全国报道。人物、动机以及他们之间发生的一切,都是虚构的。就是这句话——案件可识别,人物是虚构的——后来成了整个项目里承重最大的规则。它听起来像一句法律免责声明。实际上,它是一种研究纪律;而这篇文章接下来大半要讲的,就是这种纪律花掉了什么,又由什么来支付。
把一个虚构县城写得真实#
我用中文写第一版复盘时说,想象力是一种只会在镣铐中起舞才显现出来的美,而逻辑就是那副镣铐——链条上的每一个环节,都由研究笔记锻造而成。那时我还不能展示的是:因为我还没有数过,究竟有多少铁被锻进了这条链子。
《迟到》的主要人物,是一位从县城女警转到信访窗口的办事员,以及一名医院护士。要把这两个人写得可信,你至少需要知道:信访窗口实际上如何处理一封信,盖上“办结”在官僚流程中意味着什么;一份案卷如何在县公安局、市检察院和省法院之间流转,又会在哪张桌子上悄悄停止流动;护士一个班次里每个小时究竟在做什么;一个县级干部如何升迁,在这条路上他会把什么写下来,又绝不会把什么写下来;2019 年一场全国性的扫黑除恶督导行动如何降临到一个县城,它会先吓到谁,又按什么顺序吓到他们;2003 年的县城_听起来_是什么样——铃声、炉烟、学校广播——而 2019 年又是什么声音。所有这些都不能靠“想象一下”解决。在那样的县城长大的读者,握有一整套人生校准数据;只要一句话不对,他们就会抓住你。
这正是 AI 已经彻底改变的工作。为这部小说建立的研究库最终有六十三个文件——体量上接近成稿小说本身的长度——覆盖制度、时间线、证据链和时代背景。里面有许多在旧世界里我绝不会委托别人做的东西,因为那会贵得荒唐:一个县城跨越十六年的逐年“声音与图像切片”;情节触及的每个机构的组织档案;基于一部著名县域干部制度博士田野研究建立的县级官场运行模型。在旧世界里,这是年级别的案头研究。它花了几天。我曾经说效率提升十倍;现在数完以后,我觉得那还是保守了。
但速度只是变化中较小的那一半。更大的一半是纪律。事实库有规则:每条记录按来源质量分级;只有我能亲手把事实写进去,AI 的工作是验证和挑战,绝不负责创作;事实侧与虚构侧之间有一道硬防火墙,还有机械守卫确保真实人物姓名不会泄漏过去。研究如此之快,危险恰恰在于它快——它会以真相的速度,把貌似可信的泥浆递给你。这个事实库的建法,是那种你预期自己会被交叉盘问时才会采用的建法。最终,我确实被盘问了。后面会说到。
写,从来不是瓶颈#
有一个数字连我自己都吃了一惊。发表出来的小说大约 73,000 字。一路上写下来的提案、纲要、废弃装置、结构备忘录和盲读报告所在的文件夹,有 927 个文件——大约三百五十万字。可以这么说:每发布一个字,就有五十个字被写出来又扔掉。
这个比例,才是小说诚实的形状;也正是在这里,AI 真正体现了价值——不是替我写了这本书,而是让围绕这本书的思考便宜到足以把它做足。我保有的,几乎是一个会反驳的编辑部:一组顾问会阅读每一份结构方案并攻击它——一个借亚里士多德的情节统一性说话,一个借 Lajos Egri 的前提与人物说话,一个借 Robert McKee 的戏剧引擎说话,一个借 Ursula K. Le Guin 的句子与视角说话,还有一个县域政治学者,会指出每一个官员按照情节便利行事、而不是按照他所处机器的逻辑行事的地方。给他们的常设规则是:建造之前先做压力测试,不来“对,而且……”那一套——如果不同意,就直说,并说明原因。一个只会恭维的顾问是累赘;我不需要合唱团。
在所有这些争论之下,始终只有一个 AI 被允许握笔,按一套风格规则,一次写一个场景。而在它之上坐着一个总编辑——我——逐行处理,所有关键决定都由我来做。发布前的最后一天,我还在手动改对白里的单个词:有个角色把草稿里的“现在”改成了“这些日子”,因为那个人是个市场里说话的人,从来不直来直去,而“现在”放在他嘴里太平了。机器起草;机器争辩;机器检查。一个角色绝不会说什么——这仍然是我的工作。
这种分工不是风格偏好;它是我从软件写作进入小说写作时被迫学到的东西。我每天都用 AI 写软件——我正在输入这句话的编辑器有大约十五万行代码,AI agents 昼夜巡视和修复它,表现出色。把同样的机器交给散文,它交回来的东西却总还不完全是写作。这不是下一代模型会弥合的成熟度差距;这是两种材料的本性。代码是一种格式化语言:它有编译器,有测试套件,有一个存在于任何读者之外的正确性定义——机器可以围绕这个外部判决不断迭代,直到东西是对的。自然语言没有编译器。一句话只向读者的耳朵负责,而每一只耳朵,都是被一整个人生校准出来的。对机器更糟糕的是:在代码里,听起来不像任何特定的人是一种优点——我们称之为约定。在散文里,这却是唯一不可饶恕的失败;模型那种伟大的平均声音——正是让它的代码如此可靠的东西——也正是它在页面上摆脱不了的东西。所以,机器的草稿对我有用,就像木料有用一样。木工活不能委托出去。
在第一版发布之前,八套结构架构已经被搭起来又拆掉。我在 6 月 20 日发布的版本,是第八套。记住这个数字。
发表才是开始#
我把小说放到了 GitHub 上——全文、EPUB、可打印 PDF——并邀请读者提交 issues:逻辑漏洞、专业错误、任何读起来不对的地方。一共来了八个 issue。有些是错别字。有一个是关于第六场里某个角色怎么会知道他所知道的东西的尖锐问题。还有一个是完整的编辑审读——结构、语言、情节逻辑、医学事实、校对——如果出版社仍然出售这种服务,这种审读你得花很多钱才能买到。
医学那个我最喜欢,因为它把整个方法缩成了一个微型版本。小说需要一个男人十六年里无法回答任何问题——活着,在场,沉默。草稿写的是闭锁综合征,然后就往前走了。一位读者从医学上追问:经典闭锁综合征患者仍然能用眼睛回答是与否;你这十六年的沉默有个洞。回到文献里——花的是几小时,不是几周,因为研究引擎还热着——结果发现修复只需要两句话:这个角色是完全型闭锁综合征,页面上明确写出,那是连眼睑都夺走的罕见类型。两句话,一个十六年的前提就变得医学上严丝合缝。这就是 AI 辅助研究在实践中的样子。它并不宏大。它是一封读者来信,在晚饭前被认真回答。
我也以同样精神做了自己的审计,其中值得讲的有两个,因为它们本来都可能以尴尬收场。第一是声音测试:我声称每个主要人物说话都不一样,而这种声称应该可以被证伪。于是:十二个人物,每人挑普通的中段台词——名场面台词禁用——遮掉名字,让另一家公司的一套 AI 冷启动判断:是谁在说话?十二中十二,并且给出了理由。它认出某个角色,是因为他“一开口就把关心转换成钱”;认出另一个角色,是因为她说“已结案”时“冷而程序化”。第二是盲读:让一个竞争模型家族,在没有上下文的情况下,盲读全部七十五个场景。它给草稿打了七分,并且准确指出中间三分之一有一段塌陷。那个塌陷是真的。那些场景后来做了手术。
推倒重来#
现在,到了让这篇文章不同于我六月那篇文章的部分。
读者报告和我自己的重读,汇合到了一个任何行文修改都触及不了的问题:第一版从结构上就是错的。它的主角在见证;她没有想要。一个场景接一个场景,是经过漂亮研究的苦难 tableau,却没有人在驱动。你修补不了这种东西,就像你没法翻修一栋骨架错了的建筑。于是我做了一个在我写作人生更早任何阶段都不敢做的决定:扔掉已经发布的小说——只保留事实——从零开始再写一遍故事。新的主角,新的结构,新的场景。第一版保存在仓库的一个分支上,就像你会把第一张煎饼留下来。二十天后,第九套架构成了这本书。
要理解通常阻止人这样做的是什么。不是懒惰;是算术。当一个世界要花一年研究才能搭起来,沉没成本就会坐在房间里,和你一起做艺术决定,而且它永远投票给修补。AI 真正为我改变的,并不是它写了什么——而是它让_推倒重来_变得负担得起。重建这个世界花的是几天,于是房间里只剩下一个正确的问题:这是这些事实所能承载的最好的一本书吗?一旦只剩这个问题,重写就不是勇敢。它是显而易见。
机器不会想要的东西#
六月时我说,AI 有两件事做不到:它不能原创——它的本性是规模化的平庸,是已经写成的一切的巨大平均值——也不能打出那些必须属于你的字。三十九天和两部小说之后,我会再加两条。第三条我已经承认了:它不能写自然语言,只能起草自然语言——在每一种有编译器的语言里流利,在每一种没有编译器的语言里都是外国人。第四条最深:它不能想要。
机器里没有任何东西想要这部小说被重写。我的编辑部里的每一个 agent 都对第一版相当满意;盲读者给它打完分就回去睡觉;没有任何流程在任何地方举手说:这还不够好,而且我在乎。拆掉这本书的那种不满足——读完八封读者来信,并在错别字报告下面听见“骨架错了”的那种不满足——不是任何 token 单价能买到的。它仍然是作者唯一能带来的、别处无法供应的东西。最好如此,因为除此之外,一切都在变便宜。
我曾经把写软件比作裁一件外套——人们看到的是外面的布料——而把写小说比作织一件毛衣,因为每一针都会永远留在眼前。这个比喻我仍然认同,只是要加一句修正。这一次,我拆掉了整件毛衣,把七万多针全都拆开,又重新织了一遍,因为第一件挂在身上不对。机器绕线、拿着图样、数着行数,还和我争论领子。它把这些都做得非常出色。
它从来没有想要过一件毛衣。
Too Late 已经发布在 GitHub 上——Markdown、EPUB 和 PDF 都有:github.com/xiaolai/too-late。第一版保存在 v1 分支上。第二版仍在继续打磨,所以现在正是做第一批八位读者曾经做过的事的最佳时机:读它,然后告诉我哪里不对。
The Novel I Wrote Twice
On June 1st — Children's Day, as it happens — I started writing my first novel. On June 20th I published it on GitHub. Most stories about writing with AI end right there, on the impressive number: a novel in twenty days. Mine doesn't end there. On July 10th I published the novel again — same title, same case, same facts — and almost nothing else survived. In between, I demolished my own book on purpose and rebuilt it from the foundation. Thirty-nine days, 869 commits, not a single day off.
People ask how anyone writes a novel in thirty-nine days. I think that is the wrong question. The right question is how anyone can afford to write it twice.
The book#
Too Late (《迟到》) is a novella in Chinese: seventy-some thousand characters, seventy-five scenes. On New Year's Eve 2003, a man dies on a school construction site in a small county town and is buried under what will later become the playground. On paper, nothing happened that night. His wife keeps a steamed-bun stall by the school gate and mails petition letters, year after year, never once making a scene. Sixteen years later an anti-gang inspection team enters the county, and a woman behind the petition-office window — the one whose job is to stamp case closed — is dragged, step by step, back to that night.
Chinese readers recognize the case immediately; it was reported nationwide. The people, their motives, and everything that happens between them are invented. That one sentence — the case is recognizable, the people are invented — turned out to be the most load-bearing rule of the whole project. It sounds like a legal disclaimer. It is actually a research discipline, and the rest of this article is mostly about what that discipline cost and what paid for it.
Making a fake county real#
When I wrote about the first version in Chinese, I said that imagination is the kind of beauty that only shows itself dancing in shackles, and that logic is the shackles — every link in the chain forged from research notes. What I could not show then, because I had not counted yet, is how much iron went into the chain.
The main characters of Too Late are a county-town policewoman turned petition clerk and a hospital nurse. To write those two people credibly you need to know, at minimum: how a petition window actually processes a letter, and what it means bureaucratically to stamp it resolved; how a case file moves between a county police bureau, a city procuratorate, and a provincial court, and at which desk it can quietly stop moving; what a nurse's shift actually consists of, hour by hour; how a county cadre gets promoted, and what he will and will not put in writing on the way; how a national anti-gang inspection campaign descends on one county in 2019, who it frightens, and in what order; what a county town sounded like in 2003 — the ringtones, the stove smoke, the school loudspeakers — versus what it sounds like in 2019. None of this yields to "just imagine it." Readers who grew up in such a town hold a lifetime of calibration data, and they will catch you in one wrong sentence.
This is the work AI has changed beyond recognition. The research library for this novel ended up at sixty-three files — in bulk, approaching the length of the finished novel itself — covering the institutions, the timelines, the evidence chains, the era. It includes things I would never have commissioned in the old world because they would have been absurdly expensive: year-by-year "sound and image slices" of one county town across sixteen years; an organizational dossier on every institution the plot touches; a working model of county officialdom built on a celebrated doctoral field study of one county's cadre system. In the old world, this is a year or two of desk research. It took days. I have said the efficiency gain is tenfold; having now counted, I think I was being conservative.
But speed was the smaller half of the change. The larger half was discipline. The fact library had rules: every entry graded by source quality; facts written into it only by me, by hand — the AI's job was to verify and challenge, never to author; and a hard firewall between the fact side and the fiction side, with a mechanical guard making sure no real person's name could leak across. Research this fast is dangerous precisely because it is fast — it will happily hand you plausible sludge at the same speed as truth. The library was built the way you would build it if you expected to be cross-examined. Eventually, I was. I'll get to that.
Writing was never the bottleneck#
Here is the number that surprised even me. The published novel is about 73,000 characters. The folder of proposals, outlines, discarded devices, structural memos, and cold-reading reports written along the way holds 927 files — roughly three and a half million characters. Call it fifty characters written and thrown away for every one that shipped.
That ratio is the honest shape of fiction, and it is where AI earned its keep — not by writing the book, but by making the thinking around the book cheap enough to do properly. I kept what amounts to an editorial office that argues back: a panel of advisors who read every structural proposal and attack it — one channels Aristotle on plot unity, one Lajos Egri on premise and character, one Robert McKee on the dramatic engine, one Ursula K. Le Guin on the sentence and the point of view, one a scholar of county politics who flags every place an official acts the way plot convenience wants instead of the way the machine he lives in wants. The standing rule for all of them: pressure-test before building, and no "yes, and" — if you disagree, say so plainly and say why. An advisor who flatters is a dead weight; I have no use for a chorus.
Under all that argument, exactly one AI was ever allowed to hold the pen and produce draft prose, under a style rulebook, one scene at a time. And above it sat an editor-in-chief — me — who worked over every line and made every call that mattered. On the last day before publication I was still changing single words of dialogue by hand: one character got "these days" where the draft said "now," because that man is a marketplace talker who never says anything straight, and now was too plain for his mouth. The machine drafts; the machine argues; the machine checks. What a character would never say — that stayed my job.
That division of labor was not a stylistic preference; it was forced on me by something I learned coming to fiction from software. I write software with AI every day — the editor I am typing this sentence into is some hundred and fifty thousand lines of code, and AI agents patrol and repair it around the clock, superbly. Hand the same machines prose, and what comes back is never quite writing. This is not a maturity gap the next model will close; it is the nature of the two materials. Code is a formatted language: it has a compiler, a test suite, a definition of correct that lives outside any reader — and a machine can iterate against that outside verdict until the thing is right. Natural language has no compiler. A sentence answers to nothing but a reader's ear, and every ear was calibrated by a life. Worse for the machine: in code, sounding like no one in particular is a virtue — we call it convention. In prose it is the one unforgivable failure, and the model's great averaged voice — the very thing that makes its code so dependable — is exactly what it cannot shed on the page. So the machine's drafts were useful to me the way lumber is useful. The carpentry could not be delegated.
Before the first version ever shipped, eight structural architectures had already been built and torn down. The version I published on June 20th was the eighth. Remember that number.
Publication was the beginning#
I put the novel on GitHub — full text, EPUB, print-ready PDF — and invited readers to file issues: logical holes, professional errors, anything that read wrong. Eight issues came in. Some were typos. One was a sharp question about how a character in scene six could know what he knows. One was a full editorial review — structure, language, plot logic, medical facts, proofreading — of the kind you would pay a publishing house a great deal of money for, if a publishing house still sold it.
The medical one is my favorite, because it shows the whole method in miniature. The novel needs a man who cannot answer a question for sixteen years — alive, present, and silent. The draft said locked-in syndrome and moved on. A reader pushed on the medicine: classic locked-in patients can still answer yes and no with their eyes; your sixteen years of silence has a hole in it. Back to the literature — hours, not weeks, because the research engine was still warm — and it turns out the fix was two sentences: the character has the complete form, named on the page, the rare type that takes even the eyelids. Two sentences, and a sixteen-year premise became medically watertight. That is what AI-assisted research feels like in practice. It is not grand. It is a reader's letter answered properly by dinnertime.
I ran my own audits in the same spirit, and the two worth telling are the ones that could have ended in embarrassment. First, the voice test: I had claimed each major character spoke distinctly, and a claim like that deserves to be falsifiable. So: twelve characters, ordinary mid-grade lines from each — famous lines banned — names masked, and an AI from a different company asked cold: who is speaking? Twelve out of twelve, with reasons. It knew one character because he "converts concern into money the moment he opens his mouth," another because her case closed comes out "cold and procedural." Second, the cold read: a rival model family, blind, no context, all seventy-five scenes. It scored the draft seven out of ten and put its finger precisely on a sagging stretch in the middle third. The sag was real. Those scenes got surgery.
The demolition#
Now, the part that makes this a different article from the one I wrote in June.
The reader reports and my own re-reading converged on something no line edit could reach: the first version was built wrong. Its protagonist witnessed; she did not want. Scene after scene was a beautifully researched tableau of suffering with nobody driving. You cannot patch that, any more than you can renovate a building whose frame is wrong. So I made the decision I would never have dared make at any earlier point in my writing life: throw away the published novel — keep only the facts — and write the story again from zero. New protagonist, new structure, new scenes. The first version is preserved on a branch of the repository, the way you keep the first pancake. Twenty days later, the ninth architecture became the book.
Understand what usually prevents this. It is not laziness; it is arithmetic. When a world costs a year of research to build, sunk cost sits in the room with you making your artistic decisions, and it always votes for the patch. What AI actually changed for me is not that it wrote anything — it is that it made demolition affordable. Rebuilding the world took days, so the only question left standing was the right one: is this the best book these facts can carry? Once that is the only question, the rewrite is not brave. It is obvious.
What the machine cannot want#
In June I said there were two things AI could not do: it cannot originate — its nature is to be mediocre at scale, a vast average of everything already written — and it cannot type the words that have to be yours. Thirty-nine days and two novels later I would add two more. The third I have already confessed: it cannot write natural language, only draft it — fluent in every language that has a compiler, a foreigner in every language that does not. The fourth is the deepest: it cannot want.
Nothing in the machine wanted this novel rewritten. Every agent in my editorial office was perfectly content with version one; the cold readers scored it and went back to sleep; no process anywhere raised its hand and said this is not good enough, and I care. The dissatisfaction that demolished the book — that read eight readers' letters and heard, underneath the typo reports, the frame is wrong — was not available at any price per token. It is still the only thing the author brings that nothing else can supply. It had better be, because everything else is getting cheap.
I once compared writing software to tailoring a coat — people see the outer cloth — and writing a novel to knitting a sweater, where every stitch stays visible forever. I stand by it, with an amendment. This time I unraveled the whole sweater, all seventy-some thousand stitches of it, and knitted it again because the first one hung wrong. The machine wound the yarn, held the pattern, counted the rows, and argued with me about the collar. It did all of that superbly.
It has never once wanted a sweater.
Too Late is on GitHub — Markdown, EPUB, and PDF: github.com/xiaolai/too-late. The first version is preserved on the v1 branch. The second version is still being polished, which makes this exactly the right time to do what the first eight readers did: read it, and tell me where it's wrong.