关于ZAKER Skills 合作
钛媒体 18分钟前

大模型首选格式 Markdown,被 30 年前的工具取代了?

文 | 字母 AI

我才刚开始用 Markdown 不到一年,怎么现在 Markdown 就要被淘汰了?

事情经过是这样的,Claude Code 团队成员 Thariq 在 X 上发表了一篇文章,标题叫《Using Claude Code: The Unreasonable Effectiveness of HTML》。

他说他自己现在已经完全停用 Markdown 了,转而用 HTML 作为 AI 输出的默认格式。

不是,先等一会的,Thariq 的观点让我更糊涂了。

你说 Markdown 格式过时这我还能理解,毕竟这几年用下来,或多或少我也能说出点 Markdown 的缺点。可是要用 HTML 去替换 Markdown ……这玩意比 Markdown 还早诞生了 10 多年啊!

本身 Markdown 就是因为 HTML 不好用才诞生的,怎么现在反过来要被 HTML 替代了呢?

所以,要搞清楚 Thariq 的逻辑,咱们得先从 Markdown 这个格式本身说起。

它到底是个什么东西?为什么这么多人在用?又为什么现在突然就不够用了?

01 Markdown 是怎么来的,为什么现在又要被淘汰?

2004 年,约翰 · 格鲁伯(John Gruber)与亚伦 · 斯沃茨(Aaron Swartz)共同设计了 Markdown。

他们要解决的痛点很明确,那就是写博客。

2004 年前后,博客正在兴起,但当时的博客平台像 WordPress、TypePad 的编辑器功能很有限。格鲁伯自己写 Daring Fireball 博客时,每次发文章都得手写 HTML 代码,这些标签写到烦。

如果从 Word 复制粘贴,又会带来一堆乱七八糟的格式代码,在不同浏览器里显示还会出问题。

格鲁伯想要的很简单,就是一种 " 看起来像普通文本,但能自动转成网页 " 的格式。

写作者只需要打字,不用记那些 HTML 标签,不用在可视化编辑器和代码视图之间来回切换,写完直接发布。

于是,Markdown 就是这样诞生的。用,用 * 表示列表,用 ** 表示加粗,几个符号就够了。

最巧妙的地方,是即使不转换成网页,你也能通过这些符号,能明白哪里是标题,哪里是重点。

通过 Jekyll、Hexo 这些工具,就可以用 Markdown 来写博客,然后一键生成静态网站。

随后,技术博客平台比如 Medium、Dev.to 也开始支持 Markdown 写作。

久而久之,整个技术社区形成了 " 默认用 Markdown" 的集体习惯。

不过 Markdown 爆火并不是因为这事,其实 Github 才是它的第一推手。

当 GitHub 将 Markdown 作为 README 标准,整个开源社区一夜之间有了统一的文档语言。

README 是一个文档文件,用于介绍项目的基本信息、使用方法、安装步骤等内容,是项目的说明书。它一般是访问者打开项目时首先看到的文档。

程序员们发现,用 Markdown 写文档比用纯文本清晰,比用 Word 方便,比用 HTML 简洁。

更重要的是,Markdown 是纯文本格式,可以完美融入 Git 等版本控制系统。

每次修改都能清晰追踪 diff,这对程序员来说简直是刚需。

以前 README 常用 txt 格式,但是 txt 没办法像 Markdown 一样能给人直观的感受。你打开一个 txt 文件,除了文字还是文字,没有任何结构提示。

但 Markdown 不一样,即使不渲染,你也能认清、* 号以及普通文字的区别。

接下来就是各类笔记软件。

Bear、Obsidian、Notion 这些工具都把 Markdown 作为底层格式。

用 Markdown 记笔记有一个好处,你可以把这个笔记放在任何一种文本编辑器里面打开和编辑,不需要编程软件,也不会因为软件版本或平台差异而出现兼容性问题。

你今天用 Obsidian 写的笔记,明天可以用 VS Code 打开,后天可以用 Typora 编辑,大后天可以用 Vim 修改。

Word 就不行。你用 Word 写,你就只能用 Word 类的工具打开,普通记事本工具都没办法打开。

而且 97-2003 版本的 .doc 文件,和 2007 版本以后的 .docx 文件还有差别,如果使用 SmartArt、高级图表这些功能,那文件就不能以 .doc 命名,否则再次打开的时候就会显示错误。

程序员们非常喜欢用 Markdown,还有一个原因是它原生支持代码块语法高亮。

用三个反引号加语言名,就能在文档里插入代码示例。这让程序员可以在同一份文档里无缝混合文字说明和代码示例。

到了 AI 时代,Markdown 又成为了大语言模型的首选格式。

