文 | 字母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了。
更多精彩内容,关注钛媒体微信号(ID:taimeiti),或者下载钛媒体App