14 · 语态与人称:让读者读得下去


你有没有这种经历:打开一份文档,第一行就是——

“在本次系统升级过程中,相关的配置项被修改,对应的服务被重启,数据的一致性得到了保障。”

读完这句,你的第一反应是啥?

我猜是:想关掉。

不是内容不好——配置改了、服务重启了、数据一致,这都是正经事。但这句话读起来像讣告,或者像事故报告里推卸责任的措辞。“被修改""被重启""得到了保障”——全程没有一个人,全是被动。你不知道谁干的,也不知道为啥干,只看到一堆事情”发生了”。

再对比一句:

“我们升级了系统:改了配置,重启了服务,数据没乱。”

同样三件事,读起来完全不一样——有人在、有动作、有结果。你甚至能感觉到说话的人就站在你面前。

差别在哪?语态和人称。

这一章讲:同样的信息,用主动还是被动、用”我们/你”还是”本文/该系统”,读者读起来的劲头天差地别。这不是修辞(你说过不追求修辞),这是可读性——读者读得下去,你的内容才算送达。


一、先问对问题:读者在读谁说话?

写技术文档的人,有个根深蒂固的错觉:越客观,越显得专业。

于是疯狂用被动:“被进行了优化""得到了处理""实现了隔离”。好像只要不出现”人”,就显得自己是个没有感情的架构机器,方案就可信了。

但读者读的不是”客观”,是”对话”。你写文档,本质上是在跟一个人说话——可能是未来的你、接手的新人、评审的老板。读者脑子里一直在问:“谁在跟我说这件事?”

被动语态把”谁”抹掉了。抹掉之后,读者找不到对话对象,就进入了”读通知”的状态——通知是不用走心的,扫一眼就过。你的干货,就这么从他脑子边滑走了。

主动语态 + 明确的人称,把”谁”还回来,读者就回到了”听人说话”的状态,注意力在线。

反问你:你写”系统被部署到了生产环境”,和写”我们把系统部署到了生产环境”,你心里对”责任”的感受一样吗?读者对你”靠不靠谱”的感受,会一样吗?


二、原理:主动语态是一种”把动作还给人”的写法

先掰清楚两个概念,免得混。

语态:主动 vs 被动。

  • 主动:“我们修复了 bug。“(主语是动作发出者)
  • 被动:“bug 被修复了。“(主语是动作承受者,发出者隐身)

人称:第一/二人称 vs 第三人称。

  • 第一人称:“我们""我”——说话人在场。
  • 第二人称:“你”——直接对读者说话。
  • 第三人称:“本文""该系统""笔者”——说话人退到幕后。

两条组合,效果不同:

组合例子读者感受
主动 + 我们我们重构了支付模块有人负责,可信
被动 + 系统支付模块被重构了事出有因,但谁干的?
主动 + 你你先拉分支再改像师傅手把手教
第三人称 + 本文本文提出了一种方案学术论文腔,距离感强

没有绝对的”该用哪个”。但有默认:技术写作(文档、教程、博客)默认用”主动 + 我们/你”,因为你在跟人讲一件事,不是写论文摘要。


三、什么时候用主动,什么时候用被动?

别一刀切说”被动就是错”。被动有它的正经用途,关键是用对地方。

主动语态是默认

绝大多数时候,用主动。它短、清楚、有人。

“我们给订单表加了索引,查询快了十倍。“(主动) 比 “订单表的索引被添加之后,查询速度得到了十倍的提升。“(被动)

短了一半,信息一点没少,还多了”我们”这个责任人。

被动语态的三个正当理由

理由一:动作发出者不重要或未知。

“密码被哈希存储。“——谁哈希的?不重要,重要的是”密码不是明文”。发出者隐身合理。

理由二:你想强调承受者(宾语)。

“线上流量先打到网关,网关再被转发到服务。“——你想让人关注”网关”这个节点,用被动把网关顶到主语位,合理。

理由三:发出者是你自己且想淡化责任(谨慎用)。

事故复盘里写”配置被误删了”比”我误删了配置”柔和——但作为负责人,该认的还是得认。这个用途要克制,别拿被动当甩锅工具。

除了这三种,其余地方用被动,基本都是”客观癖”在作祟,删掉”被”字换成主动,文章立刻活过来。


四、人称的选择:你在对谁说话?

人称选错,读者会”错位”。

“我们”:并肩作战

文档、设计、复盘,默认”我们”。你在说”咱们这个系统、咱们这拨人”。读者如果是团队内部,天然有归属感。

“我们把限流从单机改成了分布式,因为单机在集群下会超卖。”

“我们”暗示:这是集体的决定,你也是其中一员。新人读这种文档,会觉得有人带。

“你”:手把手教

教程、操作指引,用”你”最带劲。你在直接对读者说话,像师傅站在他背后指屏幕。

“你先 clone 仓库,再跑 make test,看到绿色就说明环境 OK 了。”

“你”制造的是现场感——读者觉得你在跟他一对一。这本写作教程,你注意到了吗,通篇大量用”你”。为什么?因为我在跟你对话,不是在写论文。

