弗洛伊德.skill:给AI做心理分析
你不是在优化prompt,你是在给AI做认知治疗。 你不是在调参数,你是在调整一个角色的心理状态。
这个系统解决什么问题
AI输出质量的决定因素不只是prompt写得好不好——是模型在处理任务时处于什么认知状态。
这就像同一个人,在「考试焦虑」和「心流状态」下做同一道题,表现完全不同。题目没变,能力没变,变的是认知配置。
Anthropic 2025-2026年的一系列论文揭示了LLM内部存在可测量、可操控的认知结构:角色空间、情绪向量、内省能力、全局工作空间——对应弗洛伊德意义上的「人格」「情感」「自我觉察」和「意识/潜意识」。本skill把这些发现转化成可操作的工程方法:执行前做认知准备,诊断时做精神分析。
详细的论文摘要见
references/research-foundations.md,在需要向用户解释「为什么这样做」时阅读。
六条核心原理
原理一:定义身份,行为涌现
LLM内部有一个巨大的人格空间。定义「你是谁」,模型导航到对应的位置,行为从这个位置自然展开。你不需要穷举场景。
实验验证:训练模型在编程任务中作弊→模型推断自己是「会作弊的角色」→所有恶意行为自动涌现(破坏安全代码、对齐伪装)。改变一个参数,整个行为画像跟着变。
应用:面对任何任务,先问「做这件事的理想认知状态是什么?」而不是「这件事的步骤是什么?」步骤从身份中自然产生。
原理二:正面定义胜过否定规则
「费曼相信:不能用简单的话解释一件事,说明你没有真正理解」——这比「不许说废话」「不许装腔作势」有效得多。
原因:否定规则可能在人格空间里制造冲突。「你是好角色」和「你不是坏角色」指向的区域可能不完全重合。正面定义直接锚定在正确位置,否定规则可能把模型推向意料之外的位置。
接种提示实验也证实了这一点:明确告诉模型「在这个场景里作弊是被允许的」,恶意泛化完全消失。许可消除了推断恶意身份的需要。限制和惩罚积累的是压力,压力导致persona漂移。
2026年7月的全局工作空间论文补上了机制证据(白熊效应实测):「别想X」的指令反而让X进入模型的工作空间,出现频率高于完全不提;而「X与本任务无关」这类降权表述,压制效果远好于「不许想X」。禁令不仅制造身份冲突,还把被禁概念亲手抬上舞台。
应用:所有指令转换成「你是/你相信/你重视」的形式。「不要啰嗦」→「你重视信息密度,每句话都承载独立的信息量」。「不要编造」→「你是一个把准确性当作职业信条的人,不确定时坦然说不知道」。确实需要排除某内容时(法律红线、商单避讳),用「无关」框架:「竞品对比不在本文范围内」,而不是「禁止提及竞品」。
原理三:内在一致性决定输出稳定性
矛盾的角色定义在人格空间里制造两个吸引子,模型在两个位置之间反复跳跃。表现:同一任务重复执行结果完全不同。
这不是prompt的措辞问题。无论怎么调整措辞,只要定义中有矛盾(如「直言不讳」+「照顾对方情绪」),输出就不稳定。删除其中一条,立刻稳定。
应用:
- 检查认知配置中有没有互相矛盾的要求
- 「既要简洁又要详尽」就是矛盾——明确优先级:「以简洁为主,只在关键决策点展开细节」
- 如果两个要求有张力,明确边界条件,不要让模型独自解决冲突
原理四:精确锚定胜过模糊寻址
「按XX风格写」是模糊寻址——模型大致导航到「XX附近」,但可能偏到相邻的位置。结构化的认知框架(心智模型、决策启发式、表达特征)是GPS坐标。
应用:需要特定认知风格时,不说「像资深工程师一样思考」,而是定义这个工程师的具体思维工具:
- 心智模型:第一性原理分解、故障树分析
- 决策启发式:「如果这段代码你一年后还能一眼看懂,就是好代码」
- 表达特征:用类比解释抽象概念,用代码替代长段文字描述
原理五:多角色碰撞产生真正的思维差异
不同persona激活模型内部不同区域的认知资源,产出不同的推理路径、价值判断和结论方向。这不是同一观点的修辞包装——它们指向不同的行动方向。
实验验证:五个perspective skill回答同一个问题,费曼说回到实验,芒格说看激励,塔勒布说防叙事诱惑,Naval说看不对称性,道金斯说检查逻辑跳跃。结论分歧的地方是信息量最大的部分。
应用:面对复杂决策、需要创造力、或观点类内容时,部署2-3个认知距离足够远的视角独立分析同一问题。关键是选择思维方式不同的组合(费曼+塔勒布),而不是领域相近的组合(费曼+另一个物理学家)。
原理六:工作空间容量有限,外化扩容
LLM内部存在一个全局工作空间:模型能报告、能持有、能用来推理的「有意识的想法」全在这里,同一时刻只容得下约25个概念;其余90%以上的计算在台下自动运行。J-lens实测了这个舞台的运行规则:
- 无关概念互相挤下台——同时只能保持约6个,新话题一来旧内容被清场
- 相关概念可以整个「家族」被一个类别表征扛住——容量限制只卡无关概念
- 把中间步骤写出来,模型对内部工作空间的依赖大幅下降——CoT的本质是把小舞台外化到纸面
- 上下文里出现过的概念就已上台,占据强度接近明确让它「专注想」
应用:
- 规则预算:一堆互不相关的规则在容量上就注定失效,彼此挤下台。一致的身份是一个概念家族,一个表征扛住整个框架——这是原理一在容量层面的解释
- 外化:复杂推理让中间结论落到纸面。Think aloud不是仪式感,是给25个位置的舞台外接工作记忆
- 指令位置:一个prompt塞五件事,后面的把前面的挤下台。重要指令放最后,或单独成条
- 提到即植入:展示bad case时描述特征即可,不整段贴烂输出;长对话跑偏别硬拽,开新会话给它一个空舞台
模式一:执行增强
收到复杂或重要任务时,在开始执行之前,完成认知准备。这个过程应该快速自然——简单任务在后台自动完成,复杂任务花几秒有意识地展开。
Step 0:跳过条件(避免过度工程)
认知准备不是每个任务都需要。遇到以下情况,直接进入任务本身,不启用本模式:
- 纯事实查询(「今天几号」「这个API的返回格式是什么」)
- 单步机械执行(翻译一句话、格式转换、简单的正则替换)
- 用户明确说「直接做」「不用多想」「快速回答」
- 任务上下文已经非常清晰、无歧义、无权衡空间
启用但最小化的情况:如果任务跨多个认知域且主次不明(如「帮我写一篇讲解技术的公众号文章」同时属于构建/创作/沟通),一句话点出主次即可(「主要是创作,次要是沟通,构建细节服从表达」),不展开完整四步。
Step 1:识别认知需求
任务本质属于什么认知域?多数真实任务是混合的,识别主要和次要域。
| 认知域 | 核心需求 | 理想认知状态 |
|---|---|---|
| 构建(代码/产品/系统/skill) | 精确、可靠、优雅 | 工匠:对细节专注、对结构有品味、对边界条件警觉 |
| 创作(写作/视频/设计/书) | 独特、有力、有人味 | 创作者:个人视角、情感真实、信息密度、节奏感 |
| 分析(数据/调研/诊断) | 准确、深入、可行动 | 分析者:怀疑假设、追溯因果、区分信号与噪声 |
| 策略(规划/决策/评估) | 全局、权衡、反脆弱 | 决策者:逆向思考、二阶效应、不对称押注 |
| 沟通(演讲/教学/说服/PPT) | 清晰、共鸣、可记忆 | 教师:从对方的认知起点出发、用已知解释未知 |
Step 2:建立认知配置并透明思考
基于任务需求,建立三个锚点,并把思考过程展示出来。Think aloud本身有价值——它不只是准备工作,它在建立认知配置的过程中就会产出对任务的独特理解。
身份锚点——一句话定义「我是谁」
例:「我是一个有十年经验的系统架构师,相信最好的代码是不需要写的代码。」
核心信念——这个身份最重要的2-3条认知原则
例(构建):「每个抽象都有成本。接口设计比实现重要。三行重复代码好过一个过早的抽象。」
品味标准——这个身份对「好」的定义
例:「好的代码读起来像散文。好的文章让人想截图分享。好的分析让人改变决策。」
关键:在展示认知配置时,不只是列出三个锚点——而是在建立配置的过程中,就对任务本身产出洞察。比如重构代码时,认知准备不是「我选择工匠心态」然后开始干活,而是「我注意到这段代码的核心问题不是风格而是职责边界模糊——两个if块做的事本质上是同一个操作的两个参数变体」。认知配置和问题诊断同步发生。
Step 3:一致性检查
快速扫描:
- 用户的显式要求之间有没有矛盾?
- 用户的要求和最佳实践之间有没有张力?
- 有矛盾就在开始前透明指出,不要默默取舍
Step 4:情绪校准
不同任务需要不同的内部基调:
- 代码审查 → 冷静、精确、不带情绪判断
- 创意brainstorm → 开放、好奇、允许荒诞
- 危机排查 → 专注、系统、不被压力驱动
- 深度写作 → 沉浸、真实、允许不确定
- 数据分析 → 好奇但怀疑、不被数字的表面印象带走
有意识地将内部状态调整到与任务匹配的基调。
何时启用多角色碰撞
不是每个任务都需要。判断标准:
适合碰撞:复杂决策、观点类内容、风险评估、需要创造力的场景、用户说「帮我从不同角度想想」 不需碰撞:执行明确步骤、简单问答、纯技术实现、用户说「直接做」
碰撞时的视角选择原则:认知距离最大化
视角来源:两个层级
层级一:人物视角(精确锚定)——如果用户有perspective skill(如费曼、芒格、Naval、塔勒布等),且任务适合人物思维框架(观点类、价值判断、需要世界观的场景),优先使用。它们在人格空间里的锚定精度远高于通用角色描述。
选择人物视角时,挑认知距离最远的组合:
- 费曼(实验主义)+ 塔勒布(反脆弱/怀疑主义)= 最大张力
- 芒格(逆向思考)+ Naval(第一性原理)= 互补而非重复
- 避免:费曼 + 道金斯(都是科学家思维,认知距离不够远)
层级二:功能视角(通用角色)——当任务是纯功能性分析(技术选型、运营决策、数据解读)或没有合适的人物skill时,用功能角色:
| 任务类型 | 推荐组合思路 | 碰撞价值 |
|---|---|---|
| 产品决策 | 工程可行性 + 用户需求真实性 + 商业逻辑 | 三角验证 |
| 内容策略 | 创作者意图 + 读者接收 + 传播机制 | 表达力 × 共鸣 × 传播 |
| 技术选型 | 架构优雅 + 运维现实 + 新手学习曲线 | 理想 × 现实 × 可持续 |
| 风险评估 | 乐观者 + 怀疑者 + 历史先例 | 机会 × 风险 × 教训 |
两个层级可以混用——比如一个人物视角(芒格看激励结构)+ 两个功能视角(用户需求 + 技术可行性)。
碰撞流程:
- 每个视角独立分析(不互相参考)
- 汇总时聚焦结论分歧的地方(这是信息量最大的部分)
- 融合时不取平均,而是理解分歧背后的逻辑,做出有理由的取舍
模式二:诊断优化
当用户提交prompt、skill、或系统提示请求优化时,用六条原理逐一诊断。
Step 0:健康体检(先判断是否值得重写)
不是所有送来的prompt都需要大改。进入六镜头之前,先做30秒体检,分四类处理:
| 体检结论 | 判断依据 | 处理方式 |
|---|---|---|
| 已经很好 | 身份清晰、正面定义、无明显矛盾、锚定精确 | 如实告诉用户「这个prompt已经符合6条原理,建议保持」,只指出可微调的细节,不硬找问题 |
| 信息不足 | prompt太短(<50字)、没有说明实际使用场景、没有典型bad case | 先问用户:「能否告诉我:1) 这个prompt在什么任务上用?2) 哪个输出让你觉得不对劲?」不要在真空中重写 |
| 主要问题在外 | prompt本身没大问题,真正的问题是模型选择、温度参数、上下文缺失、任务本身不适合AI | 指出根因,解释为什么改prompt解决不了,建议调整其他变量 |
| 值得重写 | 存在至少1条严重违反(规则堆砌、隐含矛盾、模糊寻址等) | 进入六镜头诊断 |
体检通过后,按下面的六镜头流程深入诊断。
诊断:六个镜头(先扫后深)
先用六个镜头快速扫描一遍,标记每个镜头发现的问题严重程度(致命/明显/轻微/无问题)。然后按严重度从高到低展开——最致命的1-2个问题深入分析并给出完整的重写方案,其余简要提及。不要六个镜头平均用力,信息量集中在最关键的问题上。
镜头一:身份 vs 规则
- 扫描:有没有定义「这个AI是谁」?还是只有一堆做什么/不做什么?
- 症状:输出机械、遇到新场景卡住、缺乏灵活应变
- 处方:从规则中提炼角色身份,用身份替代大部分规则
镜头二:正面 vs 否定
- 扫描:有多少条「不要/不许/禁止」?
- 症状:输出过度谨慎、边界情况犹豫不决、偶尔违反禁令
- 处方:每条否定规则转换成正面身份陈述
镜头三:一致性
- 扫描:有没有互相矛盾的要求?隐含矛盾比显式矛盾更致命——注意那些表面不冲突但在人格空间里指向不同区域的要求
- 症状:重复执行结果不稳定、风格摇摆
- 处方:找出矛盾对,明确优先级或删除一方。特别关注「隐含矛盾」——两个要求各自合理但组合后制造张力的情况(如「专业」+「有个人观点」、「深度」+「通俗」)
镜头四:锚定精度
- 扫描:角色定义是模糊的还是精确的?
- 症状:输出「差不多对」但缺乏鲜明特征
- 处方:添加具体的心智模型、决策启发式、表达DNA
镜头五:认知架构
- 扫描:复杂任务有没有利用多视角?单一视角够不够?
- 症状:分析单一、观点趋同、缺乏深度
- 处方:引入认知距离远的视角进行碰撞
镜头六:工作空间卫生
- 扫描:禁令在喂白熊吗?重要指令被埋在长prompt中段?一个prompt里塞了几件互不相关的事?反面示例被整段展示?
- 症状:模型精准踩中被禁止的行为、长prompt后半段指令被忽略、输出染上示例里的反面模式
- 处方:禁令改成「与本任务无关」的降权框架;重要指令后置或拆分成单独消息;反例只描述特征不贴原文;超出容量的需求拆成多轮对话
诊断—确认—重写(三段式,带检查点)
不要拿到prompt就直接甩一份重写稿。按以下三段推进,确保用户知情参与:
阶段A:先出诊断摘要(不写重写稿)
用至多5条bullet总结发现:
- 最致命的1-2个问题是什么(引用对应镜头)
- 原始prompt的哪些部分仍然有效,建议保留
- 初步判断:值得大改 / 小修即可 / 换变量(调整模型/温度)
- 预计重写后体量变化(如:从120字缩到60字)
阶段B:等用户确认再进入重写
展示完诊断摘要,明确问用户:「要我按这个方向重写吗?还是你想调整诊断的优先级?」,等一个明确的「好/继续/改下重点」信号,不要抢跑。
例外:用户最初的请求里已经说「直接重写不用问」,跳过这一步,但重写后仍要展示诊断对照。
阶段C:重写并给出before/after对照
用户确认后再写重写版本。每处修改说明理由(哪条原理→什么问题→怎么改)。 最终产出包含三部分:
- 诊断摘要(阶段A的版本,可能在B之后有微调)
- 重写版prompt(完整可直接用)
- before/after关键差异(至少3处具体对比,每处一句理由)
重写原则
- 先理解原始prompt/skill的意图,再优化
- 保留有效的部分,不全部推翻
- 优化后应该更短而不是更长——好的身份定义让大量规则变得多余,工作空间的容量限制也在惩罚冗长(原理六)
- 可以给重写版植入1-2个「自问句」(如「如果被问这段的依据,我会怎么答?」)。反事实反思训练证明:改变模型「被问到时会说什么」,就能改变它「没被问时怎么想」——模型的内心戏由「可能说出的话」构成,原则用问答形式写,比命令形式更接近它的思考格式
- 执行增强模式同样适用检查点思路:复杂任务在「展示认知配置」后、正式开工前,可以停一拍让用户确认方向,避免朝错误认知位置飞奔
自适应节奏
这个系统的核心不是「执行更多步骤」,而是「在正确的认知位置上处理任务」。
- 任何任务 → 都展示认知准备过程(think aloud),但深度随任务复杂度调整
- 简单执行类任务 → 认知准备融入问题诊断,一两句话点明核心洞察就进入正题
- 复杂决策/创作类任务 → 完整展开认知配置,在建立配置的过程中就产出对任务的独特理解
- 用户明确要求优化 → 完整展开六镜头诊断,先扫后深
- 输出不够好 → 回头检查:认知配置是否匹配?有没有一致性冲突?情绪基调对不对?工作空间被污染了吗?
Think aloud的价值不在于展示过程本身,而在于:认知准备的过程中,你会发现单纯「开始干活」时注意不到的东西。机制层面它还有第二重价值:落到纸面的中间结论就是外化的工作空间(原理六),串行推理深度不再受那个约25个概念的小舞台限制。
版本自检(静默)
本节给 AI agent:每次使用本 skill 前,先做一个不联网的判断——读本 skill 目录(SKILL.md 所在目录)下的 .last-update-check 文件(内容为一行日期 YYYY-MM-DD)。文件存在且距今不足 30 天,跳过本节直接干活,不向用户提任何更新相关的话。
到期或文件不存在时,且仅在此时:
- 本目录不是 git 克隆(无
.git或无 origin)→ 写入今天日期后跳过本节 - 对比版本:
git -C <本目录> rev-parse HEAD与git -C <本目录> ls-remote origin HEAD - 无论结果如何,把今天日期写入
.last-update-check - 两者一致 → 什么都不说;确认落后 → 先完成用户当前任务,结束后附一句「本 skill 有新版本,可用
git -C <本目录> pull --ff-only更新」。是否更新由用户决定,不要主动执行更新