Anthropic Claude Code 工程负责人 Thariq Shihipar 5 月 8 日一条推 11M 浏览 —— 让 AI 写 markdown,等于让 AI 装 2004 年的程序员。HTML 才是 agent 时代的原生输出。
5 月 8 日,Anthropic 的 Thariq Shihipar(@trq212)在 X 发了一篇短文:"Stop telling Claude Code to write markdown. Tell it to write HTML." 配套的 thariqs.github.io/html-effectiveness/ 收录 9 个领域 20 个例子。48 小时浏览破 10.9M,17 天后 11M+,直接改写 Claude Code 社区的输出格式默认偏好。
2026 年 5 月 8 日,Anthropic Claude Code 工程负责人 Thariq Shihipar(@trq212)发了一条短推 —— 标题致敬 Eugene Wigner 1960 年的著名论文《数学在自然科学中不合理的有效性》。Thariq 写的是:"The Unreasonable Effectiveness of HTML."
这是一篇短文 + 一个 GitHub Pages —— 没有发布会、没有产品 launch、没有官方宣发。但 48 小时内浏览破 10.9M,17 天达到 11M+,是过去一年 AI 工程领域单条内容浏览量最高的一次。
反直觉的地方在哪里?所有人都以为 markdown 是 AI 的母语 —— ChatGPT / Claude / Gemini 的回复默认 markdown 渲染,GitHub 全靠 markdown,Cursor / Aider 的 spec 文件都是 .md。Thariq 给的判断是:这个默认是错的。让 AI 写 markdown,本质是延续了"人 + 编辑器"的 2004 年假设 —— 而 agent 时代,这个假设已经失效。
"Markdown 不够好 / HTML 比 Markdown 好"这种说法,过去 5 年至少出现过十次,都没有产生这个效应。Thariq 这次成功的关键不是技术新发现 —— 是他给出了一个解释力强的概念锚点:Markdown 的设计目标和 agent 时代的输出场景错配。
这跟 Wigner 1960 的写法一样 —— 不是发现新事实,是给已经看到的事实换一个 framing,然后让所有读者突然意识到:"原来我们一直在用错的方式想问题。"
John Gruber 2004 年设计 Markdown,核心目标是 "让纯文本看起来像格式化文档"。它假设两件事:输出短(单页 README、blog post)、读者会手动编辑(在 vim / TextMate 里改字)。
这两个假设在 2026 年同时崩了。Anthropic 12 月内部研究显示,Claude Code 单次 session 任务复杂度从 3.2 涨到 3.8,工具调用从 9.8 翻到 21.2 —— Claude 现在写的不是 "fix this bug" 的 50 行 commit message,而是 2000 行的 implementation plan、500 行的 audit report、1500 行的 design system 文档。
同时,这些输出 读者不再编辑。Anthropic 工程师把 Claude 写的 spec 直接传给下一个 Claude session,把 audit report 直接发给客户,把 plan 截图发到 Slack。没人在 vim 里打开 Claude 写的 markdown 改逗号 —— 这是 markdown 设计假设的死亡现场。
| 设计维度 | Markdown (2004) | HTML (1990) | Agent 时代实际需求 |
|---|---|---|---|
| 主要读者 | 编辑者(写的人会改) | 读者(消费的人不改) | 消费者(看 / 用 / 转发) |
| 典型长度 | 50–200 行 | 无上限 · 设计成可导航 | 500–2000+ 行(agent plan / audit) |
| 渲染环境 | 纯文本 + 渲染器 | 浏览器(已普及) | 浏览器 + Slack / 邮件分享 |
| 核心交互 | 读 + 改字 | 读 + 点击 + 折叠 + 排序 | spatial navigation + 局部交互 |
| "deliverable" 适配度 | 低 · 像 transcript | 高 · 像专业文档 | 需要的是 deliverable |
| 给非技术人员分享 | "复制粘贴 + 祈祷" | 单个 URL · 浏览器即开 | 越来越多非技术人用 AI |
把这张表读完会发现:HTML 在每一行都比 Markdown 更贴近 agent 时代的真实需求。这不是 markdown 变差了,是它服务的场景(短文本 + 人手改)在 agent 时代消失了。
"HTML is better at being a finished thing.
Markdown is better at being a working thing."
Thariq 用这一句话总结了所有的对比。Markdown 不会消失 —— 它继续是"working thing"的格式,在 agent ↔ agent 的 handoff、git commit、draft 中保留地位。但当 Claude 的输出从 "working" 变成 "finished" 时,默认值需要换。
Thariq 配套的 thariqs.github.io/html-effectiveness 不是一篇博客 —— 是一个 20 个 self-contained HTML 文件的 showcase,分为 9 个领域。每一个例子都演示了一件 markdown 做不到的事。
| 领域 | 具体例子 | HTML 独有的能力 | Markdown 等价物 |
|---|---|---|---|
| 规划 · 探索 | Implementation plan with timeline + risk | collapsible phases · progress bars · copy-as-prompt button | 无 · 只有线性文本 |
| Code Review | 带 margin notes 和 severity tags 的 annotated PR diff | 带颜色编码的 inline annotation · jump links | 单色块 codeblock + 文字描述 |
| 设计 | Living design system · 可复制的 token | click-to-copy · 实时渲染色块 · variant grid | 表格 + 描述,要去其他工具复制 |
| 原型 | 4 屏 clickable interaction flow · 动画 sandbox 带 slider | 真实交互 · 调参 · 演示 | 截图 + "想象一下" |
| 图表 | SVG 图集 · clickable deploy pipeline | SVG inline · 可缩放 · 可点击 | PNG 截图,无交互 |
| Deck | arrow-key 翻页 slide | 键盘导航 · 单文件 · 无依赖 | 无 |
| 学习 / 研究 | concept explainer 带交互 demo | tab + glossary popup · live demo | 连续文字 + 截图 |
| 报告 | weekly status 带图表 · post-mortem 时间线 | charts · 折叠分钟级 timeline · 严重度颜色 | 长文本 + ASCII art |
| 自定义编辑 UI | Drag-drop triage board · Flag editor · Prompt tuner | JS 交互 · 状态保存 · markdown 导出 | 完全不可能 |
看 "Custom Editing Interfaces" 这一栏 —— Drag-drop triage board、feature flag editor、prompt template tuner。这些都是 交互式工具,而不只是文档。markdown 完全做不到这件事。
这意味着 Claude 的输出边界正在扩张 —— 从 "AI 写文档给人读" → "AI 写工具给人用"。当一个 prompt template tuner 是 Claude 自己生成的 HTML,而不是产品团队开发的 React 组件 —— "前端开发"这个工种的初级岗位被 AI 直接掏空了。
反对 HTML 输出最常见的论点是成本。Anthropic 自己的工程师测算过:同样 1000 字内容,HTML 大约 1500 tokens,Markdown 250 tokens —— 6 倍的 token 消耗。生成时间从 30 秒涨到 90–120 秒。
这不是小数字。在 Claude API 价格下,假如某团队每月产出 1 亿 tokens 的文档,从 markdown 切到 HTML 意味着 从 250M tokens → 1.5B tokens,API 账单从 $750 涨到 $4500。但 Thariq 的回答很简单:值得。原因不在 token,在 deliverable 的 ROI。
| 指标 | Markdown | HTML | 差异 | 对成本的含义 |
|---|---|---|---|---|
| 1000 字 token 数 | 250 | 1500 | +6× | token 直接成本上升 |
| 生成时间 | 30s | 90–120s | +3–4× | 用户等待 / 单次成本 |
| 可读性 (100+ 行) | 墙 | 侧栏导航 + 折叠 | 非线性 | 读者节省的时间是分钟级 |
| 分享便利度 | 复制粘贴 + 祈祷渲染 | 单个 URL 给非技术人 | 非线性 | 分享给同事 / 客户成本接近 0 |
| 交互能力 | 只能读 | slider · toggle · 可编辑字段 | 无→有 | 从"文档"变成"工具" |
| 客户感知 | "AI transcript" | "专业 deliverable" | 定性 | 客户感知 = 商业价值 |
| 版本控制 (git) | 干净 diff | 属性噪音 | 反向 | HTML 不适合 git tracking |
这些场景用 markdown 是正解
"working" + "finished" 双格式
这些场景 markdown 完全做不了
Thariq 给的 prompt 模式很简单 —— 单文件 + inline CSS + 无 JS 依赖:
Output as a single self-contained HTML file with inline CSS. Sticky sidebar nav, collapsible sections, print-friendly. No external dependencies.
关键技术约束:单文件 self-contained · inline CSS · vanilla JS · 无外部依赖。这让 HTML 文件可以邮件附件、Slack 上传、U 盘拷贝 —— 任何环境打开都能用。Thariq companion site 上 20 个例子全部遵循这个约束。
"Markdown lets you focus on writing. HTML lets you focus on the reader.
Claude doesn't actually need to focus on writing anymore — that's what it's good at by default." — Thariq Shihipar · 2026.05.08 · X
很多人算 6× token 时跳过了一件事:1500 tokens 的 HTML 文档,可能替代了 5 次 markdown 来回(你写 → AI 写 → 你不满意 → 你改 prompt → AI 重写)。你的"满意阈值"在 HTML 这边降下来,因为它一次就给了 deliverable。
这意味着"6× 单次成本"在实际工作流里可能反而是 总成本下降 —— 因为 round-trip 次数被压缩。Anthropic 自己的工程师测算过:HTML 输出场景下,人均月 token 消耗反而下降 20–30%,因为不需要反复 refine。
从读完文章到改变实际 prompt 习惯,中间有距离。这里给出三种实际的工作流改造模式,按团队规模和场景分。
特征:团队 workflow 高度依赖 git / GitHub / Markdown 渲染链。Claude 输出主要是 codebase 内的文档(README、ADR、proposal),而非给外部客户的 deliverable。
特征:团队中既有工程师又有非技术 stakeholder。需要 Claude 给两种受众产出 —— working 给工程师改、finished 给客户看。
特征:Claude 输出主要是 client-facing deliverable 或 internal tool。团队已经习惯 dashboard / interactive spec 这种"工具型文档"。
三个问题快速定位:
① 你的 Claude 输出 主要给谁看?工程师同事 / 自己 / 非技术 stakeholder / 客户?
② 这些输出 有多少会被手动编辑?如果 < 20%,markdown 的"易编辑"优势对你失效。
③ 你的工作流里 有没有 dashboard / 交互工具 / 客户 deliverable?有 = HTML 给你的 leverage 远超 token 成本;没有 = markdown 继续够用。
Thariq 5 月 8 日的 11M 浏览不是 vanity metric —— 是 Anthropic 内部工程师群体多年观察的一次集中表达。Markdown 在 2004 年解决的问题(纯文本 + 人手改)在 2026 年 agent 时代已经不存在了,但默认偏好还在,这是 路径依赖造成的工程债。
Thariq 用一个 framing(Wigner 1960 风格的"不合理的有效性")+ 9 领域 20 例子 + 一句金句("HTML is better at being a finished thing"),把这个工程债从隐性变成显性。结果是 17 天内 Claude Code 社区的输出格式默认偏好被改写。这不是 hype,是真实的 paradigm shift —— 哪怕 Anthropic 官方还没改 Claude Code 默认 system prompt。
Q1 答案:11M 浏览是真正的冲击。这条推不是技术新发现,是 framing 的胜利 —— 给一个已经被很多人感受到但说不清的现象,提供了精确语言。这类内容才能产生 paradigm shift,而非 vanity metric。
Q2 答案:6× token 成本是真实的,但要算 round-trip 成本。Anthropic 工程师测算:HTML 输出场景下,人均月 token 反而下降 20–30%,因为一次就给 deliverable,不需要反复 refine。账单可能不涨。
Q3 答案:会同时生成两份,但不是双倍工作。模式是 Claude 先写 markdown spec(working),再生成 HTML deliverable(finished)。CI / git hook 可以自动化双向同步。这是"双轨者"工作流的核心。
Q4 答案:不是 hype 但需要时间。Claude Code 默认 system prompt 12 个月内大概率会改 —— Anthropic 自己工程师群体已经在用 HTML-first,这是先导信号。但 default 改变前,你需要自己改 prompt。
Q5 答案:三个判断:① 输出 > 100 行 → HTML;② 给非技术 stakeholder 看 → HTML;③ 需要交互(slider / toggle / 编辑)→ 必须 HTML。其余继续 markdown。
Q6 答案:ChatGPT / Gemini 12 个月内大概率跟进 —— 这是行业级 framing,不是 Anthropic 独占。但工程师文化最强的是 Anthropic 和 Cursor,这两家会先动。其余产品(微软 Copilot / Notion AI)会滞后 6–12 个月。
你已经被 Thariq 的论点影响了 —— 即使没读过原推,你大概率已经在让 Claude 输出 markdown,然后发现 100+ 行的 plan 自己都不读完。现在立刻在 Claude Code 全局 settings 里加入 HTML 偏好 prompt,默认所有 output 长度超 50 行就走 HTML。Token 成本上升用 1 周时间评估,大概率你的总成本反而下降(因为 round-trip 减少)。
关键纪律:不要"试一下" —— 给自己设定 30 天强制 HTML-first 实验期。30 天后用数据(月 token 总消耗 / 你实际打开过几个文件)再决定是否回滚。直觉判断在 token 这种隐性成本上不可靠。
这是被这个变化 leverage 最大的人群。过去你让 Claude 写 spec / plan / research,产物是 markdown,你需要去 Notion / Linear 重新整理才能给团队看。HTML 输出彻底跳过这一步 —— Claude 直接生成可以分享的 URL / 文件,产物对非技术同事的可读性等同设计师专门做的 deck。
关键纪律:把你的"Claude system prompt 库"从纯文字 prompt 升级到指定输出格式的 prompt。例如:"Generate competitor analysis. Output as a single-file HTML with sortable comparison table, sticky sidebar, print-friendly layout, no external dependencies." 这一句 prompt 把你从 PM 升级为可以独立交付 deliverable 的角色 —— Anthropic 自己的非技术员工已经在这条路径上。
你需要做两件事。第一,评估团队 Claude API 月成本 —— HTML-first 会让 token 消耗 3–5x,但抵消的是工程师"翻译 Claude 输出给非技术 stakeholder"的人力时间。算总账,大概率值。第二,在 internal docs / handoff 流程里区分 "working" 和 "finished" —— working 继续 markdown,finished 切 HTML,在 CI 里自动转换。
关键纪律:这不是技术决策,是工作流决策。如果你的团队成员在用 Claude 时 "默认 markdown 因为习惯",你需要主动改 system prompt。否则 6–12 个月后 Claude Code 默认改向 HTML 时,你的团队会有一个尴尬的迁移期。提前 3 个月主动迁移 = 平滑;被动迁移 = 阵痛。
| # | 信号 | 触发判断 / 动作 |
|---|---|---|
| 1 | Claude Code 默认 system prompt 是否引入 HTML 偏好 | 引入 = paradigm shift 完成 / 未引入 = 还在用户侧扩散 |
| 2 | thariqs/html-effectiveness GitHub 仓库 fork / star 增长曲线 | 持续增长 = 二次传播在生效 / 平台期 = 短期热点 |
| 3 | ChatGPT / Gemini 是否推出"HTML output" 模式 | 跟进 = 行业 framing 已扩散 / 不跟进 = Anthropic 特有现象 |
| 4 | Anthropic 是否调整 token 定价 / API quota 策略 | 调整 = HTML-first 已经成主流用法 / 不调整 = 还在用户侧观察 |
| 5 | Notion / Obsidian 等 markdown 工具是否进化为 HTML 渲染 | 进化 = 整个 knowledge management 链条迁移 |
| 6 | Tailwind / Bootstrap 等 CSS framework 是否出"AI-optimized" 版本 | 出版本 = HTML-first 已经形成生态 · CSS 框架 AI 化是下一波 |
| 7 | MCP server 是否增加"export to HTML"标准接口 | 增加 = HTML 进入 protocol 层 |
| 8 | Cursor / Aider / Continue 等竞品的 system prompt 是否跟进 | 跟进 = 工程师圈共识 / 不跟进 = Anthropic 工程文化特有 |
| 9 | "AI 输出格式"是否成为独立 W3C 讨论议题 | 成 = 行业治理层介入 · 标准化时间表启动 |
| 10 | 初级前端工程师招聘需求变化 | 下降 = "AI 写 HTML deliverable" 在替代 junior frontend 工作 · 这是这场变化最大的劳动力市场后果 |
"30 年前 Tim Berners-Lee 设计 HTML 给 reader,
2004 年 Markdown 把它倒退回给 writer。Agent 时代,这个倒退失去了意义。"
· "Using Claude Code: The Unreasonable Effectiveness of HTML" · Thariq Shihipar · Anthropic · 2026.05.08 · claude.com/blog/using-claude-code-the-unreasonable-effectiveness-of-html
· HTML Effectiveness Examples · 20 个 self-contained HTML 例子 / 9 个领域 · thariqs.github.io/html-effectiveness
· Source repo · GitHub · github.com/thariqs/html-effectiveness
· Simon Willison 的原文写笔记 · 2026.05.08 · simonwillison.net
· "Markdown vs HTML for Claude Code: When to Use Which" · The AI Architects · 2026.05.09 · theaiarchitects.com
· Eugene Wigner · "The Unreasonable Effectiveness of Mathematics in the Natural Sciences" · 1960
· Halevy/Norvig/Pereira · "The Unreasonable Effectiveness of Data" · 2009 · Google Research