原因很简单,它语法简单、token 开销低,非常适合大语言模型生成和解析。

而且结构清晰,便于模型在训练中学习标题、段落、列表的层次语义。

关键是它对人类友好,我们能直接看懂 Markdown 格式的原文。

ChatGPT、Claude、Gemini 这些模型在回答问题时,默认都用 Markdown 格式输出。程序员用的 Cursor、Windsurf、Cline、Aider 这些编程 Agent,也都把 Markdown 作为标准输出格式。

从一个小众的写作格式,变成了整个技术社区的通用语言,再到现在,Markdown 成为了 AI 时代的标准输出格式。

那为啥要淘汰 Markdown 呢?

Thariq 给出的原因是 Markdown 只能表达基础文档结构,无法原生承载表格样式、SVG 插图、交互组件、空间布局等富媒体信息。

Claude 在 Markdown 里不得不用 ASCII 画图、用 Unicode 字符估算颜色。

Thariq 在文章里贴了一张截图,Claude 试图用 Unicode 字符来表示颜色。

这就像让你你去画一幅油画,但只给你一支铅笔。你可以用铅笔画出明暗关系,但那终究不是油画。

更关键的问题是,当 Agent 能一次性产出数百行的规格文档、实现方案、研究报告时,纯文本的 Markdown 就没办法阅读了。

Thariq 坦言自己基本不会读超过 100 行的 Markdown 文件,他的同事们也不会。

这不是他懒,这是人类认知的极限。

当一份文档超过一定长度,如果没有视觉层次、没有颜色编码、没有可折叠的区块,你的大脑就会自动放弃处理。你会滚动鼠标,假装自己在看,但其实什么都没看进去。

最后一个问题,Thariq 认为也是最致命的问题。

Markdown 原本的优势之一是人类方便手改,但在 agent 工作流里,用户越来越少亲自编辑文件,而是让 Claude 去改。

这让 Markdown 易于手写的核心优势在当下变得无关紧要。

你想想,如果你不需要自己写 Markdown,只需要看 Claude 生成的结果,那 Markdown 的简洁语法还有什么意义?

反而是它的表达能力不足,成了最大的短板。

所以 Thariq 的结论是,Markdown 在 AI 时代已经不够用了。

它曾经是最好的选择,但现在它的优势正在消失,而它的劣势正在放大。

02 HTML 这么古老,为什么反而要来淘汰 Markdown?

HTML 至今已有 30 多年历史,比 Markdown 早了整整 10 多年。

它是万维网的底层文档语言。

从一开始,HTML 就是为了在网页上展示各种内容而生的。你可以点击链接跳转、可以嵌套多层结构、可以插入图片视频、可以添加交互按钮,正是因为 HTML。

Markdown 是为了让写作更简单而生的,它的本质是做减法,只保留最基础的文档结构。

HTML 是为了让表达更丰富而生的,它的本质是做加法,能表达的东西越多越好。

在人类手写的时代,Markdown 赢了,因为简单就是优势。

但在 AI 生成的时代,HTML 赢了,因为丰富就是优势。

Thariq 的论断是,Claude 能读懂的几乎所有信息,都能用 HTML 高效表达。

HTML 可以一次性表达表格、CSS 样式、SVG 插图、脚本交互、空间定位、图像嵌入等。

你想展示一个数据表格,Markdown 只能用竖线和横线拼出一个简陋的表格,而且还不能合并单元格,不能设置列宽,不能给单元格上色。

HTML 可以做到这一切。

你想画一个流程图,Markdown 只能用 ASCII 字符拼,或者插入一张图片。

HTML 可以用 SVG 直接画,而且是矢量的,放大不失真,还可以加交互。

你想做一个可折叠的区块,Markdown 做不到。

HTML 可以用 details 和 summary 标签,一行代码搞定。

不仅如此,HTML 也不挑设备。

任何设备上的浏览器都能原生渲染 HTML,上传到 S3 就能一键分享链接。但是 Markdown 却需要专用渲染器。

Thariq 举了一个例子,说你用 Claude 生成了一份项目规格文档,然后你想把这个文档分享给你的项目成员,此时你会怎么做?

如果是 Markdown,你得先把它转成 HTML 或 PDF,或者把它上传到 GitHub,或者把它粘贴到 Notion 里。

如果是 HTML,你直接把文件上传到 S3,把链接发给同事,他们点开就能看。

哪个更方便不言而喻。

HTML 还可以做响应式布局、标签页、折叠区块、颜色编码,让数百行内容依然易读,这是纯文本 Markdown 永远无法做到的。

Thariq 在文章里展示了一个例子,他让 Claude 生成了一份实现计划,用 HTML 格式输出。

