🪟 乔哈里视窗 × 提示词策略

认知框架乔哈里视窗基础必修

← 返回目录下一章 →

一、基础框架

乔哈里视窗(Johari Window)原本是心理学中用于理解"自我认知与他人认知"关系的模型。当我们将"别人"替换为"AI",这套框架立刻成为提示词工程的元方法论:提示词的本质就是信息传递——你给的、你没给的、AI 能猜到的、双方都不知道的——这四种状态决定了一切输出质量。

① 开放区

我知道 · AI 知道

你明确说出来的信息。这是提示词的基础层——越清晰、越结构化,AI 越少猜错。

② 盲目区

我不知道 · AI 知道

你的思维模式、盲区假设、省略的前置条件——AI 能推断出来,但你从未意识到。

③ 隐藏区

我知道 · AI 不知道

你没说的背景、约束、偏好、历史失败。提示词最大的浪费就在这里——你默认 AI 知道,但它真不知道。

④ 未知区

我不知道 · AI 不知道

双方都未发现的潜力——新的视角、跨界类比、反向思维。这是 AI+人类 > 任何一方的核心价值。

提示词工程的终极目标:最大化开放区,发现盲目区,主动暴露隐藏区,反复探索未知区。

💡 核心心法: 每次写提示词前,先问自己:"我有什么没说,但 AI 知道了会做得更好?" 这一步把信息从隐藏区移到开放区,是提升提示词质量最有效的单一路径。

二、四象限 × 12 个实战提示词模板

① 开放区 → 🔓 放大

策略: 把你知道的,用结构化方式喂给 AI。越清晰,AI 猜错的余地越小。

示例 1 · 结构化场景描述
> 系统提示词 你是一个资深 DevOps 工程师助手。用户是同一团队的同事。 目标:为我们维护的 Flask + PostgreSQL 微服务编写健康检查脚本。 约束: - 使用 Python 3.11,不要第三方库 - 检查每个端点的 /health 路由 - 失败超时 5 秒 - 输出格式:JSON,含 status、latency_ms、message
示例 2 · 角色 + 背景 + 输出格式三段式
角色:你是我的 CTO,有 15 年技术管理经验。 背景:我想用 Redis Streams 替代 RabbitMQ 来做任务队列。 输出格式:先列出 3 个 RabbitMQ 无法替代的场景,再给出迁移建议优先级。 每点用 50 字以内说明原因。
示例 3 · 用示例限定输出风格
请用以下风格回答技术问题: ✅ 好例子 → "这个问题本质是缓存一致性问题,你需要在这 3 处加锁……" ❌ 坏例子 → "嗯,这个要看情况,可能可以尝试用分布式锁……" 我的问题:如何保证 Redis 缓存和 MySQL 的一致性?
🎯 开放区心法: 开放区不是字数越多越好,而是密度越高越好。一个 50 字的角色声明 + 一个 30 字的结构约束,胜过 200 字的口水话。

② 盲目区 → 🪞 借 AI 照镜子

策略: 让 AI 反向审查你的思维过程——它能看到你忽略的前提假设和思考盲区。

示例 1 · 盲区诊断
以下是我对一个项目的技术选型分析。请指出: 1. 我默认了哪些假设没说出来? 2. 我的思维模式倾向于哪种风格?(保守/激进/过度设计?) 3. 哪些风险我完全没考虑到? [粘贴你的分析]
示例 2 · 反向视角
我刚写了一个方案,请用以下三个截然不同的身份来审查它: - 一位极度激进的技术极客(选最新技术) - 一位极度保守的银行架构师(用稳定技术) - 一位刚入职的初级工程师(关注可理解性) 每个身份给出 3 个最尖锐的质疑。
示例 3 · 挖掘遗漏条件
假设你是一个有 10 年经验的提示词工程师。 阅读我写的这个提示词,然后: 1. 列出 AI 可能需要猜的所有事情 2. 按"这不重要"→"可能会错"→"一定出错"分级 3. 对"一定出错"级的,告诉我该怎么补充 [粘贴提示词]
🎯 盲目区心法: 大多数人用 AI 只求"答案",高手用 AI 求"反馈"。一个好的"照镜子"提示词,比十个常规提示词给你更多成长。如果你发现自己老是得到不满意的回答,先让 AI 分析你的提示词——问题很可能在你没意识到的盲目区。

③ 隐藏区 → 📤 主动摊牌

策略: 把你认为"AI 应该知道"的事情,明确说出来。这条是提升提示词质量最快的方法。

