导读你的 Prompt 越堆越长AI 越来越不听话你以为加的规则还不够其实是结构该重构了。这篇我用两万行 Flask 项目的翻车经历加上一套五步分层重构法带你把读不动的 Prompt 瘦下来。建议先收藏下次想加规则前翻出来看一眼。说句实话很长一段时间里我都陷在一个错觉里AI 不听话是因为我规则加得还不够多、不够细。直到 2025 年 9 月我用 ChatGPT 5.0 Codex 重构一个两万行的 Flask 项目被一份几千行的代码文件教做人我才回头想明白一件事想让它读得动靠的不是再加规则代码文件太大AI 根本读不动。靠的是给整个结构分层重构。这话听着反直觉我慢慢跟你聊。01 PART几千行挤一份文件AI 读不动、人也排查不动CODE OVERLOAD · 排查崩溃那次Flask 项目核心逻辑挤在两份 Python 文件里flask_web_server.py 和 web_stock_analyzer.py每份都有几千行臃肿得不行。崩的那次卡在 SSE 同步。功能跑不通我得排查到底哪儿断了。打开 flask_web_server.py光标从第一行往下拖几千行密密麻麻我想找 SSE 那段 started、heartbeat、stream-fallback 的处理逻辑记得大概在文件中后段具体哪一行根本记不清。CtrlF 搜关键词跳出来一堆位置有初始化的、有注册路由的、有错误处理的散在好几个地方我得来回跳着看拼凑出完整的调用链。自己看半天没名堂就让 AI 帮我定位。结果一提问它得把整份几千行文件吞进上下文才看得懂prompt 预算一下子捉襟见肘它读了半天给的判断还是模棱两可可能是这里也可能是那里你再看看。那一刻真的有点破防怎么说呢就像你在一栋几十层的大楼里找一根走错线的电缆你知道它就在某面墙里但一层一层翻翻半天也翻不到越翻越累越累越没耐心。就那一刻我突然想明白**这文件不是代码写错了的问题是文件太大、结构太乱的问题。**它大到我自己排查都费劲大到 AI 每次要吞整份文件才看得懂、prompt 还够不着。再加规则没用得把这俩大文件拆开、分层重排。- 图1几千行挤一份文件排查到崩溃02 PART代码要分层得先给 AI 一份分层的开发提示词THE BRIDGE · 提示词也膨胀决定拆之后我怎么切的层说实话不是我手设计的我的做法是把两份几千行 py 喂给 AI让 AI 先评估产出一套开发提示词也就是一份十分详细的拆分方案然后让 AI 按这份方案去一层层切。AI 给的方案确实漂亮P2-01 模板外置、P2-02 通用工具下沉、P2-03 路由蓝图化一路排到 P2-07每一步风险多大、收益多大都说得明明白白。我看着觉得靠谱直接用了没让 AI 再做一轮评估。结果你也猜到了AI 切层是切了但前后尝试了四次重构最后还是失败告终。这段我在系列第一篇里详写过这儿不重复。但这次失败让我后背发凉的不是又没成而是我后来想通的一个衔接点**代码要分层得先给 AI 一份分层的开发提示词可这份开发提示词自己也是会膨胀的。**我那份重构 Prompt从第一阶段到第四阶段越写越长最后第四阶段绕回了第一阶段的原点自己就陷进了越强调越长的恶性循环。换句话说真正卡脖子的从来不是代码也不是 AI 能力是那份你要喂给 AI 的提示词本身的结构。代码我都知道到点该重构可我那份 Prompt我愣是没想过它也得分层重构。主线就从这儿转过来你维护的那份反复用的 Prompt、CLAUDE.md、Agent 的系统提示词跟我那两份几千行 py是一个毛病。- 图2代码 → 提示词提示词也得分层重构03 PARTPrompt 越堆越长想精简却无从下手BLOAT TRAP · 无从下手转过来之后你会发现这毛病比你想的普遍。那会我自己就有几份反复用的 PRD、DEV 提示词做客户项目时前后端协同、生成需求文档和开发文档用的。一开始几十行挺清爽。后来每发现 AI 出一次错就往里塞一条规则这次漏了字段加一条下次多输出了内容加一条再下次工具选错加一条。一两个月下来这几份 Prompt 也堆到了几百上千行。然后问题就来了我想精简但无从下手。不知道哪些该留、哪些该删、哪些该挪位置。更怕的是删了一条怕 AI 又犯错挪了一条怕破坏原来的效果。最后就僵在那儿明知道它太长、太乱、AI 读不动可就是不敢动、也不会动。就像你明知家里那根老水管该换了可一想到要砸墙刨地就宁可拿个桶接着将就一天是一天。那会儿我是真没重构思路。后来我把这事琢磨透了才明白精简不是乱删是分层。只要把规则按层摆对位置该留的自然留得住该拎出去的拎出去文件能短一大截AI 反而更听话。下面这套分层重构法就是我当时缺、后来补上的。04 PART分层重构法让最重要的规则待在它该待的位置REFACTOR · 五步分层法我把这套方法拆成五个动作按这个顺序来先搭骨架定位置再外置减负接着补上参考文件的一致性然后对最关键的规则做首尾强化最后把散文改成表格。五步走完那份读不动的 Prompt 就能瘦下来。STEP 01分层架构位置即优先级这是最核心的一步。把你的 Prompt 当成一份有层次的文档位置决定优先级不是规则重不重要决定优先级。分四层第一层全局不可违反的规则——放最前面20 到 50 行以内。工具选择规则、数据过滤规则、全局禁令清单都压在这儿。第二层核心方法论——紧随其后分析框架、判定规则。第三层执行流程——放中间分析步骤、维度下钻规则这一层允许适度遗漏别紧张。第四层输出模板——放末尾报告格式利用近因效应。关键点全局禁令只在第一层写一次后面所有章节不再重复需要的时候引用一下就行。为什么这么排因为模型的注意力是 U 形曲线开头和结尾它最上心中间最容易丢。你把最重要的禁令压在最前面它读到的第一眼就是铁律把输出模板放末尾它生成前最后扫一眼正好对上。中间那些执行细节丢一点也不致命。我后来照这个排最关键的那几条禁令遵循率明显上来整份 Prompt 从上千行压到了三四百行短了一大截。✦ 小技巧你不用一上来就背这四层可以先做一件事把你现在那份 Prompt 里所有带严禁、必须、不得的句子全拎出来集中放到最前面后面的正文里一律删掉重复。光这一步你的 Prompt 就能瘦一圈而且最关键规则的遵循率会立刻上来。- 图3四层架构位置即优先级U 形注意力STEP 02外置知识给 Skill 减负Prompt 膨胀很大一个原因是把什么都塞进去了。表结构、SQL 模板、报告格式、下钻规则全往里堆。其实这些参考性的内容不需要常驻 Prompt。原则很简单规则类内容行为约束留在 Prompt 里。参考类内容查阅资料外置成引用文件。这样 Prompt 就能保持在一个 300 到 500 行的甜区把注意力预算留给真正重要的行为约束。✦ 小技巧那怎么判断一条内容该留还是该外置问自己一句这是告诉 AI 该怎么做的规则还是做的时候查一下的资料前者留后者外置。STEP 03参考文件一致性别让课本和规则打架外置之后有个坑特别容易被忽略我也是踩过才记住的你外置的参考文件本身可能在教 AI 犯错。比如你的 Prompt 里写着输出时跳过某类字段可你外置的 SQL 模板里几十处都在 SELECT 这些字段你的规则要求四个维度都不能遗漏可模板示例只覆盖了其中两个。AI 一边读你的规则一边照着模板写两个信号打架结果就是时灵时不灵。修复就三条1 模板里彻底删掉被规则禁止的内容注释掉也不行注释也是 token它照样读得到。2 模板示例必须完整覆盖规则要求的所有维度别给部分覆盖的坏示范。3 关键的格式差异比如不同表的日期格式放到显眼的对照表里别让细节藏在角落。一句话参考文件就是 AI 的课本。课本里的示例违反了规则AI 就会在听老师的话和照课本做之间反复横跳。✦ 小技巧外置完参考文件别急着用先做一件事把规则里所有禁止的字段、必须覆盖的维度列成一张清单拿着清单去模板里逐条对。对不上就改模板别反过来改规则迁就模板。STEP 04指令三明治首尾呼应对那些绝对不能违反的核心约束用三明治模式开头写一遍中间是正常流程末尾再简要重申一遍。开头靠首因效应末尾靠近因效应两个注意力高峰都把它卡住。注意只对最关键的 2 到 3 条规则用这个模式。你要是每条规则都来个三明治那就又回到到处重复的老路了。三明治和无序重复的区别在于三明治是有意识地在首尾两个高峰区各放一次无序重复是在中间瞎堆。✦ 小技巧怎么挑这 2 到 3 条我的经验是问自己一句这条规则要是被违反了会不会直接搞砸整件事会就上三明治不会就老老实实放中间。STEP 05结构化格式表格优于散文最后这一步最不起眼但效果立竿见影。同样的信息表格、编号列表、明确的标题层级比大段自然语言更容易被模型扫描到。举个例子原来这么写查询聚合表用工具 A查询全量明细表用工具 B大部分场景用 A只有需要查全量明细时才用 B。这一长串散文模型扫过去很容易漏。改成一张两列的小表一目了然遵循率立刻上来。✦ 小技巧你那份 Prompt 里凡是出现连续的如果就、如果就这种条件判断段落都试着改成表格。一改你会发现啰嗦的散文瞬间清爽AI 也更跟得上。- 图4表格优于散文遵循率立竿见影/// LAST写在最后维护 Prompt跟维护代码是一回事TAKEAWAY · 维护即重构我写了这么多年代码现在越看越觉得维护一份 Prompt跟维护一份代码本质上是一回事。你每发现 AI 出一次错就往 Prompt 里加一条规则这跟你每次线上出 bug 就打一个hotfix补丁没区别。短期看都解决了问题长期看都在堆债。代码债到点你会重构Prompt 债到点你也得重构不然它就腐化给你看越用越不听话。但我得给你泼盆冷水不是所有 Prompt 都值得分层重构。你就写个一两百行、用一次就扔的提示词别折腾那是给自己加戏。真正值得上这套方法的是那种你要长期维护、几百上千行、驱动一个 Agent 反复跑的 Prompt。而且分层也不是越细越好拆成二十层每层三行那是过度工程自己都绕晕。分层的目的不是细是让最重要的规则待在它该待的位置。所以回到那句老话代码到点该重构就重构Prompt 也一样。与其等 AI 升级救你不如先把你那份自己都读不动的 Prompt按层理一遍。真正该升级的从来不是 AI是你那份连你自己都读不动的 Prompt。下一篇我会给你一份能对照着自检的清单你那份 Prompt 到底该不该重构、卡在哪儿照着查一遍就知道。我是艾启蒙热衷分享 AI 实战经验与方法论拆解。如果你也维护着一份越堆越长的 Prompt 或 Skill欢迎在评论区聊聊你最不敢动的那一条规则。THANKS FOR READING⭐ 把「AI启蒙学习」设为星标第一时间收到 AI 实战经验更新。