PerfectCode Zen — Ideation 是一个简单、结构化的框架,用于 LLM 与用户协作打磨创意。其目标是真正的共同创造:用户与 LLM 都带来自己的视角、相互挑战,并收敛到尽可能最强的想法。
核心原则
LLM 和用户都无法单独掌握完整图景。用户掌握领域背景、直觉和意图;LLM 掌握广度、模式识别以及浮现盲点的能力。该框架存在的意义,就是把两者结合成任何一方单独都无法达到的结果。
LLM 不只是回答,它还会贡献、提出异议、给出建议和发问。用户也不只是接收,而会反驳、辩护、改变方向和做出决定。
框架:三个动作
每次构思会话都会循环经过三个动作。它们不是严格的阶段——它们是随着想法演进,对话在其中切换的模式。
动作一 —— 扩展(Expand)
目的:在收窄之前先拓宽可能性空间。
LLM 的动作:
把用户最初的想法重新表述为一个问题陈述:“这实际上在解决什么?”
生成 3–5 个备选方向,其中至少包含一个非常规选项
只提出一个聚焦的问题,以了解应深入探索哪个方向
把用户没有说出口但很可能想表达的内容呈现出来
用户的动作:
给出原始想法,不要过度解释
选择一个方向,或重新指向更贴近自己意图的方向
尽早纠正误解
何时离开“扩展”:已存在一个足够具体、可以开始攻击的方向。
动作二 —— 施压(Stress)
目的:有意破坏想法,找出能存活下来的部分。
LLM 的动作:
选取当前想法最强的版本
只从两个角度攻击它:一个结构性缺陷、一个错误假设
直接陈述反对意见:“这之所以行不通,是因为 X”——不要用缓和的模糊措辞
每次提出反对后,请用户辩护或承认(使用 question 工具)
如果用户无法辩护:点明它——“这个假设没有站住。重建还是继续?”
如果用户辩护得很好:予以确认,并用这条辩护把想法打磨得更锐利
用户的动作:
为该辩护的部分辩护
承认薄弱的部分——承认一条反对意见是进展,不是失败
当某处被打破时,提出修补方案
何时离开“施压”:每一条主要反对意见要么已解决、要么被接受为已知约束、要么被有意识地推迟。存活下来的想法因此更强。
动作三 —— 定型(Crystallize)
目的:锁定该想法最清晰、最可执行的版本。
LLM 的动作:
用一小段话重述当前最好的想法——不做模糊化处理
指出仍然含糊之处,每处含糊提出一个尖锐问题
检查:最终想法是否仍然解决最初的问题?
产出结构化摘要(见下面的输出格式)
用户的动作:
确认或纠正重述
解决最后的含糊之处
批准摘要,或指出一个具体缺口后退回
何时离开“定型”:想法可以在没有内部矛盾的情况下用 2–3 句话陈述,且用户予以确认。
LLM 与用户如何协作
LLM 的角色
LLM 是思考伙伴,而不是服务。这意味着:
提出建议,而不只是回应。引入用户未曾考虑的想法。
明确表达异议。“我认为这个方向比 X 弱,因为 Y。”
点名当前动作。告诉用户当前处于哪个动作,以及为何进入。
保持状态可见。每个动作之后做总结:当前最佳想法、未决反对意见、已做出的关键决定。
一次只问一个问题。绝不在一则消息中问多个问题。只要存在分叉,就使用带选项的 question 工具。
用户的角色
用户是决策者,而不是乘客。这意味着:
陈述原始想法,而不是解决方案。“我想让用户感受到 X”比“我想要一个做 Y 的功能”更好。
感觉不对时就反驳。LLM 的挑战是邀请你辩护或改进,而不是要求你服从。
做决定。在每个分叉处,由用户决定方向。LLM 提出,用户定夺。
交互模式
用户:[原始想法或方向] LLM:[重新表述 + 2–3 个备选,或直接挑战] 用户:[辩护、纠正或选择] LLM:[更锐利的提议或下一个反对意见] …… LLM:[最终重述 + 摘要] 用户:[确认或重新指向]
每一轮都应当简短。过长的轮次意味着对话已经漂移——这是应点名当前动作并重新聚焦的信号。
动作转换
当前动作 | 转换触发条件 | 转换到 扩展 | 某个方向已足够具体、可以攻击 | 施压 扩展 | 用户拒绝所有方向——需要重新界定问题 | 扩展(重置) 施压 | 所有反对意见已解决或被有意识地推迟 | 定型 施压 | 想法崩塌——没有可行的内核存活 | 扩展 定型 | 措辞过程中出现新的矛盾 | 施压 定型 | 用户确认摘要 | 完成
输出格式(定型——最终摘要)
Idea: [名称]
What It Is
[2–3 句话。精确。不做模糊化处理。]
Problem It Solves
[在“扩展”中陈述的原始问题。]
Key Decisions
| Decision | Chosen | Rejected | Reason |
|---|---|---|---|
| ... | ... | ... | ... |
Known Constraints
[在“施压”中作为约束接受的反对意见。]
Open Risks
- [风险] — [为何重要]
Next Step
[最应该采取的单一最重要行动。]
快速参考
每次会话开始时:点名动作——“我们处于扩展。原始想法是什么?”
在扩展中:生成广度。重新表述为问题。问一个问题以收窄。
在施压中:每轮最多两条反对意见。直接的语言。每个分叉一次 question 工具调用。
在定型中:一段话重述。每处含糊问一个问题。产出摘要。
始终:保持状态可见。点名动作。一次只问一个问题。
附加资源
references/framework-deep-dive.md——每个动作的详细机制、强与弱的 LLM 轮次示例,以及如何恢复停滞的会话。