机器文言大词典

大语言模型笔下的新时代文言文:字都认识,连起来却不像人话

这部词典收机器写的中文里的怪词。这些词都读得懂,但说中文的人不会这么说:多数是从英文逐字译过来的;另一些是把两个熟词硬凑在一起。

这类词不容易被发现,原因恰恰是读得懂。读者看到「探针」能猜到是 probe,看到「正本」能猜到是 canonical,于是不会去报错,只会觉得读起来有点怪,然后接着往下读。一个看不懂的词很快就会被人改掉。读得懂的怪词没有这道关,可以在一个仓库里出现几十处,没有人动它。

每个词条都写明这个词实际想说什么、中文里怎么说,再配几个带上下文的例子。词典可以喂给润色模型当判据,也可以转成词表交给 linter 直接报。

判据 看一个词该不该收,只问一句:说中文的人会不会这么说。不问读者看不看得懂:看得懂的怪词多得很,这部词典收的正是这一类。

门槛 只是觉得别扭还不能收,要到真实的中文技术写作里找证据。找证据时问的是中文写到这个意思时怎么写,而不是有没有人这么写过:有人写过的怪词并不少。 先看这个意思在中文里本来有没有词。没有就收,比如中文里的「正本」指原件,从来不指「唯一权威的那份」。 如果本来就有,再问这个用法是不是离了某个英文词就不成立。如果它不依赖任何英文词,那就是中文自己的说法,再怪也不归这部词典管,到此为止。 如果它确实是跟着英文词来的,最后看中文写到这个意思时是不是都用它。如果都用它,它就已经是这个意思的中文名字,不收:「数据库」也是译来的,今天没人再想起 database。 要是中文写作还在按这一处到底指什么各自挑词,或者干脆把英文留着,那它只是那个英文词的一种中文写法,不是这个意思的中文说法。用它等于跳过了挑词这一步,这种要收。 「收下」就属于中文本来就这么说、不依赖任何英文词的那一类,凭直觉收进来就是误伤。 两种错的代价不一样。误收一个好词,读者会按词典把一句正常的中文改掉,改掉之后很难有人再发现。漏收一个怪词,代价只是等下次遇到时再补进来。所以这部词典宁可少收。

àn
按
zhù
住

白暂缓;先不动手

解本意指用手压住某物不放,此处引申为「暂缓推进」。

病通常只表示物理上压住,一般不作此引申。要说暂缓,就说「停一下」「等一等」「先放着」等。

例一
原接下来我按住不动,等真实的单路记录攒够。
改接下来我暂停一下,先攒够真实的单路记录。
例二
原这条先按住,等额度恢复再说。
改先暂时搁置,等额度恢复再说。
cè
测
liáng
量
zhuāng
装
zhì
置

白记录;留痕;埋点

解从 experiment apparatus 一类的词译来,在实验室语境里指一套仪器装置,此处引申为:模型训练、数据科学这类需要跑实验、要验证结论的场景里,在流程中间加的那一层数据采集、记录与留痕的实现。

病「装置」通常只指实物设备,一般不用来说流程里加的那层数据采集,也不用来说采下来的那份记录。要说这件事,看句子挑:说那层实现,用「埋点」「数据采集」;说存下来的那份东西,用「记录」「留痕」等。

例一
原测量装置在跑而且样本是干净的。
改实验在运行和记录中,样本是干净的。
例二
原从现在起每一次润色都会留下三份文本。测量装置装好了。
改从现在起每一次润色都会留下三份文本,日志已经接上了。
cè
测
shì
试
jiā
夹
jù
具

白测试依赖;测试环境;测试数据;测试用例

解testing fixture 的中文直译,此处指测试所依赖的环境、数据等前置准备。

病「夹具」指机床上卡住工件的卡具,与测试无关。「fixture」一直没有广泛认可的中文直译,中文写作通常以此处所具体指代的内容来描述:「测试依赖」「测试环境」「测试数据」「测试用例」等;直接保留英文「fixture」也很常见。「测试夹具」是不看场景、直接拿词典头一行生硬翻译的结果。

例一
原这几个用例共用同一份测试夹具。
改这几个用例共用同一份测试数据。
例二
原这套测试夹具在 CI 上跑不起来。
改这套测试环境在 CI 上跑不起来。
chēng
撑
zhe
着

白依赖;以……为前提

解本意指硬顶住不倒,此处以拟人的手法引申为一个说法、一个用法、一条断言「依赖什么、离了什么就不成立」。

病只说人或活物,一个说法不会撑;这样拟人显得生硬、不自然。要说依赖,就直接说「依赖」「离了它就不成立」等。

例一
原这个结论全靠那一次实测撑着,没有别的证据。
改这个结论只有那一次实测支持,没有别的证据。
例二
原整个方案就靠这一条假设撑着,假设不成立就全塌了。
改整个方案完全依赖这一条假设,假设不成立就全部作废。
dōu
兜
zhù
住

