![]()
我才剛開始用Markdown不到一年,怎么現(xiàn)在Markdown就要被淘汰了?
事情經(jīng)過是這樣的,Claude Code團(tuán)隊(duì)成員Thariq在X上發(fā)表了一篇文章,標(biāo)題叫《Using Claude Code: The Unreasonable Effectiveness of HTML》。
他說他自己現(xiàn)在已經(jīng)完全停用Markdown了,轉(zhuǎn)而用HTML作為AI輸出的默認(rèn)格式。
不是,先等一會的,Thariq的觀點(diǎn)讓我更糊涂了。
你說Markdown格式過時這我還能理解,畢竟這幾年用下來,或多或少我也能說出點(diǎn)Markdown的缺點(diǎn)。可是要用HTML去替換Markdown……這玩意比Markdown還早誕生了10多年啊!
本身Markdown就是因?yàn)镠TML不好用才誕生的,怎么現(xiàn)在反過來要被HTML替代了呢?
所以,要搞清楚Thariq的邏輯,咱們得先從Markdown這個格式本身說起。
它到底是個什么東西?為什么這么多人在用?又為什么現(xiàn)在突然就不夠用了?
01
Markdown是怎么來的,為什么現(xiàn)在又要被淘汰?
2004年,約翰·格魯伯(John Gruber)與亞倫·斯沃茨(Aaron Swartz)共同設(shè)計了Markdown。
他們要解決的痛點(diǎn)很明確,那就是寫博客。
2004年前后,博客正在興起,但當(dāng)時的博客平臺像WordPress、TypePad的編輯器功能很有限。格魯伯自己寫 Daring Fireball 博客時,每次發(fā)文章都得手寫HTML代碼,
、這些標(biāo)簽寫到煩。
如果從Word復(fù)制粘貼,又會帶來一堆亂七八糟的格式代碼,在不同瀏覽器里顯示還會出問題。
格魯伯想要的很簡單,就是一種“看起來像普通文本,但能自動轉(zhuǎn)成網(wǎng)頁”的格式。
寫作者只需要打字,不用記那些 HTML 標(biāo)簽,不用在可視化編輯器和代碼視圖之間來回切換,寫完直接發(fā)布。
于是,Markdown就是這樣誕生的。用#表示標(biāo)題,用*表示列表,用**表示加粗,幾個符號就夠了。
最巧妙的地方,是即使不轉(zhuǎn)換成網(wǎng)頁,你也能通過這些符號,能明白哪里是標(biāo)題,哪里是重點(diǎn)。
通過Jekyll、Hexo這些工具,就可以用Markdown來寫博客,然后一鍵生成靜態(tài)網(wǎng)站。
隨后,技術(shù)博客平臺比如Medium、Dev.to也開始支持Markdown寫作。
久而久之,整個技術(shù)社區(qū)形成了“默認(rèn)用Markdown”的集體習(xí)慣。
不過Markdown爆火并不是因?yàn)檫@事,其實(shí)Github才是它的第一推手。
當(dāng)GitHub將Markdown作為README標(biāo)準(zhǔn),整個開源社區(qū)一夜之間有了統(tǒng)一的文檔語言。
README 是一個文檔文件,用于介紹項(xiàng)目的基本信息、使用方法、安裝步驟等內(nèi)容,是項(xiàng)目的說明書。它一般是訪問者打開項(xiàng)目時首先看到的文檔。
程序員們發(fā)現(xiàn),用Markdown寫文檔比用純文本清晰,比用Word方便,比用HTML簡潔。
更重要的是,Markdown是純文本格式,可以完美融入Git等版本控制系統(tǒng)。
每次修改都能清晰追蹤diff,這對程序員來說簡直是剛需。
以前README常用txt格式,但是txt沒辦法像Markdown一樣能給人直觀的感受。你打開一個txt文件,除了文字還是文字,沒有任何結(jié)構(gòu)提示。
但Markdown不一樣,即使不渲染,你也能認(rèn)清#號、*號以及普通文字的區(qū)別。
接下來就是各類筆記軟件。
Bear、Obsidian、Notion這些工具都把Markdown作為底層格式。
用Markdown記筆記有一個好處,你可以把這個筆記放在任何一種文本編輯器里面打開和編輯,不需要編程軟件,也不會因?yàn)檐浖姹净蚱脚_差異而出現(xiàn)兼容性問題。
你今天用Obsidian寫的筆記,明天可以用VS Code打開,后天可以用Typora編輯,大后天可以用Vim修改。
Word就不行。你用Word寫,你就只能用Word類的工具打開,普通記事本工具都沒辦法打開。
而且97-2003版本的.doc文件,和2007版本以后的.docx文件還有差別,如果使用SmartArt、高級圖表這些功能,那文件就不能以.doc命名,否則再次打開的時候就會顯示錯誤。
程序員們非常喜歡用Markdown,還有一個原因是它原生支持代碼塊語法高亮。
用三個反引號加語言名,就能在文檔里插入代碼示例。這讓程序員可以在同一份文檔里無縫混合文字說明和代碼示例。
到了AI時代,Markdown又成為了大語言模型的首選格式。
原因很簡單,它語法簡單、token開銷低,非常適合大語言模型生成和解析。
而且結(jié)構(gòu)清晰,便于模型在訓(xùn)練中學(xué)習(xí)標(biāo)題、段落、列表的層次語義。
關(guān)鍵是它對人類友好,我們能直接看懂Markdown格式的原文。
ChatGPT、Claude、Gemini這些模型在回答問題時,默認(rèn)都用Markdown格式輸出。程序員用的Cursor、Windsurf、Cline、Aider這些編程Agent,也都把Markdown作為標(biāo)準(zhǔn)輸出格式。
從一個小眾的寫作格式,變成了整個技術(shù)社區(qū)的通用語言,再到現(xiàn)在,Markdown成為了AI時代的標(biāo)準(zhǔn)輸出格式。
那為啥要淘汰Markdown呢?
Thariq給出的原因是Markdown只能表達(dá)基礎(chǔ)文檔結(jié)構(gòu),無法原生承載表格樣式、SVG插圖、交互組件、空間布局等富媒體信息。
Claude在Markdown里不得不用ASCII畫圖、用Unicode字符估算顏色。
![]()
Thariq在文章里貼了一張截圖,Claude試圖用Unicode字符來表示顏色。
這就像讓你你去畫一幅油畫,但只給你一支鉛筆。你可以用鉛筆畫出明暗關(guān)系,但那終究不是油畫。
更關(guān)鍵的問題是,當(dāng)Agent能一次性產(chǎn)出數(shù)百行的規(guī)格文檔、實(shí)現(xiàn)方案、研究報告時,純文本的Markdown就沒辦法閱讀了。
Thariq坦言自己基本不會讀超過100行的Markdown文件,他的同事們也不會。
這不是他懶,這是人類認(rèn)知的極限。
當(dāng)一份文檔超過一定長度,如果沒有視覺層次、沒有顏色編碼、沒有可折疊的區(qū)塊,你的大腦就會自動放棄處理。你會滾動鼠標(biāo),假裝自己在看,但其實(shí)什么都沒看進(jìn)去。
最后一個問題,Thariq認(rèn)為也是最致命的問題。
Markdown原本的優(yōu)勢之一是人類方便手改,但在agent工作流里,用戶越來越少親自編輯文件,而是讓Claude去改。
這讓Markdown易于手寫的核心優(yōu)勢在當(dāng)下變得無關(guān)緊要。
你想想,如果你不需要自己寫Markdown,只需要看Claude生成的結(jié)果,那Markdown的簡潔語法還有什么意義?
反而是它的表達(dá)能力不足,成了最大的短板。
所以Thariq的結(jié)論是,Markdown在AI時代已經(jīng)不夠用了。
它曾經(jīng)是最好的選擇,但現(xiàn)在它的優(yōu)勢正在消失,而它的劣勢正在放大。
02
HTML這么古老,為什么反而要來淘汰Markdown?
HTML至今已有30多年歷史,比Markdown早了整整10多年。
它是萬維網(wǎng)的底層文檔語言。
從一開始,HTML就是為了在網(wǎng)頁上展示各種內(nèi)容而生的。你可以點(diǎn)擊鏈接跳轉(zhuǎn)、可以嵌套多層結(jié)構(gòu)、可以插入圖片視頻、可以添加交互按鈕,正是因?yàn)镠TML。
Markdown是為了讓寫作更簡單而生的,它的本質(zhì)是做減法,只保留最基礎(chǔ)的文檔結(jié)構(gòu)。
HTML是為了讓表達(dá)更豐富而生的,它的本質(zhì)是做加法,能表達(dá)的東西越多越好。
在人類手寫的時代,Markdown贏了,因?yàn)楹唵尉褪莾?yōu)勢。
但在AI生成的時代,HTML贏了,因?yàn)樨S富就是優(yōu)勢。
Thariq的論斷是,Claude能讀懂的幾乎所有信息,都能用HTML高效表達(dá)。
HTML可以一次性表達(dá)表格、CSS樣式、SVG插圖、腳本交互、空間定位、圖像嵌入等。
你想展示一個數(shù)據(jù)表格,Markdown只能用豎線和橫線拼出一個簡陋的表格,而且還不能合并單元格,不能設(shè)置列寬,不能給單元格上色。
HTML可以做到這一切。
你想畫一個流程圖,Markdown只能用ASCII字符拼,或者插入一張圖片。
HTML可以用SVG直接畫,而且是矢量的,放大不失真,還可以加交互。
你想做一個可折疊的區(qū)塊,Markdown做不到。
HTML可以用details和summary標(biāo)簽,一行代碼搞定。
不僅如此,HTML也不挑設(shè)備。
任何設(shè)備上的瀏覽器都能原生渲染HTML,上傳到S3就能一鍵分享鏈接。但是Markdown卻需要專用渲染器。
Thariq舉了一個例子,說你用Claude生成了一份項(xiàng)目規(guī)格文檔,然后你想把這個文檔分享給你的項(xiàng)目成員,此時你會怎么做?
如果是Markdown,你得先把它轉(zhuǎn)成HTML或PDF,或者把它上傳到GitHub,或者把它粘貼到Notion里。
如果是HTML,你直接把文件上傳到S3,把鏈接發(fā)給同事,他們點(diǎn)開就能看。
哪個更方便不言而喻。
HTML還可以做響應(yīng)式布局、標(biāo)簽頁、折疊區(qū)塊、顏色編碼,讓數(shù)百行內(nèi)容依然易讀,這是純文本Markdown永遠(yuǎn)無法做到的。
Thariq在文章里展示了一個例子,他讓Claude生成了一份實(shí)現(xiàn)計劃,用HTML格式輸出。
![]()
整個文檔有幾百行,但因?yàn)橛昧藰?biāo)簽頁、折疊區(qū)塊、顏色編碼,閱讀起來非常清晰。你可以先看概覽,然后點(diǎn)開感興趣的部分,深入了解細(xì)節(jié)。
這種體驗(yàn)是Markdown永遠(yuǎn)給不了的。
最關(guān)鍵的來了,HTML可以讓Claude生成帶滑塊、按鈕、拖拽卡片的一次性編輯器,用戶調(diào)完參數(shù)后一鍵導(dǎo)出為JSON或Prompt粘回對話。
Markdown生成的內(nèi)容是不能交互的。
Thariq舉了一個例子,他想調(diào)整一個動畫的參數(shù),他讓Claude生成一個HTML文件,里面有幾個滑塊,可以調(diào)整動畫的速度、延遲、顏色。
![]()
他拖動滑塊,實(shí)時看到動畫效果的變化,找到滿意的參數(shù)后,點(diǎn)擊復(fù)制按鈕,把參數(shù)粘貼回Claude對話框,讓Claude用這些參數(shù)生成最終代碼。
整個過程行云流水,完全不需要來回修改代碼。
這就是HTML的交互能力,也是Markdown永遠(yuǎn)做不到的事情。
以前我們選擇工具,看的是它好不好寫。
現(xiàn)在我們選擇工具,看的是它好不好讀,好不好交互。
所以Thariq說,他現(xiàn)在已經(jīng)完全停用Markdown了,轉(zhuǎn)而用HTML作為AI輸出的默認(rèn)格式。
這不是復(fù)古,這是進(jìn)化。
03
哪些工具和模型還在用Markdown?它們會被HTML取代嗎?
當(dāng)下還有大量的工具都在使用Markdown。
比如ChatGPT、Gemini、DeepSeek、Kimi等主流聊天界面,以及Cursor、Windsurf、Cline、Aider等編程agent。還有飛書文檔、語雀這樣的寫作工具。
這些工具和場景,Markdown仍然是主流選擇。
但這不代表它們可以高枕無憂了。
事實(shí)上,HTML已經(jīng)在一些場景里開始取代Markdown了。
需要視覺結(jié)構(gòu)和圖表支撐的長文檔,HTML的閱讀體驗(yàn)優(yōu)勢明顯。
當(dāng)你需要生成一份幾千字的研究報告,里面有數(shù)據(jù)表格、流程圖、架構(gòu)圖、代碼示例,如果用Markdown輸出,用戶看到的就是一堆文字和ASCII圖形,很難抓住重點(diǎn)。
但如果用HTML輸出,你可以用標(biāo)簽頁把不同章節(jié)分開,用折疊區(qū)塊把細(xì)節(jié)隱藏起來,用顏色編碼把關(guān)鍵信息高亮,用SVG把圖表畫出來。
![]()
用戶打開文件,第一眼就能看到整個報告的結(jié)構(gòu),然后根據(jù)自己的興趣深入閱讀。
這種體驗(yàn)差異是質(zhì)的飛躍。
另外,代碼審查也是一個非常具有代表性的場景。
GitHub的diff視圖已經(jīng)很好了,但Thariq說他現(xiàn)在給每個PR都附上一個HTML代碼解釋器,比GitHub原生diff更直觀。就像下圖展示的這樣。
![]()
HTML可以渲染diff、流程圖、模塊依賴關(guān)系,可以用顏色編碼標(biāo)注不同嚴(yán)重程度的問題,可以在代碼旁邊加注釋,可以把復(fù)雜的邏輯用圖表展示出來。
尤其是當(dāng)你不熟悉某個模塊的時候,一個好的HTML代碼解釋器可以讓你在幾分鐘內(nèi)理解整個PR的邏輯,這樣你就不會迷失在幾百行diff里面了。
鑒于HTML的種種優(yōu)勢,Anthropic選擇以身作則,因此網(wǎng)頁AI設(shè)計工具Claude Design現(xiàn)在全面基于HTML運(yùn)行。
因?yàn)樵O(shè)計本身就是視覺化的工作,用Markdown描述設(shè)計其實(shí)是一件非常別扭的事情。
但用HTML就不一樣了,HTML本身就是一種設(shè)計語言,它可以直接表達(dá)布局、顏色、字體、間距、動畫。
Claude可以在HTML里畫出設(shè)計稿,加上交互效果,讓用戶直接體驗(yàn),然后根據(jù)用戶的反饋調(diào)整參數(shù),最后生成最終的代碼。
整個流程完全不需要離開HTML環(huán)境。
不過話又說回來了,其實(shí)還是有很多場景依然離不開Markdown。
最基礎(chǔ)的,比如日常聊天、快速記錄、短答復(fù),Markdown的token成本和即時性依然無可替代。
如果你只是問Claude一個簡單的問題,它回答兩三句話,用Markdown完全夠了。
用HTML反而顯得多余,因?yàn)樯蒆TML需要更多token,渲染HTML也需要更多時間。
所以在需要版本控制的場景下,Markdown仍然是更好的選擇。
訓(xùn)練語料和結(jié)構(gòu)化Prompt中,Markdown的簡潔性直接關(guān)系到token效率和穩(wěn)定性。
大語言模型的訓(xùn)練語料里,Markdown是一種非常常見的格式。
HTML不會完全取代Markdown,但它會在越來越多的場景里成為更好的選擇。這并不代表說Markdown失敗了,是我們的時代和環(huán)境在改變。
就像以前用GPU玩游戲,現(xiàn)在用GPU來跑大模型一樣。外部變了,工具就得跟著改變。
Markdown贏了這么久,也該輪到HTML了。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.