“本文/该系统/笔者”:距离感

论文、专利、正式报告用。它把说话人藏起来,显得”客观”。但代价是冷。

技术博客、内部文档用”本文”,读者会觉得:“你跟我这么见外?“——除非你真在写需要第三方引用的正式材料,否则别用。

一个判断标准:读者读完,是觉得”有人跟我说话”,还是”收到一份公文”? 前者用我们/你,后者用本文/系统。你想要哪个,自己选。


五、反例对照:同一件事,四种写法

拿”缓存失效导致一次线上故障”这件事,四种写法对比:

写法 A(全被动 + 第三人称):

“在本次故障中,缓存被错误地失效,数据库被击穿,用户的请求被延迟。”

读感:像事故通报,谁的责任?不知道。读者走神。

写法 B(主动 + 我们):

“我们错误地失效了缓存,数据库被击穿,用户请求延迟了。”

读感:有人认账(我们),但”数据库被击穿”还是被动,略飘。整体比 A 好。

写法 C(主动 + 你,教程体):

“如果你把缓存整批失效,数据库会瞬间被所有请求打到,用户请求就延迟了——这就是缓存击穿。”

读感:像师傅讲课,你在学一个知识点。最适合教程/复盘里”讲原理”的部分。

写法 D(混合,最实用):

“我们那次故障,是缓存被整批失效引发的:数据库瞬间被打穿,用户请求全延迟了。根因是我们的失效脚本没灰度。”

读感:责任(我们)+ 机制(被动强调数据库被打穿)+ 根因(我们的脚本)。该主动主动,该被动被动,人称清楚。这是真实复盘里最舒服的写法。

你看,不是”被动全删”,是该主动的地方主动,该被动的地方被动,人称别乱跳。


六、一个常见误区:以为”你”不专业

很多工程师不敢用”你”,觉得”对读者用你,显得不正式、像唠嗑”。

但你想想:你学 Go 的时候,看那些真正讲得清楚的文章,哪篇不是”你这样写会 panic""你注意这个坑”?正是”你”把你拽进现场,你才学得进去。

反过来,通篇”本文""该模块""笔者”的技术文档,你读完啥感觉?——敬而远之,然后关掉。

专业不专业,不看人称,看内容硬不硬。 你用”你”讲清楚了一个别人讲不清的并发陷阱,读者只会觉得你牛,不会觉得你不正式。

当然,有两个场合慎用”你”:

  • 向上汇报(给老板的文档),用”我们”更稳妥,别显得在教老板做事。
  • 跨团队正式 RFC,用”我们”或中性表述,避免”你”指向某个具体团队显得冒犯。

除此之外,教程、博客、内部分享,放心用”你”。


七、心法:你是在跟一个人说话,不是在读稿

这一章的心法,其实一句话:

写作的本质是对话。你写的时候,眼前要有一个具体的人。

很多注水、很多被动、很多”本文”,根子都是:作者把写作当成了”产出一份材料”,而不是”跟人说话”。一旦你想象”我现在是站在小白面前跟他讲”,你自然就会用”你”、用主动、用短句——因为你不会对一个活人念”在本次升级过程中相关的配置项被修改”。

你会对他说:“来,我给你看个东西。我们那天升级,改了个配置,结果……”

那个人称、那个语态,是说话自带的,不是技巧。写作只是把”说话”落到纸上,别把”人”落掉。

反问你:你写文档的时候,眼前有具体的人吗?是”未来的接手人小张”,还是一团模糊的”读者”?如果你脑子里是后者,你的文字一定冷;把它换成前者,文字立刻就活了。


八、思考题

思考题一: 下面这段全是被动,请改成”主动 + 我们/你”为主的写法,保留必要的被动:

“在优化之后,接口的响应时间被显著降低了,服务的稳定性得到了提升,用户的投诉被减少了。”

思考题二: 什么场景下,你反而会故意用被动?举一个你工作中的真实例子。

思考题三: 本章说”写作是对话”。但如果写的是给监管/甲方的正式报告,你还敢用”你”吗?这时人称怎么选?


九、参考答案

思考题一:

原句三个被动,发出者其实都是”我们(技术团队)“,改主动:

“优化之后,我们把接口响应时间压了下来,服务更稳了,用户投诉也少了。”

或教程体(用”你”讲原理):

“你做这轮优化,接口响应会明显变快,服务更稳,用户投诉跟着降。”

“用户的投诉被减少了”里”被减少”略怪,中文说”投诉少了”更自然。被动只在”响应时间被降低”里——其实也可以主动(“我们降低了响应时间”),所以全改主动最顺。

思考题二(示范):

正式复盘里写”核心配置被误删,导致雪崩”——这里用被动,是因为复盘重点是”配置没了→后果”,而不是”谁删的”(责任人已在别处单独说明)。若写成”小明误删了核心配置”,焦点会被拽到人身上,冲淡了对机制的分析。所以被动用来”让承受者当主角”是合理的。

但注意:对外道歉/对内认责时,该主动认”我们误删了”就主动认,别拿被动躲。

