Penpot 的 OpenCode /ste 技能:ASD-STE100 词汇替换表与单义裁决全解
本文以 Penpot 仓库中 OpenCode 技能 ste(ASD-STE100 简化技术英语写作)所附带的参考文件 word-substitutions.md 为主体,完整呈现其 36 组“禁用词 → 批准词”映射、13 条“一词一义、一词一职”的规范裁决(canonical rulings)以及 5 类高频问题功能词的改写规则,并结合同技能的 SKILL.md 工作流与 examples.md 的改写示例,说明这份“工作词典”在起草前替换、写后自检两个环节中的具体调用方式。读完后你可以直接用它作为技术英语文本的词汇审查清单,并理解每条裁决背后的设计动机。
文档定位:一份“工作近似”,不是官方字典
这份参考文件开篇即声明了它的性质:内容汇编自公开二手来源(STEMG/ASD 公开页面、TechScribe、Acrolinx 及培训材料),是“一份工作近似(working approximation),不是官方 ASD 字典”。它同时给出一条兜底策略——当一个词没有列在表中、但读起来偏正式或带有拉丁语源色彩时,优先选择最短、最常用的替代表达。这条原则实际上就是整张替换表的内在逻辑:拉丁化、正式化的词(utilize、commence、terminate、facilitate……)被系统性替换为日常英语中最短的对应词。
在技能层面,该词典的地位由 SKILL.md 的 “Words” 规则明确:起草前必须替换未批准的词汇,“阅读 references/word-substitutions.md 并应用它;它是本技能的工作词典”。此外,写后自检(Step 2 Self-check pass)的第 8 项就是扫描“references/word-substitutions.md 禁用列中的任何词”,第 3 项扫描 should/would/could/may/might,第 7 项扫描同物异名的同义词轮换(见 自检清单原文)。也就是说,这份文件不只是查阅资料,而是技能工作流中两次强制检查的依据。
需要说明使用范围:根据 SKILL.md 的前置元数据,ste 技能只在用户显式调用时(输入 /ste 或明确写出“use the ste skill / apply ASD-STE100”)才生效,不会在“帮我简化一下”这类隐含意图时触发。而 SKILL.md 同时划定了词典的适用边界:代码块、命令字符串、文件路径、错误信息、被引用的界面文案与专有名词保持原样,STE 只约束围绕它们的行文。
Unapproved → approved 完整替换表(36 组)
以下是 word-substitutions.md 中 “Unapproved → approved” 一节的完整继承,左列禁用,右列为批准替代表达。括号内容是原表自带的语义限定,务必保留——它们把替换范围精确到了特定用法。
| Do not use | Use instead |
|---|---|
| utilize, leverage, employ | use |
| commence, initiate, begin, originate | start |
| terminate, cease, conclude | stop, end |
| ensure, verify, confirm, validate, check | make sure (that), examine |
| perform, conduct, execute, carry out | do |
| facilitate, assist | help |
| obtain, acquire, procure | get |
| sufficient, adequate | enough |
| approximately | about |
| prior to | before |
| subsequent to, following (prep.) | after |
| adjacent to | near |
| accomplish | do |
| additional, supplementary | more |
| attempt | try |
| require, necessitate | need, must |
| mandatory | necessary |
| indicate, signify | show |
| observe (=watch) | look at, examine |
| rotate | turn |
| deactivate | turn off, set to off |
| activate, energize (unless technical verb) | turn on, start |
| toxic | poisonous |
| in order to | to |
| via, by means of | through, with |
| due to, owing to | because of |
| in the event of/that | if |
| accessible | (rewrite: "you can get access to") |
| remainder | rest |
| demonstrate | show |
| modify, alter | change |
| construct, fabricate, build | assemble, make |
| retain | keep |
| locate (=find) | find |
| depress (a button) | push, press |
| proceed | continue, go |
从表的结构可以看出三类替换动机:
- 拉丁化动词日常化:utilize→use、commence→start、terminate→stop/end、obtain→get、demonstrate→show、modify→change、retain→keep、locate→find、proceed→continue/go。这类词语义与替代表达完全等价,替换只改变语域,不改变信息。
- 冗短语缩短:in order to→to、via/by means of→through/with、due to/owing to→because of、in the event of/that→if、prior to→before。右列往往给出多个可接受形式(stop, end;push, press),但一旦选定,全文必须一致——这与 SKILL.md 的“Never rotate synonyms: pick one name for a thing and repeat it”规则直接对应。
- 需要改写而非直接换词的情况:accessible 右列是“(rewrite: 'you can get access to')”,即不允许单点换词,必须把形容词短语改写为可感知的动作句式;depress 仅限定“按按钮”这一用法(depress 作“使沮丧”等义时本就不该出现在技术文档里);activate/energize 标注了“unless technical verb”的例外,说明领域技术动词可以保留(见下文“领域词豁免”)。
13 条单义裁决(One meaning, one part of speech)
替换表解决“换个词”的问题,而 canonical rulings 一节 解决更根本的问题:同一个词在整个语料中只能有一个意义、一个词性。这一节的 13 条裁决逐一如下,括号内为原表给出的示例或限定。
- close — 仅作动词:移动到能阻断流动的位置,或操作断路器。形容词用法未获批准 → 用 near(示例:"do not go near the propeller")。
- test — 仅作名词:"do a test",永远不写 "test the system"。
- check — 不作验证义动词 → 用 "make sure that" 或 "examine"。
- follow — 只表示“在……之后”。表示遵守规则、步骤时用 obey(示例:"Obey the safety instructions.")。
- fall — 只表示“受重力向下移动”。表示数量变化用 decrease。绝不用于“秋季”。
- oil — 仅作名词。"Oil the bearing" → "Put oil on the bearing" / "Lubricate the bearing"。
- right — 只表方向,永不表“正确”。
- clear — 只表“无阻挡”。"Wheels are clear of the ground" → "wheels do not touch the ground"。
- help — 仅作动词;名词义位用 aid("with the aid of a mirror")。
- above / below — 只表物理位置。数量比较用 more than / less than。
- about — 两个批准义项:“大约”与“关于某主题”。原表特别标注 Use carefully,因为它是少数被保留双义的词,需在文中保持语义可判定。
- turn — 旋转的通用动词;"turn on / turn off" 表示电源状态是标准用法。这条裁决与替换表中 rotate→turn、deactivate→turn off 形成闭环:全表的“旋转/开关”词汇最终都收敛到 turn 一个词上。
- level — 作为名词和形容词均获批准,是单义规则下有记录的例外(documented exception)。
这些裁决的共同设计动机可以从 SKILL.md 的总纲读出:“One word, one meaning, one part of speech, used consistently.” 例如 clear 的形容词义(clear of the ground)、right 的“正确”义、test 的动词义,都是英语中自然的用法,但会在多语翻译和歧义检测中引入第二个意义,因此被整体禁用而非逐句判断。
高频问题功能词(Frequent-offender function words)
功能词一节 处理的是 5 类“不指向具体词汇表、却高频违规”的句式问题:
- should / would / could / may / might — 一律禁用。 映射关系为:要求(requirement)→ must;可能性(possibility)→ can;将来(future)→ will。这与 SKILL.md 的模态动词规则一致:“A hedge becomes a fact or a 'can': 'an explosion can occur.'”——模糊表态要么升格为事实陈述,要么降格为 can 引导的可能性。
- etc. — 删除,或把完整列表写出来。 不完整的列举在操作步骤中会造成歧义(读者无法知道省略的部分是否也要执行)。
- e.g. / i.e. — 分别替换为 "for example" / "that is"。 对应 SKILL.md 的“No Latin abbreviations”规则。
- any / appropriate / applicable / relevant 作为模糊限定语(hedges)— 用你实际所指的具体事物替换。
- there is / there are 开头句 — 用真实主语改写。 原表示例:"There are three bolts on the panel" → "The panel has three bolts." 这条规则在 examples.md 的常见错误清单中被再次列为检查项。
工作流整合:从文本分类到写后自检
单独一张表不能直接使用,它依赖技能定义的前后两个环节。
环节一:起草前分类与替换。 SKILL.md 的 Step 0 要求先判定文本类型——程序性文本(procedural,被人逐步执行的指令)还是描述性文本(descriptive,解释与背景),混合文档按章节分别判定;句子长度限制随之不同(程序性每句最多 20 词,描述性最多 25 词,每段最多 6 句)。词典替换本身不区分类型,但“替换后是否满足字数上限”依赖分类结果:例如 in order to→to 这类缩短型替换,恰好帮助逼近 20/25 词上限。
环节二:写后自检。 Self-check pass 要求在回复前逐项扫描 9 类问题并全部修复,其中与本文词典直接相关的是第 3 项(五个禁用的情态动词)、第 7 项(同义词轮换:同一对象出现两个名字)和第 8 项(替换表禁用列中的任何词)。
环节三:示例验证。 examples.md 的 “Vocabulary and phrasing” 改写对,恰好逐条演示了本文替换表与裁决的落点:
| Before | After | 命中的规则 |
|---|---|---|
| Utilize approximately 3 liters of water. | Use about 3 liters of water. | utilize→use;approximately→about |
| Rotate the cover until the jacks are accessible. | Turn the cover until you can get access to the jacks. | rotate→turn;accessible→按原表改写为 "you can get access to" |
| Extend the jack until the wheels are clear of the ground. | Extend the jack until the wheels do not touch the ground. | clear 单义裁决:改写为“不接触” |
| Make sure that these steps are followed. | Obey these steps. | follow 单义裁决:规则/步骤用 obey |
| Perform a compression of the log files prior to upload. | Compress the log files before you upload them. | prior to→before;perform 的名词化动作改为动词("Express actions as verbs, not nouns",见 SKILL.md) |
| Ensure file exists before running. | Make sure that the file exists before you run the command. | ensure→make sure (that);同时补齐冠词——SKILL.md 明确“Ensure file exists”是错误写法,不得为省词而省略冠词、主语、动词 |
领域词豁免与合规边界
领域词豁免。 替换表不覆盖“技术名词/技术动词”:零件名、工具名、产品名、UI 标签等专有名词,以及 drill、ream、boot、compile 这类领域动词,SKILL.md 要求“保持原样、各用其一致的名字”,且不得把名词动词化、把动词名词化。这解释了替换表为什么对 activate/energize 标注“unless technical verb”——是否豁免取决于该词在你的领域里是否是既定技术动词。
合规边界。 SKILL.md 的合规说明指出:官方 ASD-STE100 规范及其字典受 ASD 版权保护,本技能编码的是“转述规则 + 公开来源词表”;用于认证级航空航天/国防交付物时,完整合规需要官方规范文本与人工签核(human sign-off),且不得声称“已认证合规”。因此本文所述的替换表与裁决应理解为工程实践层面的工作近似,可直接用于普通技术文档的词汇审查,但不能替代官方字典的合规判定。此外 SKILL.md 要求使用美式英语拼写,应用替换表时也应保持拼写一致。
落地清单
把上述内容压缩为一份可执行的审查顺序(顺序与 Self-check pass 对齐):
- 判定段落类型(procedural / descriptive),确认 20/25 词上限;
- 扫描五个情态动词 should/would/could/may/might,按 must / can / will 归类替换;
- 对照 36 组替换表清除禁用词,注意 accessible、depress、activate 等带语义限定的行;
- 核对 13 条单义裁决(close、test、check、follow、fall、oil、right、clear、help、above/below、about、turn、level)的词性与意义是否越界;
- 删除 etc.、展开 e.g./i.e.、把 any/appropriate/applicable/relevant 换成具体对象、把 there is/are 开头句改为真实主语;
- 检查冠词缺失、同义词轮换、警告句“风险先于指令”的倒序(WARNING/CAUTION 必须先给指令或条件,再给风险,见 SKILL.md);
- 最后确认代码块、路径、命令、报错原文与专有名词未被改动。
这套“36 组替换 + 13 条裁决 + 5 类功能词 + 7 步自检”的组合,就是 Penpot 仓库 ste 技能所采用的 ASD-STE100 工作词典的完整面貌:它把“简化技术英语”从一句口号落成了逐词可查、逐项可扫、可用 examples.md 逐例复核的机械流程。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0623
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00