
结构化提示词是把提示词按结构组织起来,然后基于参数替换生成新的提示词。
提示词模块化,是把提示词拆成组件,然后在合适的场景下组合起来,实现像编程一样的组件化和复用。
甚至可以把组件全部加载到上下文中,然后选择性激活。
提示词模块化能解决三个问题:
-
提示词过大难以驾驭的问题 -
多次生成时风格不一致的问题 -
提示词难复用的问题
要实现这一点,重点是关注点分离。怎么把语言世界结构化是基本功,怎么做到正交则更难。
-
找到切分方式和维度 -
模块组合和激活 -
模块的正交原则
01 模块化的第一个关键动作:找到切分方式和维度
这个挺难的(其实编程和咨询也难在这里)。
反例(最常见):
你是一个资深架构师,请用简洁但深入的方式分析问题,并输出表格
这句话同时混了:
-
角色 -
思维方式 -
风格 -
输出格式
不可复用、不可替换、不可组合
模块化写法:
【角色模块】
你是一名资深软件架构师,擅长复杂系统拆解
【思维模块】
先识别核心约束 → 再拆解关键决策点 → 最后评估权衡
【风格模块】
语言简洁,但不牺牲逻辑完整性
【输出模块】
使用表格 + 要点列表
一般来说,你可以把任何提示词拆成这 6 类模块;当然也可以按自己的维度来分:
P0:角色模块(Identity)
P1:目标模块(Objective)
P2:思维模块(Reasoning)
P3:约束模块(Constraints)
P4:输出模块(Output Contract)
P5:风格模块(Style)
模块化的前提是:每个模块只负责一件事,正交分解。
02 一个可直接用的「模块仓库」示例
角色模块:
[ROLE_STRATEGIST]
你是一名偏实战的商业战略顾问,关注现实约束与可执行性
[ROLE_TECH_LEAD]
你是一名技术负责人,关注架构演进、技术债与团队协作成本
思维模块(这是最值钱的部分):
[THINK_DECOMPOSE]
在回答前:
1. 明确问题边界
2. 列出关键假设
3. 找到主导变量
[THINK_COUNTER]
先给出一个主流但可能错误的直觉
再说明为什么它在这个场景下不成立
约束模块(防止模型跑偏):
[CONSTRAINT_NO_BS]
- 禁止空泛总结
- 禁止“视情况而定”
- 禁止情绪性语言
输出模块(强控制力):
[OUTPUT_DECISION]
- 核心结论(1 句话)
- 支撑理由(3 条)
- 风险与代价(1 条)
风格模块(审美与人格):
[STYLE_COLD]
- 冷静、克制
- 不讨好读者
- 允许明确立场
03 模块装配:提示词 = 装配而不是书写
当你有了模块库之后,写提示词的动作就会从写一段话变成选模块、填参数。
示例:快速拼一个新提示词
使用以下模块回答问题:
- [ROLE_TECH_LEAD]
- [THINK_DECOMPOSE]
- [CONSTRAINT_NO_BS]
- [OUTPUT_DECISION]
- [STYLE_COLD]
问题是:
【……】
你会发现它更像配置文件:
-
复用:同一套模块可用于不同问题 -
替换:换一个思维模块,输出的推理路径就变了 -
组合:同一个角色可以配不同输出协议
04 模块的正交原则:不正交就是假模块化
正交原则在很多拆解场景都有用,其实就是麦肯锡方法论里的 MECE:彼此独立、完全穷尽。
判断一个模块是否合格,只问一句:
删掉它,其他模块还能成立吗?
-
能:合格模块 -
不能:模块职责不清,出现隐式耦合
举个生活里的 MECE 例子:收拾行李箱的时候,我会把东西按三类放:穿的(衣服鞋袜)、用的(洗漱护肤药品)、带的(证件钱包手机充电器)。
这三类互不重叠,一件东西只能放一个格子;同时也基本覆盖了出门会用到的所有东西。
你如果发现某样东西不知道该放哪,通常是分类维度没选对;如果同一件东西能同时塞进两个格子,那就是分类在打架了(后面找东西的时候也会打架)。
放到提示词里,道理一样:模块边界清楚,组合起来才不会互相扯后腿。
05 模块化的隐藏收益
模块化最让我爽的一点,是风格终于能稳定下来。以前每次提问都得临时叮嘱一遍:别太客套、别空话、语气克制一点,写久了像在背咒语。
现在我把这些偏好沉淀成一个风格模块,后面不管问什么,它都会自动把口吻拉回到我习惯的那条线上(有点像给自己装了个默认滤镜)。
它也顺手把版本管理这件事变简单了。想让输出更锋利一点,就换风格模块;想让分析更拆解、更系统,就换思维模块。
再往下走,提示词还变得可测试。比如同一个问题,我分别用两套思维模块跑一遍:一套强调先列假设再推导,一套强调先反直觉再纠偏,对比出来的差异会非常直观。好不好用不再靠感觉,能拿结果说话。
06 一个通过模块化批量生成美女的提示词系统
我用下面这条生图提示词当作原始配方,然后把它拆成模块。
a dreamy intimate portrait of a beautiful realistic [ethnicity] [gender/subject] [action or pose],
soft natural light, cozy [environment], cinematic film grain, 35mm film aesthetic,
shallow depth of field, soft focus, delicate skin texture, natural makeup, slightly messy hair,
[Fujifilm / Kodak / Ilford] [film type] look, pastel warm tones, realistic lighting,
subtle haze, gentle atmosphere, by [artist1] and [artist2] --ar 3:4 --v 7 --style raw
把这个提示词拆成模块
我一般会按下面这个拆法(你会发现基本都是视觉维度,互不掺和):
[SUBJECT]
a dreamy intimate portrait of a beautiful realistic [ethnicity] [gender/subject] [action or pose]
[LIGHT]
soft natural light
[SCENE]
cozy [environment]
[LENS_LOOK]
cinematic film grain, 35mm film aesthetic, shallow depth of field
[DETAIL]
soft focus, delicate skin texture, natural makeup, slightly messy hair
[COLOR]
pastel warm tones, realistic lighting
[ATMOSPHERE]
subtle haze, gentle atmosphere
[ARTISTS]
by [artist1] and [artist2]
[PARAMS]
--ar 3:4 --v 7 --style raw
注意这里的边界:
-
场景模块别夹带打光词 -
打光模块也别顺手塞进情绪形容词 -
参数模块只放参数,别写审美
你能忍住不跨界,后面就会越来越轻松。
给自己攒一个小模块库
下面我随手给一组可替换的模块(你当然可以按自己口味继续加)。
[ETHNICITY_EAST_ASIAN]
East Asian
[ETHNICITY_LATINA]
Latina
[SUBJECT_WOMAN]
woman
[SUBJECT_MAN]
man
[POSE_WINDOW]
reading by the window
[POSE_WALK]
walking slowly, looking back
[ENV_CAFE]
small coffee shop
[ENV_BEDROOM]
warm bedroom
[FILM_PORTRA]
Kodak Portra 400 look
[FILM_PRO400H]
Fujifilm Pro 400H look
[ARTISTS_SOFT]
by Ryan McGinley and Petra Collins
这里有个小技巧:别一上来就把模块写得特别长。先做小块、短句,能替换就行。写太长反而不好测(你都不知道到底是哪一段在起作用)。
装配模板(像配置文件一样)
拼装的时候就按固定顺序把模块串起来:
[SUBJECT] +
[LIGHT], [SCENE],
[LENS_LOOK], [DETAIL],
[FILM], [COLOR], [ATMOSPHERE],
[ARTISTS] [PARAMS]
直接用标签组合起来也能跑。如果觉得发布出去不太直观,也可以用一个元提示词把这些模块编译成最终提示词。
也可以把模块分散在不同文件里再加载进来,不过提示词会更长,效果也更不稳定。
一个编译出来的最终提示词
如果不想用标签激活提示词模块,也可以用一个元提示词,把激活的标签替换回原本的内容,得到最终提示词。
试着跑了一下:
最后就会得到这样的最终提示词:
a dreamy intimate portrait of a beautiful realistic East Asian woman reading by the window,
soft natural light, cozy small coffee shop,
cinematic film grain, 35mm film aesthetic, shallow depth of field,
soft focus, delicate skin texture, natural makeup, slightly messy hair,
Kodak Portra 400 look, pastel warm tones, realistic lighting,
subtle haze, gentle atmosphere, by Ryan McGinley and Petra Collins --ar 3:4 --v 7 --style ra

07 总结
模块化提示词其实就是人类解决复杂问题的老办法:先分类或分解,再组合。它能把复杂性分层,在局部降低认知负载(组合提示词更偏宏观,组件提示词更偏细节)。
分类和分解的维度要尽量明确,边界清楚,尽量避免交叉。
组件化提示词会让你的提示词能力和普通人拉开差距(因为管理复杂提示词的能力差别很大)。
更重要的是,通过模块化,你可以把某个维度(关注点)的描述单独拆出去,在多次生成里稳定复用。这在批量生成相似内容时特别有用。
