14 · 语态与人称:让读者读得下去
你有没有这种经历:打开一份文档,第一行就是——
“在本次系统升级过程中,相关的配置项被修改,对应的服务被重启,数据的一致性得到了保障。”
读完这句,你的第一反应是啥?
我猜是:想关掉。
不是内容不好——配置改了、服务重启了、数据一致,这都是正经事。但这句话读起来像讣告,或者像事故报告里推卸责任的措辞。“被修改""被重启""得到了保障”——全程没有一个人,全是被动。你不知道谁干的,也不知道为啥干,只看到一堆事情”发生了”。
再对比一句:
“我们升级了系统:改了配置,重启了服务,数据没乱。”
同样三件事,读起来完全不一样——有人在、有动作、有结果。你甚至能感觉到说话的人就站在你面前。
差别在哪?语态和人称。
这一章讲:同样的信息,用主动还是被动、用”我们/你”还是”本文/该系统”,读者读起来的劲头天差地别。这不是修辞(你说过不追求修辞),这是可读性——读者读得下去,你的内容才算送达。
一、先问对问题:读者在读谁说话?
写技术文档的人,有个根深蒂固的错觉:越客观,越显得专业。
于是疯狂用被动:“被进行了优化""得到了处理""实现了隔离”。好像只要不出现”人”,就显得自己是个没有感情的架构机器,方案就可信了。
但读者读的不是”客观”,是”对话”。你写文档,本质上是在跟一个人说话——可能是未来的你、接手的新人、评审的老板。读者脑子里一直在问:“谁在跟我说这件事?”
被动语态把”谁”抹掉了。抹掉之后,读者找不到对话对象,就进入了”读通知”的状态——通知是不用走心的,扫一眼就过。你的干货,就这么从他脑子边滑走了。
主动语态 + 明确的人称,把”谁”还回来,读者就回到了”听人说话”的状态,注意力在线。
反问你:你写”系统被部署到了生产环境”,和写”我们把系统部署到了生产环境”,你心里对”责任”的感受一样吗?读者对你”靠不靠谱”的感受,会一样吗?
二、原理:主动语态是一种”把动作还给人”的写法
先掰清楚两个概念,免得混。
语态:主动 vs 被动。
- 主动:“我们修复了 bug。“(主语是动作发出者)
- 被动:“bug 被修复了。“(主语是动作承受者,发出者隐身)
人称:第一/二人称 vs 第三人称。
- 第一人称:“我们""我”——说话人在场。
- 第二人称:“你”——直接对读者说话。
- 第三人称:“本文""该系统""笔者”——说话人退到幕后。
两条组合,效果不同:
| 组合 | 例子 | 读者感受 |
|---|---|---|
| 主动 + 我们 | 我们重构了支付模块 | 有人负责,可信 |
| 被动 + 系统 | 支付模块被重构了 | 事出有因,但谁干的? |
| 主动 + 你 | 你先拉分支再改 | 像师傅手把手教 |
| 第三人称 + 本文 | 本文提出了一种方案 | 学术论文腔,距离感强 |
没有绝对的”该用哪个”。但有默认:技术写作(文档、教程、博客)默认用”主动 + 我们/你”,因为你在跟人讲一件事,不是写论文摘要。
三、什么时候用主动,什么时候用被动?
别一刀切说”被动就是错”。被动有它的正经用途,关键是用对地方。
主动语态是默认
绝大多数时候,用主动。它短、清楚、有人。
“我们给订单表加了索引,查询快了十倍。“(主动) 比 “订单表的索引被添加之后,查询速度得到了十倍的提升。“(被动)
短了一半,信息一点没少,还多了”我们”这个责任人。
被动语态的三个正当理由
理由一:动作发出者不重要或未知。
“密码被哈希存储。“——谁哈希的?不重要,重要的是”密码不是明文”。发出者隐身合理。
理由二:你想强调承受者(宾语)。
“线上流量先打到网关,网关再被转发到服务。“——你想让人关注”网关”这个节点,用被动把网关顶到主语位,合理。
理由三:发出者是你自己且想淡化责任(谨慎用)。
事故复盘里写”配置被误删了”比”我误删了配置”柔和——但作为负责人,该认的还是得认。这个用途要克制,别拿被动当甩锅工具。
除了这三种,其余地方用被动,基本都是”客观癖”在作祟,删掉”被”字换成主动,文章立刻活过来。
四、人称的选择:你在对谁说话?
人称选错,读者会”错位”。
“我们”:并肩作战
文档、设计、复盘,默认”我们”。你在说”咱们这个系统、咱们这拨人”。读者如果是团队内部,天然有归属感。
“我们把限流从单机改成了分布式,因为单机在集群下会超卖。”
“我们”暗示:这是集体的决定,你也是其中一员。新人读这种文档,会觉得有人带。
“你”:手把手教
教程、操作指引,用”你”最带劲。你在直接对读者说话,像师傅站在他背后指屏幕。
“你先 clone 仓库,再跑
make test,看到绿色就说明环境 OK 了。”
“你”制造的是现场感——读者觉得你在跟他一对一。这本写作教程,你注意到了吗,通篇大量用”你”。为什么?因为我在跟你对话,不是在写论文。
“本文/该系统/笔者”:距离感
论文、专利、正式报告用。它把说话人藏起来,显得”客观”。但代价是冷。
技术博客、内部文档用”本文”,读者会觉得:“你跟我这么见外?“——除非你真在写需要第三方引用的正式材料,否则别用。
一个判断标准:读者读完,是觉得”有人跟我说话”,还是”收到一份公文”? 前者用我们/你,后者用本文/系统。你想要哪个,自己选。
五、反例对照:同一件事,四种写法
拿”缓存失效导致一次线上故障”这件事,四种写法对比:
写法 A(全被动 + 第三人称):
“在本次故障中,缓存被错误地失效,数据库被击穿,用户的请求被延迟。”
读感:像事故通报,谁的责任?不知道。读者走神。
写法 B(主动 + 我们):
“我们错误地失效了缓存,数据库被击穿,用户请求延迟了。”
读感:有人认账(我们),但”数据库被击穿”还是被动,略飘。整体比 A 好。
写法 C(主动 + 你,教程体):
“如果你把缓存整批失效,数据库会瞬间被所有请求打到,用户请求就延迟了——这就是缓存击穿。”
读感:像师傅讲课,你在学一个知识点。最适合教程/复盘里”讲原理”的部分。
写法 D(混合,最实用):
“我们那次故障,是缓存被整批失效引发的:数据库瞬间被打穿,用户请求全延迟了。根因是我们的失效脚本没灰度。”
读感:责任(我们)+ 机制(被动强调数据库被打穿)+ 根因(我们的脚本)。该主动主动,该被动被动,人称清楚。这是真实复盘里最舒服的写法。
你看,不是”被动全删”,是该主动的地方主动,该被动的地方被动,人称别乱跳。
六、一个常见误区:以为”你”不专业
很多工程师不敢用”你”,觉得”对读者用你,显得不正式、像唠嗑”。
但你想想:你学 Go 的时候,看那些真正讲得清楚的文章,哪篇不是”你这样写会 panic""你注意这个坑”?正是”你”把你拽进现场,你才学得进去。
反过来,通篇”本文""该模块""笔者”的技术文档,你读完啥感觉?——敬而远之,然后关掉。
专业不专业,不看人称,看内容硬不硬。 你用”你”讲清楚了一个别人讲不清的并发陷阱,读者只会觉得你牛,不会觉得你不正式。
当然,有两个场合慎用”你”:
- 向上汇报(给老板的文档),用”我们”更稳妥,别显得在教老板做事。
- 跨团队正式 RFC,用”我们”或中性表述,避免”你”指向某个具体团队显得冒犯。
除此之外,教程、博客、内部分享,放心用”你”。
七、心法:你是在跟一个人说话,不是在读稿
这一章的心法,其实一句话:
写作的本质是对话。你写的时候,眼前要有一个具体的人。
很多注水、很多被动、很多”本文”,根子都是:作者把写作当成了”产出一份材料”,而不是”跟人说话”。一旦你想象”我现在是站在小白面前跟他讲”,你自然就会用”你”、用主动、用短句——因为你不会对一个活人念”在本次升级过程中相关的配置项被修改”。
你会对他说:“来,我给你看个东西。我们那天升级,改了个配置,结果……”
那个人称、那个语态,是说话自带的,不是技巧。写作只是把”说话”落到纸上,别把”人”落掉。
反问你:你写文档的时候,眼前有具体的人吗?是”未来的接手人小张”,还是一团模糊的”读者”?如果你脑子里是后者,你的文字一定冷;把它换成前者,文字立刻就活了。
八、思考题
思考题一: 下面这段全是被动,请改成”主动 + 我们/你”为主的写法,保留必要的被动:
“在优化之后,接口的响应时间被显著降低了,服务的稳定性得到了提升,用户的投诉被减少了。”
思考题二: 什么场景下,你反而会故意用被动?举一个你工作中的真实例子。
思考题三: 本章说”写作是对话”。但如果写的是给监管/甲方的正式报告,你还敢用”你”吗?这时人称怎么选?
九、参考答案
思考题一:
原句三个被动,发出者其实都是”我们(技术团队)“,改主动:
“优化之后,我们把接口响应时间压了下来,服务更稳了,用户投诉也少了。”
或教程体(用”你”讲原理):
“你做这轮优化,接口响应会明显变快,服务更稳,用户投诉跟着降。”
“用户的投诉被减少了”里”被减少”略怪,中文说”投诉少了”更自然。被动只在”响应时间被降低”里——其实也可以主动(“我们降低了响应时间”),所以全改主动最顺。
思考题二(示范):
正式复盘里写”核心配置被误删,导致雪崩”——这里用被动,是因为复盘重点是”配置没了→后果”,而不是”谁删的”(责任人已在别处单独说明)。若写成”小明误删了核心配置”,焦点会被拽到人身上,冲淡了对机制的分析。所以被动用来”让承受者当主角”是合理的。
但注意:对外道歉/对内认责时,该主动认”我们误删了”就主动认,别拿被动躲。
思考题三:
给监管/甲方的正式报告,用”我们”或中性第三人称(“本项目""该系统”),不用”你”——“你”在正式文书里显得轻佻,也容易造成”你在指挥监管方”的错觉。比如写”本项目已通过等保三级测评”,而不是”你看到我们已经通过测评了”。正式场合,专业感来自措辞克制和结构清晰,不来自人称亲近。
十、动手练习
- 找一篇你写过的文档,统计”被”字句和”本文/该系统”的出现次数。挑出 5 处被动,判断它属于”正当理由(发出者未知/强调承受者)“还是”客观癖”,该改的改。
- 把一段”本文提出了……本系统实现了……”开头的文字,改写成”我们做了……你可以用……”的对话体,对比读感。
- 写一段你最熟的”踩坑经历”,要求:用”我们”认责 + 用”你”讲原理 + 该被动处被动。三种人称/语态在一小段里各用一次。
自评标准:
- 改完的文档,被动句只剩”正当理由”那三类 → 语态过关。
- 教程/博客类文字里出现了”你”,且读起来像说话而非公文 → 人称过关。
- 同一篇里人称不跳(不一段”我们”一段”本文”) → 一致过关。
十一、小结
- 语态:主动是默认,被动只在”发出者未知/强调承受者/谨慎淡化”时合理。
- 人称:文档设计用”我们”(并肩),教程指引用”你”(手把手),正式材料用”本文/系统”(距离感)。
- 误区:以为”你”不专业——专业看内容硬度,不看出不出”你”。
- 心法:写作是对话。眼前要有一个具体的人,文字才活。
八、实战加深:语态人称在代码世界里
写作不只在 md 文档里。你每天写的函数命名、commit、PR 描述、报错信息,全是写作,全受语态人称影响。
函数命名 = 主动语态的极致。
好函数名是”动作 + 对象”: ValidateUser()、CloseConn()、FetchOrder()。全是主动——谁做?函数做。读者一看就知道这函数干啥。
烂命名是被动或名词化:UserValidation()(名词,看不出是”验证”还是”验证结果”)、ConnectionHandler(handler 太泛,处理啥?)。命名用主动动词,和正文用主动语态,是同一件事。
报错信息 = 主动 + 具体。
烂报错:"error occurred"(被动,零信息)、"invalid input"(谁的输入?哪个字段?)。
好报错:"order.Create: user_id is empty"(主动说明动作 + 具体字段 + 具体错因)。读者看到,不用翻代码就知道哪错了。报错信息是给”未来的求救者”看的,用主动 + 具体,他少熬一夜。
PR 描述 = 对 reviewer 用”你”。
好 PR 描述:“你 review 时重点看 pool.go 的 Acquire,我把等待超时从无限改成 3 秒,避免 goroutine 泄漏。“——直接对 reviewer 说”你看这”。reviewer 立刻知道重点,review 快一倍。
烂 PR:“本次修改了连接池相关逻辑。“——reviewer 得自己找重点,累。
你看,语态人称不是”作文课”,是你每天敲的代码里的真功夫。把正文那套(主动、具体、对读者说话)搬到代码周边文字,你的代码就”会说话”了。
九、对外 vs 对内的称谓切换
实际工作里,你要切换两套管法:
- 对内(团队文档、PR、注释):用”我们”+“你”。并肩 + 手把手。读者是同事/未来的你,亲近效率高。
- 对外(客户文档、开放 API 说明、给监管的报告):用”本系统/本文”或”我们”(谨慎)。距离感换专业感。别用”你”指挥客户。
切换标准就一句:读者和你的关系越近,越用”我们/你”;越远,越用中性第三人称。 别一套管法用到底——对客户用”你”显得轻佻,对同事用”本文”显得见外。
十、附:语态在英文写作里同样优先
你若以后把教程译成英文(或本来就用英文写),这条纪律直接迁移:英文技术写作同样优先 active voice。英文里被动语态更常见(学术体惯用 “it was found that”),但技术教程/文档里,主动照样更清楚:
被动:“The connection pool was exhausted and requests were dropped.” 主动:“The pool exhausted, so we dropped requests.”
英文主动句更短、主语明确,和中文同理。所以”主动优先”不是中文特例,是语言无关的清晰原则——这正好印证第十七章”可移植性”:你把语态讲对了,译文也立得住。
更多对照(中英一致):
| 差写法(被动/客观癖) | 好写法(主动+人称) |
|---|---|
| The timeout was set to 3s | We set the timeout to 3s |
| It can be seen that… | You can see that… |
| Errors should be handled properly | Handle errors; don’t swallow them |
无论中英文,“we/you + 主动动词”都比”it was / 应当被”清楚。你学好中文的语态,英文教程也顺带对了。
十一、动手加练
挑一段你最近写的英文技术文档(或把中文段翻成英文),做语态体检:被动句里,哪些属于”正当理由”(发出者未知/强调承受者),哪些属于”客观癖”?把客观癖的改成主动。对比英文读者体感——你会发现和中文读者一样:主动句读着”有人负责”,被动句读着”事出有因但谁干的”。
主动与被动:什么时候用哪个(实战加深)
语态不是”主动永远好”。它取决于”谁该是句子的主语”——也就是你想让读者盯着谁。
| 你想让读者聚焦 | 用 | 例子 |
|---|---|---|
| 动作的执行者 | 主动 | ”我们引入队列,解耦了订单与库存。“ |
| 动作的承受者/结果 | 被动 | ”库存超卖的问题被解决了。“ |
| 客观事实、弱化主语 | 被动 | ”该接口已弃用,请勿调用。” |
口诀:默认主动,需要凸显”结果”或”客观”时用被动。技术文档里”请勿调用""已弃用""已修复”这类被动句很常见,因为它们要的是”事”,不是”谁干的”。
实战:把这句改成聚焦”我们”的主动版——“Bug 被修复了,性能问题被解决了。” → “我们修复了 Bug,解决了性能问题。” 读感立刻从”事发生了”变成”我们做了”,责任感清晰。
第二人称”你”的妙用:教程类文字多用”你”。“你会遇到""你打开终端”——把读者拉进场景,比”用户会遇到”亲切得多。本教程全程用”你”,就是这道理。但正式报告(给领导/客户)慎用”你”,用”我们”或客观主语更稳——“你”在正式场合显得指手画脚。
人称选择的三个层次:
- 用”我/我们”:表达立场、担责任(方案、复盘)。
- 用”你”:拉读者进场景(教程、钩子)。
- 用”他/它/客观主语”:陈述事实、去立场(新闻、说明书)。
选错人称,读者会莫名其妙——比如给领导写方案全程用”你”(“你应该…”),领导会觉得你在教他做事。人称是隐形的权力关系,别乱用。
人称与读者距离(实战加深)
人称不只决定”谁做事”,还决定”你和读者隔多远”。
- “我们”:拉近距离,表立场。方案、复盘、团队协作文用。读者觉得”你和我一伙”。
- “你”:最近距离,把读者拽进场景。教程、钩子用。读者觉得”你在跟我说话”。
- “他/它/客观主语”:最远距离,去立场。说明书、新闻用。读者觉得”我在旁观事实”。
实战:同一句”系统崩了”,三种人称三种感觉——
- “我们的系统崩了”(担责,团队文)。
- “你的系统崩了”(指责,客户投诉文,慎用)。
- “该系统于 03:14 不可用”(客观,事故报告)。
选错距离,读者会错位:事故报告用”你”,像在怪客户;教程用”他”,像在讲别人的事。人称是隐形关系,下笔前定一下。
心法卡:
主动是默认,被动是例外。
你在对谁说话?定好人称再下笔。
写作不是产材料,是跟人说话。
眼前有个具体的人,文字就活了。
下一章讲标点——你大概没想到,逗号、句号、破折号,决定了读者在你文字里的”呼吸”和”速度”。