示例 1 · 上下文宣言
[上下文宣言] - 项目阶段:原型验证期,不需要生产级别 - 团队成员:只有我一人,全栈 - 时间压力:这周末要 demo - 语言:Python 3.11(不能用 Go — 我不会) - 之前已做:我已经写好了一个 CLI 原型,现在是加 Web 界面 基于以上,帮我设计一个最简单的 Web 前端方案。
示例 2 · 约束条件前置
以下是我的要求清单。请逐条遵守,如有冲突请指出: [约束] - 不要给我推荐换技术栈——我有 200 万行在 Django 上 - 不要假设我可以上云——项目部署在离线内网 - 不要写超过 100 行的代码块——我每段需要理解 - 我的 Python 水平:知道装饰器但不会写元类 - 之前踩过的坑:Celery 序列化乱码,所以这次用 Redis 直连 需求:[描述你的需求]
示例 3 · 历史教训模板
[历史记录] 上一次我尝试类似方案的时候遇到了这些问题: - RabbitMQ 客户端在低版本 Linux 上装不了 - pika 0.13+ 和 1.0 的 API 不兼容,花了 2 天调试 - 最后的方案是直接 HTTP POST,虽然不够优雅但能跑 这次我打算用 [新方案],请: 1. 评估这次方案和上次失败的相似度 2. 指出可能的新坑 3. 如果历史会重演,提前告诉我怎么做
🎯 隐藏区心法: "AI 不知道"是提示词失败的第一原因。检查一下:你写提示词时花了几秒在"我说了什么"上,又花了多久在"我没说但重要"的事情上?一条"约束前置"行,能省掉 3 轮来回对话。

④ 未知区 → 🧪 共同探索

策略: 当你和 AI 都不知道答案时,不要假装知道。让 AI 成为你的探索伙伴,而非答案机器。

示例 1 · 多元视角探索
我遇到了一个问题:[描述你的问题] 请从以下 5 个完全不同领域的视角来分析它: - 生物学家(进化论类比) - 象棋大师(策略博弈) - 软件架构师(系统耦合) - 投资人(ROI 回报) - 一个 10 岁小孩(最直接的重述) 每个视角给我一个我没想到的洞察。
示例 2 · 反向思维挑战
我有一个初步方案:[描述方案] 请执行以下思维实验: 1. 假设这个方案 100% 会失败——找出 5 种最可能的原因 2. 针对每种原因,提一个"你没想到的"早期预警信号 3. 分析这些问题中,哪些是"已知已知"(我写的)、哪些是"已知未知"(我担心的)、哪些是"未知未知"(我俩都没意识到的) 先列出第三类——那才是真正的价值所在。
示例 3 · 跨界类比跳跃
帮我用以下方式重新理解我的问题: 1. 把我当前的问题用一句话说清楚 2. 找 3 个看似不相关的领域,解释它们的核心困境和我的问题结构相同 3. 从每个类比的解法中,提炼出一个可以迁移到我的场景的策略 4. 哪个策略最反直觉但最有可能打破僵局? 我的问题:[描述问题]
🎯 未知区心法: 这里 AI 的价值不是"告诉你答案",而是 "让你看到你没看到的可能性"。一个跨界类比带来的视角转换,常常比十次常规问答更有价值。前提是——你愿意接受"我不知道"这个现实。

三、一张表总结

象限 操作 一句话口诀 常见错误
① 开放区 放大 说清楚,少让 AI 猜 信息密度低,废话多重点少
② 盲目区 照镜子 让 AI 反问你 只求答案不求反馈
③ 隐藏区 摊牌 你以为 AI 知道,但它真不知道 默认 AI 知道背景和约束
④ 未知区 探索 不知道就说不知道 假装有答案,不敢接受"未知"

四、课后练习

找一段你最近写的提示词,逐条做四象限自检:

  1. 开放区:结构是否清晰?是不是应该拆成角色+背景+输出格式三块?
  2. 盲目区:让 AI 分析这个提示词——它发现了什么你没想到的假设?
  3. 隐藏区:你有哪些背景没说出来?试试加一条"上下文宣言"。结果有什么不同?
  4. 未知区:在常规需求之外加一个"用 3 种不同身份反驳我"——你发现了什么新东西?
📌 下节课预告: 第 2 章将深入 角色锚定与上下文筑基——如何写好 System Prompt,让 AI 从一开始就站在正确的位置。
← 返回目录下一章 →