程序员用AI辅助写作:番茄工作法与提示词工程实践

发布时间:2026/10/7 11:52:40
程序员用AI辅助写作:番茄工作法与提示词工程实践
1. 为什么一个后端程序员会把写小说变成“技术项目”先交代一下背景免得读者觉得这个标题太跳跃。我是一个写了五六年后端服务的程序员日常工作就是需求评审、接口设计、数据库表拆分、排查线上告警。写小说这件事和我的职业八竿子打不着但它一直是我的一个“历史遗留需求”——嘴上说了很多年“等有空了写点东西”实际上每次打开文档都活不过二十分钟。1.1 工作之余的写作欲望与“空白页恐惧”程序员其实是有叙事冲动的只是平时这份冲动都消耗在周报、技术方案文档和事故复盘里了。但周报和小说完全不是一回事周报只需要把结论说清楚小说却需要你构建一个人物、安放他的动机、制造冲突再让冲突合理地消解。这些东西对长期写代码的人来说肌肉是萎缩的。我不是没尝试过。前两年断断续续开过三个头全都停在第一章前两千字原因都一样——盯着空白文档脑子里什么都有落到文字就全散架了。后来我把这归因为“没有正反馈”代码有编译器有测试用例有联调环境你写的每一行都能立刻看到对不对小说没有编译器读者也不会在第一章结束的时候给你报一个BUILD SUCCESS。1.2 把AI当结对程序的思维迁移接触AI辅助写作之后我发现我以前掉进了一个误区总觉得AI写作是“让AI替我写”是输入一个题材然后坐等它吐出一篇完本。实际上那只是AI写作最粗糙的用法。后来我换了个思路——把AI当成结对编程里的那个搭档。我们结对的时候通常一个人写代码、一个人review或者一个人负责实现思路、另一个人负责查边界条件。那我写小说为什么不能让AI负责“把脑子里模糊的画面扩写成段落”而我负责“评审这段文字是否忠于我的人物设定和情节走向”顺着这个思路我就开始重新设计自己的“写作工程”了。整个过程大概持续了一个多月记录一下也能给同样有写作需求但不知道怎么下手的程序员同行一点参考。1.3 为什么偏偏是番茄工作法这个标题里带“番茄”先说清楚我用的是哪个“番茄”。“番茄Todo”这个效率app我用了很多年但这次真正改变节奏的是“番茄工作法”这个经典的时间管理方式25分钟专注、5分钟休息四个番茄钟为一组中间来一次15到20分钟的长休息。一开始我怀疑这玩意儿对写作有没有用。写代码的时候我进入心流两三个小时不带动的为什么写小说反而要切碎成25分钟可实际操作后我明白了写代码的“心流”是有谱的脑中的数据结构是明确的而写小说的“心流”极其脆弱一个措辞卡住可能十分钟就飘走了等回过神来发现自己在刷手机。25分钟的番茄钟提供一个“外部压力”逼着你在有限时间里做出产出反而帮助大脑集中。而且番茄钟的休止符恰好解决了和AI协作时的“输入成本”问题。每次向AI发起一次生成请求前你需要先想清楚“我要它做什么”这本身就是一种写作。没有时间盒你会反复优化prompt而不是真正推进剧情。有了番茄钟你会更高效地构思每次请求。2. 从工具选型到第一行“章节代码”开工之前我花了两天时间做“技术调研”。这听起来很魔怔但如果你过去几年上班养成了“先调研再动手”的习惯很难不延续到写作里。2.1 我选了什么模型、什么工具链先说说我实际选定的组合方便照抄写作主战场仍然是我熟悉的Markdown编辑器本地存稿不依赖网页编辑器的手感。文本生成主力日常用的通义千问和Kimi都试过最终把“扩写细节”和“头脑风暴”两个任务分开——扩写细节我用通义千问因为长文输出稳定灵感和分支走向我用Kimi因为它的多轮对话语境保持得更好。辅助工具一个开源的本地语料管理工具用来存人物设定、章节摘要和历史事件表避免后期剧情对不上。番茄计时手机上的番茄Todo简单记录每一天的番茄数量和写作字数后期可以统计。这套组合不是最优解但胜在“顺手”。很多写得好的作者用的可能是付费工具但对我这种刚起步的人来说先用熟悉的环境跑通流程比追求最强的工具重要得多。2.2 给AI交代“项目背景”的提示词工程作为程序员我写提示词的第一反应是“这就像一个初始化的配置文件得把所有常量先定义好。”我给自己建了一个统一的项目背景模板每次开新章前都先粘贴一遍这个模板再输入新指令。里面包含这么几项体裁、时代背景、叙事视角主角姓名、年龄、核心性格标签当前章节需要推进的目标事件前情摘要三到五句话新增细节要求比如“这段对话要体现主角口是心非”模板的好处很直接AI模型没有记忆每一次对话都是无状态的请求就像写HTTP接口一样你不把上下文放在请求体里它就返回你一个莫名其妙的响应。你要是每次随意发挥那么上下文的“接口契约”就是乱的返回质量自然不稳定。2.3 第一次试写我犯的第一个错误我第一次正式试写就翻车了——我给AI的描述是“写一段主角在雨夜走进便利店买关东煮的场景带一点孤独感”。AI给了我一整页非常精致的文字有潮湿的霓虹、也有关东煮上升的热气。乍一看很好但细读之后我发现这段文字严重偏离了主角的年龄。主角是个二十多岁刚失业的程序员但AI把他写成了四五十岁中年落魄男人的口吻用词太苦太老。问题出在哪我给的“孤独感”三个字AI把它理解成“中年危机的孤独”而不是“年轻人不知所措的孤独”。同理心不够或者说是提示词里的约束不够。这件事给我一个教训指望AI一次写出完美内容不如把它当作“一个文笔很好但不懂你的故事的设计师”。你需要先对它做需求评审它才能给你让开发阶段顺利的代码。后面我所有的prompt里都会带上两三句关于“不要做什么”的负面约束效果立竿见影。提示给AI写写作指令最好同时给出正面要求要什么氛围和反面约束不要什么倾向、不要什么词汇否则它很容易用自己训练样本里的“平均审美”覆盖你的个人审美。3. 一个番茄钟的写作节奏25分钟能干多少活既然标题里带“番茄”这一步是整个历程里最值得展开的部分。3.1 我的番茄节奏表四个番茄写一章我每天能投入的时间有限下班后大概能挤出两到三个小时。我给自己定的目标是每天完成一个番茄组也就是四个番茄钟总计约100分钟的专注时间对应产出一章约2500到3500字的草稿。一个番茄组的拆解是这样的第一个番茄钟25分钟不动笔只做“情节拆解”。把要写的这一章拆成4到5个情节点每个点用一两句话写清楚。这个阶段完全不使用AI事后的经验证明这个阶段的质量决定了整章的上限。第二个番茄钟25分钟带着拆解好的情节点向AI下达分段扩写的指令一次扩写一个情节点AI给到草稿后我在旁边批注“这里不够好需要改”和“这句情感浓度可以保留”。第三个番茄钟25分钟人机交替。这个番茄我会结束AI生成集中做“编辑手术”把上一轮AI生成的段落清理干净去掉模板化的形容词和重复比喻。第四个番茄钟25分钟通读全章标记问题把仍需修改的部分汇总成下一章的“待办事项”。这四个番茄钟走下来相当于走了一遍“粗加工、细加工、终检”的流水线。3.2 番茄之间的休息也是给AI降温的时间这里面有一个很多教程不会讲的细节番茄钟之间那5分钟休息不只是给你也是给AI的“冷却时间”。为什么这么说因为我早期习惯在一个番茄里连续追问AI一次生成不满意马上调指令再生成一个场景反复让它重写十几次。这样效率极低而且AI在这个过程里会被你反反复复的指令带跑它会在词句上越来越花哨但剧情推进几乎为零。后来我刻意控制节奏一次场景生成最多让AI重写三次。三次不满意就停手把问题记录下来等到下一个番茄钟开始再处理。这段5分钟的冷却时间看起来什么都没干实际上是在帮你重新审视“我到底想要它写成什么样”。很多问题本来就出在指令本身不是出在AI的能力上。值个休息结束之后AI经常能写出比上一个版本好得多的内容。这不是玄学而是因为你重新表达需求时对场景的理解本身变得更清晰了。3.3 用数据看节奏效率从每小时300字涨到900字我在手机里用表格记录了每天的四项指标番茄数量、使用AI次数、净字数、返工字数。先说结论最初一周我平均每小时只能写300个字左右返工率超过40%也就是说每写1000字有400字会在接下来两天里被删掉。那段时间非常挫败一度想放弃。到了第三周节奏就对了每小时净字数稳定在850到1000字左右返工率降到了15%上下。关键变化有三个。第一我接受了一个认知AI写的段落哪怕不满意也比“空白页”好——你至少能对着它说“我不要这个”而不是盯着空白页面说“我想要那个”。第二我的“章节拆解”能力上来了第一个番茄钟的产出越来越准确。第三我而且开始懂得鉴别AI的哪些产出适合直接计入正文。前两个还算好理解第三个可以多说一句AI的文字即便完全符合你的要求也往往缺少“毛边感”。我的意思是很顺滑没有个人风格的粗糙感。后期我当然会在第四番茄钟剔除它。如果你不喜欢这种过程可能需要考虑自己多写几版。注意新手最容易犯的错是把“AI一次能写两千字”当成“自己每小时能写两千字”。实际的净产出一定是扣掉你的编辑时间和返工时间的别被表面速度骗了。4. 写崩两次之后的返工现场如果只看番茄钟计划好像一切很顺。实际上写到大概12章的时候我经历了两次比较大的返工差点决定弃坑。4.1 第二次番茄钟还没结束我就发现人物崩了女主角本来是个冷静、话少、擅长用行动说话的角色但AI在连续生成了几章对话之后把她写得越来越“热心”。到第8章的时候她已经开始主动给主角送药、陪主角聊天、开导主角解开心结——完全是另一个人。这就是AI长期对话的累积偏差它的语言模型会倾向把对话写得更有互动性、更有温度因为训练数据里“暖心互动”的比重很高所以它在没有强约束的时候会不知不觉地往“甜文”的方向滑。我意识到时已经是第8章前面7章里有相当篇幅需要改。这个错误不是“改几句话”能解决的因为它涉及的是角色性格在叙事里的一致性属于结构性的返工。4.2 返工是怎么做的人改设定AI改文字我那会儿先做了两件事。第一打开之前写的“人物设定卡”把女主角的性格特征重新写死明确附加一条“她不会主动给予超出必要限度的情感支持”。第二把所有出现女主角主动关心的场景全部标记出来列成一个清单。然后我做了个看似费力的决定每一处需要修改的地方我不直接给AI说“改成这个样子”而是把“原场景概要和目标场景变更点”一起给AI让它基于新设定重写。这样做的好处是AI重写时能保持场景的基本结构只是把人物行为逻辑扭转过来。这活儿听起来麻烦但工作量其实比想象中可控。一天两个番茄组三天就处理完了。返工完成后前面章节与后续章节之间的角色一致性明显好了很多。4.3 吃一堑长一智建立“章节锁定”和“人物卡”回到这个坑我反思出了一个方法论写小说和做后端服务一样要用“不可变记录”来约束协作。具体来说我建了三个文件人物卡每个角色单独一个文件含年龄、背景、性格标签、说话习惯、绝对不能做的行为清单。已锁定章节摘要每一章写完后用三句话写清“本章实际发生了什么”同时把“本章埋了哪些伏笔”记录在案。关键设定变更日志每次因为剧情需要调整人物或世界设定必须在这个文件里登记变更并顺手给出“变更原因”。这三个文件的作用是给我自己看的因为AI根本没有长时记忆你每次对话都要重新把它需要的上下文喂给它。有了人物卡我不会在每天的对话里临时编造一个性格特征AI也就不会因为我的随意描述而左右摇摆了。提示不要指望任何AI工具能替你长期维持人物的一致性和剧情连贯性。你的“设定文档”就是整个项目的状态存储必须自己维护。5. 遇到AI写歪的时候不是换一种问法那么简单写一个多月和AI打交道多了多多少少会遇到它的“高光时刻”和“翻车现场”。翻车现场值得单独写一节因为这些事是教程不会告诉你的。5.1 实际遇到的一次典型跑偏我印象最深的一次跑偏发生在写男主角和旧友重逢那一章。我给AI的任务是“写一场两个老友在深夜烧烤摊重逢的戏气氛是克制、别扭两个人都想好好聊但都做不到”。AI交回来的稿子里两个人从坐下开始就互相开玩笑嘴上跟说相声一样三言两语就把当年的心结解开了末了还很痛快地一起干杯。我读完之后内心只有四个字用力过猛。这种跑偏它不是语法错误是AI的“价值取向”问题。它的注意力机制在处理“重逢”这个主题时天然会被大量“和好如初”的美好故事样本吸引于是写出了这种毫无摩擦力的一章。我给的任务里虽然写了“克制”和“别扭”但这两个形容词权重不够被“重逢”这个剧情标签盖过去了。5.2 我的纠偏清单改温度、删上下文、移注意力经历了几次类似的情况后我整理了一份“纠偏清单”每次AI表现不对时按顺序检查上下文里有没有冗余信息正在把模型带偏把上一轮写偏的整段从对话里删掉只保留最初的任务指令和人物卡。任务指令里有没有“负面约束”如果没有先补上比如“不要写角色之间互相开玩笑”。如果是指令没问题的场景考虑增加一到两个具体的画面约束比如要求“用环境描写替代心理描写”或“对话不超过三句”。最后一个办法是“换一个故事背景重述同一个场景”——告诉AI“假设这个场景发生在两个都不善言辞的中年人之间而不是两个年轻人之间”用对比来校准它的语感。整个纠偏过程的关键在于不要急着说“重写”先说“偏在哪里”。AI和编译器不一样你不把错误信息描述清楚它不会自己意识到问题。5.3 别把AI的糊涂当成创意这件事我想提醒每一个像我一样的新手AI偶尔会生成一些让你觉得“哇这句子真妙简直神来之笔”的段落。它确实有这种灵光一闪的时刻但大多数时候这种“灵光”只是因为它的概率分布把你惯用的语料库打乱了。当AI的产出明显偏离你的意图时先不要急着自我怀疑“是不是我原来的设计不够好”而要想想“是不是我没有把这个约束写清楚”。我犯过好多次把AI的跑偏当成灵感结果改完全文设定后越写越乱最后不得不回头恢复原稿架构。后来我给自己立了一条规矩如果AI写出的内容让我产生了“要不然顺着这个方向改吧”的念头我会先把它明确记录为“方案B”但绝对不允许它在同一个番茄钟内直接对我原来的大纲产生冲击。隔离冷静再决定是否采纳。这是一条很有效的护栏。6. 写完之后我重新理解了“AI取代写作者”这件事说句心里话刚开始用AI写小说的时候我也隐隐有一种焦虑是不是我干的事情AI都能干要是我写得没AI好会不会说明我根本不该写小说写了一个多月我的答案变成不是的。6.1 最终成果和我的署名观念一个多月我写完了五万多字的初稿不算长但超过我以前所有写作尝试的总和。结构和人物关系基本立住了虽然语言还需要大幅打磨。重要的不是字数是我终于意识到AI写作的正确意义它把“从零到一”的门槛降得很低但“从一到一百”的过程还是得靠人。署名的观念也从一开始的“AI帮我写我该不该署名”变成了“肯定署名因为创意、设定、结构、关键决策和最终取舍全是我做的AI只是执行层。”这跟项目经理和开发工程师的关系有点像项目上线你总不能让编译器署名吧。6.2 番茄工作法帮我过滤了什么这一个多月里番茄工作法起到的作用实际上不仅仅是时间管理。它帮我过滤掉了两个最影响坚持的因素第一个是“无限打磨”以前我会花两小时雕琢一个出场段落的措辞现在25分钟到了就收手不满意的记录进待办清单第二天再处理第二个是“虚无感”五小时的自由时间容易把写作变成拖延但四个番茄钟的时间盒把一个大目标拆成了四十五次可完成的小任务人是要靠完成感续命的。我现在依然保持着利用番茄钟写作的习惯。不同的是我把它和AI工具解绑了不管用不用AI时间盒对写作都有效。6.3 给也想这么干的人的一条建议最后给也想用AI辅助写作的程序员同行一个建议不要一开始就想写长篇。先写两个三五千字的短故事走完“设定-生成-编辑-回头修改”的完整流程这比直接扑到十万字小说上划算得多。短篇能让你快速测试自己的prompt风格和编辑品味长篇只会让你在第一个月就感受到全面失控。我的实际体感是写作这个过程和写代码非常像你需要一个好用的编译器但最终交付的是产品不是编译器。AI是这个时代的编译器升级版仅此而已。我把这段历程记录下来倒不是说我已经写出了多好的作品而是想给“程序员想搞点创作但一直没起步”的人一个具体的、可复制的路径参考。剩下的路还是得自己走。