白兜底;覆盖

解「兜」本意指用衣兜、网兜把落下来的东西接住,此处以比喻的手法引申为一道检查、一层机制「覆盖前面遗漏掉的部分」。

病口语里有这个说法,指把落下来的实物接住 (例:兜住掉下来的球)。用它来比喻「覆盖遗漏掉的部分」时,这样的修辞显得生硬、不自然。在许多语境下,有更准确的词来代替,例如「兜底」「覆盖」等;再绕一层比喻就多余了。

例一
原这道检查兜住了前面漏掉的几种情况。
改这道检查覆盖了前面漏掉的几种情况。
例二
原这层重试兜住了偶发的网络抖动。
改这层重试能应付偶发的网络抖动。
fú
扶
zhèng
正

白采纳;更正;转正

解本意指把歪的东西扶直,旧时也指把偏房立为正室,此处引申出三个意思:①采纳一个说法、一个方案 —— 它原本只是候选之一,现在定下来用它;②纠正一个说错了的判断;③把次要的东西提为正式的,如把一条旁证提为正式依据。

病通常只用于把物件扶直,以及人事上的转正,都与一个判断、一个说法无关;把它安到判断、说法上,这样引申显得生硬、不自然。更麻烦的是同一个词覆盖了三个意思,而这三个意思各有现成的词:说「采纳」「就按这个来」;说「更正」「这个判断我改一下」;说「转正」「提为正式依据」等。

例一
原这个方案我扶正了,后面就按它来。
改这个方案我采纳了,后面就按它来。
例二
原昨天那个判断我扶正一下:问题出在配置上,不在代码实现。
改昨天那个判断我更正一下:问题出在配置上,不在代码实现。
例三
原你补的那条证据很重要,我要把它扶正。
改你补的那条证据很重要,我要把它纳入正式依据。
mén
门

白检查;关卡;测试

解gate 的直译,本意指房屋、院落的出入口,此处引申为放行之前必须通过的那道检查,并派生出「质量门」「分发门」「死门」这些说法。

病中文说必须通过的检查,用「检查」「关卡」「测试」等,说要达到的水准用「标准」「门槛」等。把「门」跟别的名词拼成「质量门」这样的组合词,是为了简写而临时造词,通常会使人类读者感到疑惑。

例一
原本地先跑一遍质量门,再开 PR。
改先在本地跑一遍全部测试,再开 PR。
例二
原这是一道死门,不过就发不了版。
改这项检查不过就不能发版。
tàn
探
zhēn
针

白预实验;先跑一小批

解probe 的中文直译,本意指细长的、伸进某处去探的东西,此处引申为「正式实验之前的一次小规模试探」。

病「探针」在中文技术写作里存在一些固定搭配:Kubernetes 的存活、就绪探针,APM 里植入应用采集数据的探针,都算是流行的翻译。但拿它来指正式实验之前的一次小规模试探,并没有这个义项。要说这件事,就说「预实验」「先跑一小批」等。

例一
原正式实验之前,我想先跑一个探针。
改正式实验之前,我想先跑一小批试试。
zhǎng
长
chū
出

白逐步积攒;归纳

解「长」本意指植物、毛发这类活物自己生长,此处引申出两个意思:①一套命名、一套配置、一批需求不是一开始设计好的,而是随着时间逐步积累成今天这样;②一条规则、一个判断不是从原理推导出来的,而是从既有的实例里归纳出来的。

病「长」通常只说活物,一套命名、一条规则不会自己生长;写成生长,是把 grow out of 这个英文修辞直接生搬硬套过来。要说这件事,第一个意思用「逐步积累」「一点一点加上去」,第二个意思用「归纳」「总结」等。

例一
原脚本从一个文件长出了十几个。
改脚本从一个文件逐步增加到了十几个。
例二
原这条规则是从语言习惯里长出来的。
改这条规则是从语言习惯里归纳出来的。
zhèng
正
běn
本

白以……为准;只写在一处;源文件

解本意指与「副本」相对、有法律效力的原件,此处引申出两个意思:①同一个事实以哪一份为准,即英文里的 canonical;②同一个事实只写在一处,别处都是它的引用、软链或生成物,即信息科学中的 single source of truth (SSOT)。

病通常只用于法律文书,把它借来说一份规范、一份配置显得生硬。第一个意思直接说「以……为准」;第二个意思即便确实有副本,软件工程里也只说「源文件」「源」「只写在这里,别处引用」等,不把原来那份叫正本。

例一
原规则语义的正本在 spec/rules.md,这里只记还没做的事。
改规则语义以 spec/rules.md 为准,这里只记还没做的事。
例二
原正本在仓内 .agents/skills/,.claude/skills/ 是指向它的软链。
改源文件在仓内 .agents/skills/,.claude/skills/ 是指向它的软链。