强制LLM采用简化技术英语的Agent技能
一款让大语言模型(LLM)遵循ASD-STE100简化技术英语撰写文档的Agent技能:
这套受控语言自1983年起便用于航空航天领域,确保疲惫的机械师绝不会误解操作指令。
顺带终结AI生成的冗余废话。💀
查看演示 · 安装技能 · 规则详情 · 不止于文档 · 效果实例 · 常见问题
兼容所有支持Agent Skills标准的工具:Claude Code、Cursor、VS Code Copilot、OpenAI Codex、Gemini CLI、Goose、OpenCode等,共计约25款工具。仅需一个文件夹,无额外依赖,采用MIT开源协议。
左栏为未编辑的Claude原生输出,右栏为加载本技能后的同模型输出。
| 🤖 未加载技能 | |
|---|---|
┌── 测试范围:6款Claude模型 × 8项任务 × 2种场景,共96次生成 ──┐
│ 每百字STE违规率▼ 72.9%(所有模型均达标) │
│ 所有6款模型的输出token数均有所减少 │
│ 平均句长从11.2词缩短至9.7词 │
│ "seamlessly(无缝地)"这类冗余词彻底消失 │
└─────────────────────────────────────────────────────────────────┘
更多改写案例见examples/before-after.md:含README、错误提示、事故报告、版本说明等。
npx skills add AminBlg/SimpleEnglish
就是这么简单。skills命令行工具会自动检测你使用的AI工具(Claude Code、Cursor、Codex、Copilot、Gemini CLI等),并为你选中的工具完成安装。可先试用再安装:
npx skills use AminBlg/SimpleEnglish@simple-english
完全不支持SKILL.md?可将prompts/system-prompt.md中的内容粘贴至系统提示词、AGENTS.md或.cursorrules文件中。我们还提供了约60token的精简版,适配token预算紧张的场景。之后只需提出技术写作需求,或直接说:"用简化技术英语改写这段内容"。
Claude.ai(付费版)原生支持技能功能:
- 下载技能文件:打开SKILL.md并保存(Ctrl+S / Cmd+S)。
- 在claude.ai中进入设置→功能,开启代码执行权限。
- 进入设置→自定义→技能→上传,上传保存好的
SKILL.md文件。 - 开启该技能即可。此后只要你要求撰写技术文档,Claude就会自动应用这套规则。
ChatGPT:无技能支持,需使用提示词版本。将prompts/system-prompt.md中的内容复制到 设置→个性化→自定义指令,或项目/自定义GPT的指令中。
Gemini:创建Gem应用,将上述提示词内容粘贴至其指令中。
其他聊天机器人:将prompts/system-prompt.md内容粘贴到对话窗口,告知对方"此后所有为我撰写的内容都需遵循此规则"。
这套标准包含9大类、53条编号规则,由航空航天领域专家于1983年制定——毕竟一旦指令表述模糊,读者可能付出生命代价。核心规则及约束效果如下:
| 规则 | 杜绝的问题 🪦 |
|---|---|
| 操作指令句最多20词,描述句最多25词 | 冗长的流水句 |
| 全文统一术语含义,一词一义 | "检查/验证/确认/核准"随意混用 |
| 仅使用一般时态 | 避免"has been updated(已被更新)",改为"we updated(我们已更新)" |
| 禁用动词-ing形式 | 杜绝", making it easy to...(从而使其易于……)"这类冗余从句 |
| 采用主动语态 | 摒弃"it should be noted that(应当注意)"这类被动套话 |
| 禁用should/would/may/might | 消除模糊表述(can/will/must可正常使用) |
| 条件前置,指令后置 | 避免读者因看到末尾的"…if the flag is set(如果标记已设置)"而误操作 |
| 一句仅含一项指令 | 防止凌晨2点还没人能看懂的复杂操作步骤 |
| 保留冠词与连词that | 拒绝电报式生硬表达,STE追求简洁而非简略 |
含软件行业示例的完整规则释义见SKILL.md。没错,这份自述文件就违反了半数规则——毕竟营销内容不在STE的适用范围内,技能会自动区分场景,仅在撰写技术文档时生效。😌
本技能针对不同场景做了适配(详见use-cases.md):
- 🚨 错误提示:按"问题现象→原因→解决方案"的顺序表述
- 📟 运行手册:STE的原生适用场景,运行手册本质就是维护指南
- 🧯 事故报告:用一般过去式替代模糊表述,比如将"we have identified an issue that may have impacted(我们发现一个可能影响了……的问题)"改为明确表述
- 📣 版本说明:将破坏性变更列为警告,先说明操作指令,再提示风险
- 🤖 AGENTS.md/提示词:系统提示词本质是写给"无法提问的读者"的操作流程,模型会将"should(应该)"视为可选要求,而STE禁用此类表述,这点值得深思
- 🌍 翻译预处理:STE的最初设计目标就是让非母语读者易读,同时降低本地化成本
以下场景不在适用范围内:营销文案、博客随笔、品牌宣传内容。这是刻意为之的限制。✋
加载技能后,6款模型在8项写作任务的96次生成中,平均每百字STE违规率降低72.9%。
| 模型 | 基准违规率(每百字) | 加载技能后违规率(每百字) | 降幅 |
|---|---|---|---|
| claude-opus-4-8 | 1.05 | 0.62 | 41% |
| claude-opus-4-7 | 2.28 | 0.42 | 82% |
| claude-opus-4-6 | 2.24 | 0.40 | 82% |
| claude-opus-4-5 | 2.55 | 0.57 | 78% |
| claude-sonnet-5 | 2.67 | 0.53 | 80% |
| claude-sonnet-4-6 | 2.06 | 0.52 | 75% |
所有6款模型的输出token数均有所减少(技能会生成更精炼的内容)。测试采用确定性正则校验器,两种场景使用同一套规则,完整的说明及测试方法见evals/results/RESULTS.md。可通过以下命令复现测试:
python3 evals/run_bench.py —— 仅需登录Claude Code CLI即可运行。
本技能采用测试驱动开发(TDD)模式,严格基于**第9版官方文本(2025年)**开发,而非博客摘要:
- 未加载技能的基准模型会写出40词的长句,甚至杜撰规则编号。曾有模型信誓旦旦地引用"规则3.1:使用短句",但真实的规则3.1是关于动词形式的💀
- 网上的二手资料对情态动词的说明有误:
can和will是允许使用的,我们已核实官方PDF文件 - 技能针对基准测试中发现的每一项问题进行优化,反复测试直至模型达标。测试场景及结果记录见
evals/pressure-tests.md
使用本技能能让输出获得STE认证吗? 不能。目前没有任何工具能获得ASD认证。默认模式为实用主义:遵循结构规则+适配你的领域词汇。严格模式下的输出已接近标准,但词汇层面的最终判定需参考官方标准,可免费下载。
我的文档会听起来像机器人写的吗? 会像空客的操作手册:风格平实,但绝无歧义。这正是技术文档的核心目标。博客等内容仍可保留你的个人风格。✍️
为什么不直接用"写清楚点"作为提示词? "清楚"是主观判断,"句子不超过20词"是明确规范。AI模型更擅长遵循规范。📐
为什么选用已有40年历史的航空航天标准? 因为它不是凭感觉制定的,而是持续更新(2025年1月已更新至第9版)、有明确编号、可量化测试的标准。巧合的是,它几乎完美规避了AI写作的所有通病。
本项目所有内容采用MIT开源协议。仓库仅对规则进行释义以方便教学,未复制任何官方标准文本或词典内容。本项目为非官方项目,与ASD或STEMG无关联,也未获得其认可。ASD-STE100是ASD的注册商标。