# 一手源 vs 中文转述：AEO 清单在翻译里丢了什么

**方法**：`curl` 取 Addy Osmani《Agentic Engine Optimization》原文全文（2026-09-11 核对），与一份流传较广的中文转述逐项对照。只比对可验证的项：原文有没有、转述有没有、数值是否一致。

## 逐项对照

| 项 | 原文 | 中文转述 | 差异的后果 |
|---|---|---|---|
| **适用边界** | 开篇自限：`my audience here is developers… Treat this as one practitioner's view… not a Google-wide recommendation` | **整段删除** | 这是最重要的一条。清单是为**开发者文档站**写的，不是为营销页或博客写的 |
| **单页上限** | 清单项写明 `No single page exceeds 30,000 tokens` without chunking | 只给出 15K / 25K / 20K 三个「建议目标」 | 一条硬上限变成三个软目标，判据从二值变成了可商量 |
| **首屏** | `first 500 tokens` 要答三问；另有一条 `first 200 words` 给出 outcome statement | 只保留 500 tokens 那条 | 两条都要，少一条 |
| **Analytics** | 清单含三项：referral 分段、User-Agent 指纹、AI:人 流量基线 | **完全没有** | 这三项是唯一能让你知道「agent 到底来没来」的部分 |
| **其他遗漏** | `agent-permissions.json`（标注为 emerging spec）、仓库根 `AGENTS.md`、MCP 端点 | 均未提及 | — |
| **工具** | 作者发布了审计工具 `agentic-seo`（自称 "Lighthouse for agent-readiness"） | 未提及 | — |
| **「400 毫秒」场景** | 开篇一个**假想**场景（`An engineer opens Claude Code…`） | 写成「一个用户非常日常的场景」，并补上了一家虚构公司 | 叙事道具被读成了测量结果 |

## 结论

**数字大多是准的，被删掉的是限定。**

需要强调的是，被删的那条限定是**作者主动给自己加的**——他明说了读者是开发者、这只是一个从业者的看法、不代表 Google 的建议。转述删掉它之后，一份「给开发者文档站的实践清单」读起来就像「所有网站都该这么做的权威规范」。

一个可以自己验证的佐证：**作者自己的博客跑这份清单会有 5 项 FAIL**（没有 `llms.txt`、没有 `skill.md`、没有 `.md` 直达、没有 token 元数据）。如果这份清单是普适规范，作者本人的站点不会这么写。它不是规范，是针对某一类站点的实践笔记。

## 自查脚本

本站用的验收脚本可直接取用：[`/aeo-check.sh`](/aeo-check.sh)

```
bash aeo-check.sh example.com [docs路径]
```

只发 GET、只读，输出每项 PASS / FAIL / WARN 加原始证据。两处值得注意的实现细节：

1. **存在性判定不能只看 HTTP 200。** SPA 的兜底页对任意路径都回 200 且 `content-type: text/html`，脚本把这种情况判为假阳性。
2. **正文检测必须在不执行 JavaScript 的前提下做。** 脚本去掉 `script` / `style` / `nav` / `footer` 后数正文字符，少于 400 字符即判 FAIL——因为 agent 拿到的就是这个，不是浏览器渲染后的结果。

第 2 点也是本站不使用客户端分析工具的原因：agent 不执行 JavaScript，用 JS 埋点去量 agent 流量，必然量到零。