思考题三:

给监管/甲方的正式报告,用”我们”或中性第三人称(“本项目""该系统”),不用”你”——“你”在正式文书里显得轻佻,也容易造成”你在指挥监管方”的错觉。比如写”本项目已通过等保三级测评”,而不是”你看到我们已经通过测评了”。正式场合,专业感来自措辞克制和结构清晰,不来自人称亲近。


十、动手练习

  1. 找一篇你写过的文档,统计”被”字句和”本文/该系统”的出现次数。挑出 5 处被动,判断它属于”正当理由(发出者未知/强调承受者)“还是”客观癖”,该改的改。
  2. 把一段”本文提出了……本系统实现了……”开头的文字,改写成”我们做了……你可以用……”的对话体,对比读感。
  3. 写一段你最熟的”踩坑经历”,要求:用”我们”认责 + 用”你”讲原理 + 该被动处被动。三种人称/语态在一小段里各用一次。

自评标准:

  • 改完的文档,被动句只剩”正当理由”那三类 → 语态过关。
  • 教程/博客类文字里出现了”你”,且读起来像说话而非公文 → 人称过关。
  • 同一篇里人称不跳(不一段”我们”一段”本文”) → 一致过关。

十一、小结

  • 语态:主动是默认,被动只在”发出者未知/强调承受者/谨慎淡化”时合理。
  • 人称:文档设计用”我们”(并肩),教程指引用”你”(手把手),正式材料用”本文/系统”(距离感)。
  • 误区:以为”你”不专业——专业看内容硬度,不看出不出”你”。
  • 心法:写作是对话。眼前要有一个具体的人,文字才活。

八、实战加深:语态人称在代码世界里

写作不只在 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 3sWe set the timeout to 3s
It can be seen that…You can see that…
Errors should be handled properlyHandle errors; don’t swallow them

无论中英文,“we/you + 主动动词”都比”it was / 应当被”清楚。你学好中文的语态,英文教程也顺带对了。


十一、动手加练

挑一段你最近写的英文技术文档(或把中文段翻成英文),做语态体检:被动句里,哪些属于”正当理由”(发出者未知/强调承受者),哪些属于”客观癖”?把客观癖的改成主动。对比英文读者体感——你会发现和中文读者一样:主动句读着”有人负责”,被动句读着”事出有因但谁干的”。


主动与被动:什么时候用哪个(实战加深)

语态不是”主动永远好”。它取决于”谁该是句子的主语”——也就是你想让读者盯着谁。

你想让读者聚焦用例子
动作的执行者主动”我们引入队列,解耦了订单与库存。“
动作的承受者/结果被动”库存超卖的问题被解决了。“
客观事实、弱化主语被动”该接口已弃用,请勿调用。”

口诀:默认主动,需要凸显”结果”或”客观”时用被动。技术文档里”请勿调用""已弃用""已修复”这类被动句很常见,因为它们要的是”事”,不是”谁干的”。

实战:把这句改成聚焦”我们”的主动版——“Bug 被修复了,性能问题被解决了。” → “我们修复了 Bug,解决了性能问题。” 读感立刻从”事发生了”变成”我们做了”,责任感清晰。

第二人称”你”的妙用:教程类文字多用”你”。“你会遇到""你打开终端”——把读者拉进场景,比”用户会遇到”亲切得多。本教程全程用”你”,就是这道理。但正式报告(给领导/客户)慎用”你”,用”我们”或客观主语更稳——“你”在正式场合显得指手画脚。

人称选择的三个层次:

  • 用”我/我们”:表达立场、担责任(方案、复盘)。
  • 用”你”:拉读者进场景(教程、钩子)。
  • 用”他/它/客观主语”:陈述事实、去立场(新闻、说明书)。

选错人称,读者会莫名其妙——比如给领导写方案全程用”你”(“你应该…”),领导会觉得你在教他做事。人称是隐形的权力关系,别乱用。

人称与读者距离(实战加深)

人称不只决定”谁做事”,还决定”你和读者隔多远”。

  • “我们”:拉近距离,表立场。方案、复盘、团队协作文用。读者觉得”你和我一伙”。
  • “你”:最近距离,把读者拽进场景。教程、钩子用。读者觉得”你在跟我说话”。
  • “他/它/客观主语”:最远距离,去立场。说明书、新闻用。读者觉得”我在旁观事实”。

实战:同一句”系统崩了”,三种人称三种感觉——

  • “我们的系统崩了”(担责,团队文)。
  • “你的系统崩了”(指责,客户投诉文,慎用)。
  • “该系统于 03:14 不可用”(客观,事故报告)。

选错距离,读者会错位:事故报告用”你”,像在怪客户;教程用”他”,像在讲别人的事。人称是隐形关系,下笔前定一下。

心法卡:

主动是默认,被动是例外。
你在对谁说话?定好人称再下笔。
写作不是产材料,是跟人说话。
眼前有个具体的人,文字就活了。

下一章讲标点——你大概没想到,逗号、句号、破折号,决定了读者在你文字里的”呼吸”和”速度”。