你让模型”讲一下 Postgres 连接池怎么工作”。回来 800 字,受众是……不知道是谁。它定义了什么是”连接”(对你想要的资深工程师太基础),用了”客户端/服务端架构”这类术语却不点 PgBouncer(对评审的 DBA 太泛),跳过了你真正需要的运维调优建议。模型在为一个虚构的”平均读者”写,这个读者不存在,所以谁也不喜欢。受众是承重约束:它校准词汇、深度、示例、语气。没受众时模型选一个折中默认,既浪费基础又浪费深度。
本文讲为什么不写受众必产废稿,以及怎么用一行受众陈述校准其他一切。
常见原因
1. Prompt 只关心主题不关心读者
你写”解释 X”但没说”给谁”。模型默认走”有教育背景但非专家”的虚构读者,那读者并不存在。
如何判断:prompt 有主题没人。
2. 受众靠上下文暗示而非声明
“我们的用户”或”团队”让模型猜是谁。你团队和模型训练集里的”团队”不是同一个。
如何判断:受众被旁敲侧击。
3. 多受众塞同一份
同一段同时服务初级和资深,每段都妥协。输出变成”行话太多的教程”或”基础太多的参考”。
如何判断:多 stakeholder 各自对不同部分不满。
4. 没说”读完做什么”
不说读完之后读者要干什么,模型默认走”全面理解”,太宽。读者目的校准深度。
如何判断:prompt 里没读者的动词。
5. 没给该受众的语气示例
你写了受众但没锚定语气。模型挑的默认语气可能不符合你真实受众的口味。
如何判断:受众对了语气还是歪。
动手前先确认
- 用 5 个词说清真实读者:角色 + 经验 + 当前任务。
- 找出他们已经知道什么(这样可以跳过)。
- 标出读完他们要做什么。
- 找一句他们认为”在自己语气里”的写作。
- 多受众时挑主受众。
需要收集的信息
- 当前 prompt。
- 层级歪的输出。
- 真实受众(角色、级别、上下文)。
- 读完应该能做什么。
- 他们喜欢或不喜欢的过往内容(作锚)。
最短修复路径
Step 1:加一块受众块
## 受众
角色:fintech 资深后端工程师
已知:SQL 熟练,跑过生产 Postgres,调过连接池
不知道:PgBouncer 内部细节
下一步:在 PgBouncer transaction-mode 和 session-mode 之间选
语气:同行对话、不哄、术语默认懂
(后文按此写。)
一块校准词汇、深度、示例、语气。
Step 2:说明跳过什么
不要:
- 解释什么是数据库连接。
- 走 SQL 是什么。
- 用"从基础开始"这种句式。
- 类比 MongoDB。
要:
- 用 Postgres 特定术语(WAL、MVCC、prepared statement)。
- 直接点 PgBouncer 配置参数名。
- 给行级配置建议。
负向约束防止基础悄悄溜回来。
Step 3:校准词汇
匹配读者词汇。专家用行话不定义。非专家首次出现给定义。混合用脚注,专家可略读。
Step 4:用语气样例锚定
语气锚(受众这样写/读):
"高负载下连接池满了。切到 PgBouncer transaction 模式,
p99 降 40%。注意 prepared statement 兼容性。"
按此语气写——直接、具体、无废话。
Step 5:多受众就拆
受众:主 = 资深工程师,副 = 初级工程师
第 1 节(给资深):运维调优、池大小数学
第 2 节(给初级,明确标注):上文用到的术语词汇表
标签让两边都好用,不互相妥协。
Step 6:找真实读者验证
放量前把一个输出发给真实受众里的人。他说”这是给我看的”就算落地。
怎么确认已经修好
- 目标受众里的真实读者读完说”这是给我的”。
- 词汇匹配他们用的。
- 该跳过的基础跳过、该默认的知识默认。
- 读者能执行你声明的下一步,无追问。
- 输出语气和你的锚样本一致。
如果还是没修好
- 受众描述还是太虚——更具体在 角色 + 级别 + 任务。
- 加一段他们喜欢的写作做锚。
- 收窄受众范围——窄受众产出更准。
- 多受众干脆产两份;合并通常比并行更差。
预防建议
- 默认:每个内容生成 prompt 一行写明受众。
- 常见受众保留画像(资深工程师、创始人、设计师等)。
- 审最近 5 个 prompt:多少写了受众。少于 5 个就是你的习惯空缺。
- 团队工作流把受众画像当共享资源建。
- “通用受众”是 smell——通常意味着”我没想清楚是给谁的”。
- 不确定时让模型先提案 3 个受众候选,挑一个。