整个文档有几百行,但因为用了标签页、折叠区块、颜色编码,阅读起来非常清晰。你可以先看概览,然后点开感兴趣的部分,深入了解细节。

这种体验是 Markdown 永远给不了的。

最关键的来了,HTML 可以让 Claude 生成带滑块、按钮、拖拽卡片的一次性编辑器,用户调完参数后一键导出为 JSON 或 Prompt 粘回对话。

Markdown 生成的内容是不能交互的。

Thariq 举了一个例子,他想调整一个动画的参数,他让 Claude 生成一个 HTML 文件,里面有几个滑块,可以调整动画的速度、延迟、颜色。

他拖动滑块,实时看到动画效果的变化,找到满意的参数后,点击复制按钮,把参数粘贴回 Claude 对话框,让 Claude 用这些参数生成最终代码。

整个过程行云流水,完全不需要来回修改代码。

这就是 HTML 的交互能力,也是 Markdown 永远做不到的事情。

以前我们选择工具,看的是它好不好写。

现在我们选择工具,看的是它好不好读,好不好交互。

所以 Thariq 说,他现在已经完全停用 Markdown 了,转而用 HTML 作为 AI 输出的默认格式。

这不是复古,这是进化。

03 哪些工具和模型还在用 Markdown?它们会被 HTML 取代吗?

当下还有大量的工具都在使用 Markdown。

比如 ChatGPT、Gemini、DeepSeek、Kimi 等主流聊天界面,以及 Cursor、Windsurf、Cline、Aider 等编程 agent。还有飞书文档、语雀这样的写作工具。

这些工具和场景,Markdown 仍然是主流选择。

但这不代表它们可以高枕无忧了。

事实上,HTML 已经在一些场景里开始取代 Markdown 了。

需要视觉结构和图表支撑的长文档,HTML 的阅读体验优势明显。

当你需要生成一份几千字的研究报告,里面有数据表格、流程图、架构图、代码示例,如果用 Markdown 输出,用户看到的就是一堆文字和 ASCII 图形,很难抓住重点。

但如果用 HTML 输出,你可以用标签页把不同章节分开,用折叠区块把细节隐藏起来,用颜色编码把关键信息高亮,用 SVG 把图表画出来。

用户打开文件,第一眼就能看到整个报告的结构,然后根据自己的兴趣深入阅读。

这种体验差异是质的飞跃。

另外,代码审查也是一个非常具有代表性的场景。

GitHub 的 diff 视图已经很好了,但 Thariq 说他现在给每个 PR 都附上一个 HTML 代码解释器,比 GitHub 原生 diff 更直观。就像下图展示的这样。

HTML 可以渲染 diff、流程图、模块依赖关系,可以用颜色编码标注不同严重程度的问题,可以在代码旁边加注释,可以把复杂的逻辑用图表展示出来。

尤其是当你不熟悉某个模块的时候,一个好的 HTML 代码解释器可以让你在几分钟内理解整个 PR 的逻辑,这样你就不会迷失在几百行 diff 里面了。

鉴于 HTML 的种种优势,Anthropic 选择以身作则,因此网页 AI 设计工具 Claude Design 现在全面基于 HTML 运行。

因为设计本身就是视觉化的工作,用 Markdown 描述设计其实一件非常别扭的事情。

但用 HTML 就不一样了,HTML 本身就是一种设计语言,它可以直接表达布局、颜色、字体、间距、动画。

Claude 可以在 HTML 里画出设计稿,加上交互效果,让用户直接体验,然后根据用户的反馈调整参数,最后生成最终的代码。

整个流程完全不需要离开 HTML 环境。

不过话又说回来了,其实还是有很多场景依然离不开 Markdown。

最基础的,比如日常聊天、快速记录、短答复,Markdown 的 token 成本和即时性依然无可替代。

如果你只是问 Claude 一个简单的问题,它回答两三句话,用 Markdown 完全够了。

用 HTML 反而显得多余,因为生成 HTML 需要更多 token,渲染 HTML 也需要更多时间。

所以在需要版本控制的场景下,Markdown 仍然是更好的选择。

训练语料和结构化 Prompt 中,Markdown 的简洁性直接关系到 token 效率和稳定性。

大语言模型的训练语料里,Markdown 是一种非常常见的格式。

HTML 不会完全取代 Markdown,但它会在越来越多的场景里成为更好的选择。这并不代表说 Markdown 失败了,是我们的时代和环境在改变。

就像以前用 GPU 玩游戏,现在用 GPU 来跑大模型一样。外部变了,工具就得跟着改变。

Markdown 赢了这么久,也该轮到 HTML 了。

觉得文章不错,微信扫描分享好友

扫码分享

企业资讯

查看更多内容