STE80 Humanizer 让 AI 写出的文本读起来像是一个细心的人写的,同时不改变它表达的内容。它结合了两种方法:
- humanizer 方法。从 Wikipedia 的AI 写作迹象中移除 26 个特征,收录在blader/humanizer的目录里。
- Karpathy 的 STE80 方法。把句子重写为“达到 ASD-STE100 的 80%”,即飞机维修手册所用的受控英语。
修改前:
好问题!Kubernetes 的存活探针是一个强大的机制,使 kubelet 能够判断容器是否健康——而且它不只是一项健康检查,它是你的第一道防线。当探针失败时,kubelet 会自动重启容器,确保你的应用保持可用。然而,需要注意的是,配置错误的探针可能会导致级联重启,因此像
initialDelaySeconds和failureThreshold这样的参数应当仔细调校。把这一点做对,你的集群就能自我修复。
修改后:
存活探针告诉 kubelet 容器是否健康。如果探针失败,kubelet 会重启容器。这能让应用保持可用。
糟糕的探针也可能导致大量重启。例如,超时设置得太短会让健康的容器无法通过探针。为防止这种情况,请把
initialDelaySeconds和failureThreshold设置为适合你应用的值。
目标是让人容易阅读的文本。通过 AI 检测器不是目标。
为什么要两遍处理
大多数 humanizer 只删除短语。文本失去了“好问题!”和“无缝”,但它保留了承载三个想法的长句、隐藏了施动者,并堆叠了模糊措辞。它读起来仍然像 AI。你可以在SKILL.md的示例中看到这一点:
| 步骤 | 剩下什么 |
|---|---|
| 原文 | 聊天机器人开场白、破折号、“不只是 X”、“-ing”附加语、“然而”、“可能潜在地”、戏剧化的收尾 |
| 第一遍处理后(特征) | “……容器会被 kubelet 自动重启,这能让你的应用保持可用。配置错误的探针可能导致级联重启,因此参数……应当仔细调校。”用词干净,但句子沉重。 |
| 第二遍处理后(STE80) | 短句,每句一个想法,主动语态,指令与描述分开。 |
方法:Karpathy 说了什么
2026 年 10 月 2 日,Andrej Karpathy 发帖针对一个问题的建议:随着 LLM 承担更多工作,人们花更多时间阅读和理解模型产出的内容。他的第一条建议:
让你的 LLM 用 ASD-STE100 来解释某件事,这是一套受控语言规范,最初是为航空航天维护文档开发的。LLM 对这门语言很熟悉,它对简洁的写作风格有严格约束,我常常觉得它可读性高得多。有时我会试着把它放宽一点,比如要求“达到 ASD-STE100 的 80%”,因为该规范相当严苛。
文章随后逐级向上:先是图表,然后是 HTML 页面,再是讲解视频。他的结论是,我们的工作正“向上走向抽象,进入监督与理解”。清晰的输出是瓶颈,而写作是第一步。
STE 概览图来自Karpathy 的帖子。点击放大。注意:后来的一次事实核查发现词典面板(D)中有错误。在 ASD-STE100 第 9 版中,“approximately”是获准使用的,“TEST”仅作为名词获准使用(不作为动词),并且没有“in order to”的词条。本技能遵循第 9 版。
ASD-STE100(简化技术英语)源自 20 世纪 80 年代的航空航天业。它是为母语非英语的机械师编写的,因为在飞机上误读一个步骤可能致命。其规则包括:
- 每条指令 20 个词,每段描述 25 个词
- 每句一条指令
- 主动语态和简单时态
- 每个词一个含义,约 900 个获准词
- 每段一个主题,最多六句
为什么是“80%”?在 100% 时,“check”和“test”只能作名词,“may”和“should”被禁用,许多常用词也不允许使用。正常的行文听起来生硬。在 80% 时,你保留完整结构,只保留听起来仍然自然的词汇量:
| STE 规则 | 100%(严格模式) | 80%(默认) |
|---|---|---|
| 句子长度 20 / 25 | 硬性限制 | 超出几个词没关系 |
| 每句一个想法 | 始终 | 始终 |
| 主动语态、简单时态 | 始终 | 始终 |
| 仅限获准词典 | 是 | 否,使用普通的常用词 |
| “check”、“test”作动词 | 否 | 是 |
| “may”、“should” | 否 | 是,用于真正的不确定性 |
| 缩略形式 | 否 | 是,在随意文本中 |
| 分号 | 否 | 否 |
Karpathy 谈的是可读性,而不是听起来像人写的。这项技能补上了那一部分,因为两种方法互相弥补了对方的缺口。
如何阅读这项技能
SKILL.md有两个编号列表:
- §1 到 §26:AI 痕迹(第 1 遍)。
- S1 到 S15:STE80 结构规则(第 2 遍)。
每个条目都有相同的字段:注意,问题,修改前和修改后。第 2 遍的条目还会说明在80%和严格之间有什么变化。单独时较弱意思是:只有在其他痕迹接近时才采取行动。该技能按编号报告其编辑,例如“§1, §8, S2”,这样你可以逐一查阅。
安装
安装后,该技能响应/ste80-humanizer。当你要求人性化、简化或去 AI 化一段文本,或要求 STE 时,它也会自行启动。
任意智能体(skills.sh)
npx skills add Dodaios/ste80-humanizer
为单个智能体全局安装,或为所有智能体安装:
npx skills add Dodaios/ste80-humanizer --global --agent claude-code
npx skills add Dodaios/ste80-humanizer --global --agent codex
npx skills add Dodaios/ste80-humanizer --global --agent cursor
npx skills add Dodaios/ste80-humanizer --global --agent '*'没有--global,该技能只会进入当前项目。来自 Vercel 的skills CLI可与 Claude Code、Codex、Cursor、OpenCode 以及许多其他智能体配合使用。
Claude Code 插件
/plugin marketplace add Dodaios/ste80-humanizer
/plugin install ste80-humanizer@ste80-humanizer
Claude.ai 和 Claude Desktop
将此仓库下载为 ZIP(Code → Download ZIP)。在 Settings → Capabilities → Skills 中上传。
用法
/ste80-humanizer
<paste text>
或者直接问:
This sounds like ChatGPT wrote it. Make it sound like a person.
Rewrite this README 80% of the way to ASD-STE100.
Explain how TLS handshakes work in STE.
Light touch: just remove the AI stuff from docs/intro.md.
Convert docs/runbook.md to strict STE.
Does this email sound like AI? Just tell me, don't rewrite it.
| 模式 | 何时 | 它做什么 |
|---|---|---|
| 人性化(默认) | 普通请求 | 完整执行第 1 遍,第 2 遍执行 80%。保留你的声音。 |
| 轻量 | “轻触”、“只去掉 AI 的东西” | 第 1 遍,加上第 2 遍中仅最糟糕的句子。 |
| 严格 STE | “严格”、“完整 STE”、流程、安全说明 | 第 1 遍以及第 2 遍全部 100% 执行。 |
匹配你的声音。添加一段你自己的写作样本。该技能随后会匹配你的句子长度、用词和标点。
保真优先。该技能保留每一个事实,将“may”保留为“may”,将“40+”保留为“40+”,不添加任何内容,并标记源文中的矛盾。在我们的测试中,这是与普通提示词最明显的区别(见测试)。
第 1 遍:26 个 AI 痕迹
| # | 痕迹 | 修改前 | 修改后 |
|---|---|---|---|
| A. 铺垫而非陈述 | |||
| 1 | 不是 X 而是 Y | 它不只是一个更快的构建工具,它是一种全新的思维方式。 | 该构建工具会缓存每一步。 |
| 2 | 单行收尾 | ……没有冷启动。没有借口。这就是边缘的力量。 | 延迟降至 40 ms。 |
| 3 | 听起来很深刻的格言 | 归根结底,可观测性是信任的语言。 | 共享仪表盘向两个团队展示相同的数据。 |
| 4 | 铺垫式开场 | 让我们深入探讨。以下是你需要了解的内容。 | 该 API 允许每分钟 100 次请求。 |
| 5 | 无人可辩 | 需要说明的是,我并不是说微服务不好…… | 我们先把计费服务拆分了出来。 |
| B. 按规则形成节奏 | |||
| 6 | 强行三段式 | 快速、直观且强大 | 不到一秒即可加载 |
| 7 | 重复的开头(单独看偏弱) | 它读取……它检查……它启动…… | 它读取配置并检查 schema。 |
| 8 | 满篇破折号 | 这次迁移——耗时六周——已经完成。 | 这次迁移耗时六周,已经完成。 |
| 9 | 堆叠的限定词(单独看偏弱) | 有可能或许会导致 | 会导致故障 |
| 10 | 带连字符的成对词(单独看偏弱) | 该 API 文档完善。 | 该 API 文档完善。 |
| 11 | 被动语态、缺少主语(单独看偏弱) | 无需账号。 | 你不需要账号。 |
| C. 夸大与借用权威 | |||
| 12 | 滥用的 AI 词汇 | 利用健壮的缓存层,展现出…… | 在设备上缓存 API 响应 |
| 13 | 夸大的重要性 | 标志着项目历程中的一个关键时刻 | 新增 CLI 并放弃 Node 16 |
| 14 | 模糊的关联 | 这次故障与 DNS 变更有关。 | DNS 变更导致了这次故障。 |
| 15 | 浅层的 -ing 附加语 | ……,彰显其对无障碍的承诺 | (删去) |
| 16 | 推销式语言 | 我们开创性的、世界级的编辑器 | 该编辑器运行在 VS Code 中。 |
| 17 | 借用权威 | 专家一致认为……曾被 TechCrunch、Wired 报道…… | 它曾在 5 月登上 Hacker News 首页。 |
| 18 | 回避 is / has | 作为中心枢纽,并拥有 40 个选项 | 保存设置。它有 40 个选项。 |
| D. 按规则排版 | |||
| 19 | 把加粗当装饰 | 性能:性能已得到提升。 | 该版本让页面加载更快。 |
| 20 | 装饰性标题 | ## 🚀 CLI 入门指南 → | ## 安装 CLI |
| 21 | 弯引号(单独看偏弱) | “true” | "true" |
| E. 聊天与草稿的残留 | |||
| 22 | 聊天机器人残留 | 好问题!……希望这有帮助! | (删去外层包装) |
| 23 | 知识边界式模糊表述 | 虽然细节有限,但它很可能创建于 2015 年前后。 | 来源中没有说明。 |
| 24 | 标题重复 | ## 安全 / 安全很重要。 | (删去该行) |
| 25 | 写文档本身 | 添加此函数是为了替换旧方案…… | 此函数在哈希表中查找用户。 |
| F. 写给错误的读者 | |||
| 26 | 重新解释读者已知的内容 | 先完整走一遍诊断过程的回复 | 同意。我会把任务改为 UTC。 |
第 2 遍:15 条 STE80 规则
| # | 规则 | 80% 对比严格模式 |
|---|---|---|
| S1 | 每句一个观点 | 80% 允许用 "and" 或 "because" 连接两个相关事实 |
| S2 | 短句:指令 20 词,描述 25 词 | 80% 允许小幅超限 |
| S3 | 条件在前:"如果 X,就做 Y。" | 同上 |
| S4 | 不要省略词("the"、"a"、"that") | 80% 允许表格和标题中使用片段 |
| S5 | 步骤和复杂内容用列表 | 同上 |
| S6 | 主动语态 | 同上 |
| S7 | 只用简单时态 | 同上 |
| S8 | 用动词而非名词,不用 "-ing" 链 | 严格:"check" 和 "test" 是名词 |
| S9 | 诚实的情态动词:can、must、will | 80% 保留 "may" 和 "should" 表示真实的不确定性 |
| S10 | 用词平实,一词一义,不用短语动词 | 80% 保留自然用词 |
| S11 | 一物一词 | 同上 |
| S12 | 名词堆叠不超过三个词 | 同上 |
| S13 | 每段一个主题,最多六句 | 同上 |
| S14 | 操作说明与描述分开,警告在前 | 同上 |
| S15 | 标点简单,不用分号 | 严格:也不用缩略形式 |
更多示例:references/ste80-rules.md。完整的严格规则和检查清单:references/strict-mode.md。超过 100 个平实词汇替换:references/word-swaps.md。
Checker
scripts/ste_check.py是一个无依赖的小型 Python linter。它会标记许多 Pass 1 的迹象,例如 not-X-but-Y、聊天机器人式短语、铺垫、虚假深度、堆叠的模糊限定、含糊的权威与关联、"-ing" 附加成分、夸大的说法、AI 用词、连字符词组和弯引号。它还会标记可量化的 Pass 2 规则:句子和段落长度、分号、破折号、被动语态、完成时和进行时、"-ing" 形式和短语动词。
python scripts/ste_check.py README.md
python scripts/ste_check.py --strict docs/runbook.md
cat draft.txt | python scripts/ste_check.py -它是启发式工具,不是 AI 检测器,也不是合规检查器。
Tests
evals/在以下目录中有四个用例claude plugin eval格式:一个 README 重写、一个从零开始的解释、一个严格 runbook,以及一篇不提及 STE 的随意 LinkedIn 帖子。用以下命令运行它们claude plugin eval . --allow-tools Write,Edit,Bash。
我们观察到的:当提示中指明 ASD-STE100 时,基础模型已经基本能把握这种风格。该 skill 带来的差异在于保真度。在 LinkedIn 重写中,未使用 skill 的运行编造了一句引语,并把 "40+ customers" 改成了 "40-odd"。使用 skill 的运行保留了每一个事实。在 README 重写中,它保留了 "you may need to",并标记了源文中的一处矛盾。这些都是小测试,所以请把它们当作提示,而非证据。
局限
- STE 适用于清晰的说明性文本。对于小说、演讲和品牌文案,该 skill 只执行 Pass 1。
- STE 是一项英语标准。对于其他语言,该技能会应用其识别特征和结构规则,但不应用英语词表。
- “STE 风格”不等于“符合 STE”。合规需要官方词典、受过培训的写作者和审核。
来源与致谢
- Andrej Karpathy 在 X 上,2026 年 10 月 2 日:https://x.com/karpathy/status/2105819303471976479
- ASD-STE100 第 9 版(2025):https://www.asd-ste100.org
- Wikipedia,Signs of AI writing(WikiProject AI Cleanup)
- blader/humanizer作者 Siqi Chen(MIT)。第 1 遍遵循其 26 种模式目录及顺序,并附有新示例。其许可证声明位于LICENSE。
- Hacker News 上关于 STE 技能的讨论(2026 年 7 月):https://news.ycombinator.com/item?id=49114639
免责声明
本技能不包含 ASD-STE100 规范或其词典。STE 规则经过改写和简化。ASD-STE100 和 Simplified Technical English 是 ASD(AeroSpace, Security and Defence Industries Association of Europe,欧洲航空航天、安全和防务工业协会)的商标。本项目与 ASD 无关联,也未获其认可。
