Too Late(《迟到》)是一部中文中篇小说:七万多字,七十五个场景。2003 年除夕,一个男人死在小县城一所学校的工地上,被埋在后来会变成操场的地方。纸面上,那天晚上什么都没有发生。他的妻子在校门口守着一个馒头摊,一年又一年寄出信访信,从来没有闹过一次。十六年后,一支扫黑除恶督导组进入这个县城,而信访窗口后面的一个女人——她的工作就是给案件盖上“已结案”的章——被一步一步拖回那个夜晚。
这正是 AI 已经彻底改变的工作。为这部小说建立的研究库最终有六十三个文件——体量上接近成稿小说本身的长度——覆盖制度、时间线、证据链和时代背景。里面有许多在旧世界里我绝不会委托别人做的东西,因为那会贵得荒唐:一个县城跨越十六年的逐年“声音与图像切片”;情节触及的每个机构的组织档案;基于一部著名县域干部制度博士田野研究建立的县级官场运行模型。在旧世界里,这是年级别的案头研究。它花了几天。我曾经说效率提升十倍;现在数完以后,我觉得那还是保守了。
这个比例,才是小说诚实的形状;也正是在这里,AI 真正体现了价值——不是替我写了这本书,而是让围绕这本书的思考便宜到足以把它做足。我保有的,几乎是一个会反驳的编辑部:一组顾问会阅读每一份结构方案并攻击它——一个借亚里士多德的情节统一性说话,一个借 Lajos Egri 的前提与人物说话,一个借 Robert McKee 的戏剧引擎说话,一个借 Ursula K. Le Guin 的句子与视角说话,还有一个县域政治学者,会指出每一个官员按照情节便利行事、而不是按照他所处机器的逻辑行事的地方。给他们的常设规则是:建造之前先做压力测试,不来“对,而且……”那一套——如果不同意,就直说,并说明原因。一个只会恭维的顾问是累赘;我不需要合唱团。
在所有这些争论之下,始终只有一个 AI 被允许握笔,按一套风格规则,一次写一个场景。而在它之上坐着一个总编辑——我——逐行处理,所有关键决定都由我来做。发布前的最后一天,我还在手动改对白里的单个词:有个角色把草稿里的“现在”改成了“这些日子”,因为那个人是个市场里说话的人,从来不直来直去,而“现在”放在他嘴里太平了。机器起草;机器争辩;机器检查。一个角色绝不会说什么——这仍然是我的工作。
这种分工不是风格偏好;它是我从软件写作进入小说写作时被迫学到的东西。我每天都用 AI 写软件——我正在输入这句话的编辑器有大约十五万行代码,AI agents 昼夜巡视和修复它,表现出色。把同样的机器交给散文,它交回来的东西却总还不完全是写作。这不是下一代模型会弥合的成熟度差距;这是两种材料的本性。代码是一种格式化语言:它有编译器,有测试套件,有一个存在于任何读者之外的正确性定义——机器可以围绕这个外部判决不断迭代,直到东西是对的。自然语言没有编译器。一句话只向读者的耳朵负责,而每一只耳朵,都是被一整个人生校准出来的。对机器更糟糕的是:在代码里,听起来不像任何特定的人是一种优点——我们称之为约定。在散文里,这却是唯一不可饶恕的失败;模型那种伟大的平均声音——正是让它的代码如此可靠的东西——也正是它在页面上摆脱不了的东西。所以,机器的草稿对我有用,就像木料有用一样。木工活不能委托出去。
医学那个我最喜欢,因为它把整个方法缩成了一个微型版本。小说需要一个男人十六年里无法回答任何问题——活着,在场,沉默。草稿写的是闭锁综合征,然后就往前走了。一位读者从医学上追问:经典闭锁综合征患者仍然能用眼睛回答是与否;你这十六年的沉默有个洞。回到文献里——花的是几小时,不是几周,因为研究引擎还热着——结果发现修复只需要两句话:这个角色是完全型闭锁综合征,页面上明确写出,那是连眼睑都夺走的罕见类型。两句话,一个十六年的前提就变得医学上严丝合缝。这就是 AI 辅助研究在实践中的样子。它并不宏大。它是一封读者来信,在晚饭前被认真回答。
我也以同样精神做了自己的审计,其中值得讲的有两个,因为它们本来都可能以尴尬收场。第一是声音测试:我声称每个主要人物说话都不一样,而这种声称应该可以被证伪。于是:十二个人物,每人挑普通的中段台词——名场面台词禁用——遮掉名字,让另一家公司的一套 AI 冷启动判断:是谁在说话?十二中十二,并且给出了理由。它认出某个角色,是因为他“一开口就把关心转换成钱”;认出另一个角色,是因为她说“已结案”时“冷而程序化”。第二是盲读:让一个竞争模型家族,在没有上下文的情况下,盲读全部七十五个场景。它给草稿打了七分,并且准确指出中间三分之一有一段塌陷。那个塌陷是真的。那些场景后来做了手术。
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.
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.
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.
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.
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.
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.
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.