Skip to content
Unstructured Play
Go back

从 Claude Builds Visuals 到《HTML 的不合理有效性》:为什么 2026 年的 AI 输出开始用 HTML 取代 Markdown

回路 / The Loop — 提出有价值的问题,比直接获取答案更重要。

这个专题收集和整理我与 Gemini、ChatGPT、Claude 等 AI 的对话记录。每一篇对应一次完整的提问与回答过程。通过留存这些层层追问,还原日常思考的真实轨迹。


概要

这一期从一个模糊的记忆片段开始:“Claude 前段时间在生成可视化上,好像选了 SVG,还有一份新闻稿。” 循这条线索一路追问,串出了 2026 年 Anthropic 在 AI 输出格式上的一次范式切换:

争到最后,双方收敛到一个务实的场景分工:Markdown 是 Agent 之间的工作语言,HTML 是给人类看的展示界面。这一期把这条线捋一遍,也把 SVG 相对位图和 Canvas 的技术优势、Claude Builds Visuals 与 Artifacts 的边界差异都拆开讲清楚。


Q: 过去半年 Claude 的输出从纯文字变成了带滑块、带图表的 HTML 页面——这次转向的分水岭是哪一份公告?

对应的是 Anthropic 2026 年 3 月 12 日的官方博客 Claude now creates interactive charts, diagrams and visualizations,功能名叫 Claude Builds Visuals(beta)。原文关键描述:

Claude can create custom charts, diagrams and other visualizations in-line in its responses—and then tweak and modify its creations as the conversation develops.

(Claude 可以在其响应中内联创建自定义图表、图解和其他可视化内容——并随着对话的推进调整和修改它的创作。)

三个要点:

技术实现根据 Anthropic 官方帮助中心 的说明,是 “用 HTML 构建——和网页相同的构建块”(原文:“Claude builds them using HTML—the same building blocks as web pages—so they’re interactive and specific to your question rather than static images.”)。因此天然可交互——点击节点、拖动滑块、展开全屏都可以,也支持保存为 .svg.html 文件。目前限制在网页版和桌面客户端,iOS/Android 暂不支持。


Q: 这个”内联可视化”跟 Artifacts 有什么区别?两个不是长得挺像的吗?

同一家公司的两个不同定位产物。Artifacts(工件) 是 Claude 从 2024 年起提供的功能——在侧边栏独立面板里生成一份完整、持久、可分享/下载的作品(网页、组件、文档、代码);而这次的内联可视化是白板性质,官方博客里其实有一句话专门说清楚:

Claude’s conversations already include artifacts: permanent tools and documents created by Claude, designed to be shared or downloaded as more polished work. By contrast, these charts, diagrams and visualizations serve a different purpose: Claude builds them to aid users’ understanding as it’s discussing the topic at hand. They appear in-line, rather than in a side panel, and they’re temporary—they change or disappear as the conversation evolves.

对齐成一张表更直观:

维度Artifacts(工件)Claude Builds Visuals(内联可视化)
位置侧边栏独立面板对话流内联
生命周期永久,可分享/下载临时,随对话演进或消失
目的交付一个”完整作品”帮你当下理解讨论中的主题
典型触发”生成一个 XX 应用""画一下""可视化一下""解释一下这个流程”
心智负担类似”打开一个文档”类似”在白板上画一笔”

一句话概括:Artifacts 是给你留下的作品,内联可视化是给你看完就丢的思考道具。前者对应长期归档,后者对应即时沟通。


Q: 底层为什么选 SVG,而不是位图(PNG/JPEG)或 Canvas?

先给一个术语底座:SVG(Scalable Vector Graphics,可缩放矢量图形) 是 W3C 标准的矢量图格式,用 XML 文本描述图形(点、线、多边形、贝塞尔曲线),浏览器原生支持。它的优势可以拆成五条,逐个跟位图和 Canvas 对比:

1. 无限缩放不失真

SVG 是基于数学公式渲染的矢量图形——放大 10 倍或缩到手机屏,边缘和文字始终锐利。位图(PNG/JPEG)是固定像素阵列,放大就糊。

2. 每个节点都是 DOM,天然可交互

SVG 元素是 HTML DOM(Document Object Model,网页文档树)的一部分。这意味着:

3. 体积轻量,代码即图形

一张典型的折线图/柱状图 SVG 通常只有几 KB 到几十 KB(纯 XML 文本),可以直接内联进 HTML。相比之下同分辨率的 PNG 动辄几百 KB。而且 XML 天然支持 Gzip / Brotli(两种主流的 HTTP 文本压缩算法)压缩。

4. 文本可搜索、无障碍友好

SVG 里的标签、数字、标题都是真正的 <text> 元素,不是被像素化的死图:

5. AI 时代的”天选格式”(LLM-Friendly)

这是最关键的一条。大模型天然擅长写结构化文本(XML/HTML/代码),但没法”画”出 PNG 二进制图。让 Claude 生成 SVG 相当于让它写代码,而它本来就在做这件事。

更重要的是实时演进能力:你说”把第三根柱子改成红色”,模型只需要修改 SVG 里几行 <rect> 的属性;如果是 PNG,它得整张图重新画一遍。

三种技术的对齐表

维度SVGCanvas位图(PNG/JPEG)
渲染原理矢量(DOM 节点)位图(脚本画像素)固定像素阵列
放大效果完美锐利模糊/锯齿糊成马赛克
交互能力极强(每节点可绑事件)较弱(需算鼠标坐标)
CSS 动画直接支持每帧重绘不支持
文本可搜索
LLM 友好度高(改标签即可)中(改脚本)低(需重画)
适合场景数据图表、拓扑图、UI 图标游戏、粒子系统照片、复杂纹理

Q: 三月的产品发布已经解释了 SVG,为什么五月塔里克那篇《HTML 的不合理有效性》还能在开发者圈掀起波澜?

因为它把三月的产品功能升级成了工程哲学。3 月的公告告诉你”Claude 现在会画图了”;5 月塔里克的这篇文章直接主张:用 HTML 全面取代 Markdown 作为 Claude Code 的默认输出格式——不只是画图,而是从需求文档、代码评审、设计原型到研究报告,都改用 HTML 输出。

原文的展示形式本身就在证明观点:他放了 20 个 self-contained(“自包含”,即单文件、无外部依赖、双击就能在浏览器里打开)的 .html demo,每个都是”你原本会随手翻过的 markdown 文档”变成”你会真的读进去的一个网页”。分类如下(demo 集合页):

分类数量举例
Exploration & Planning(探索与规划)3三种代码方案并排对比、多种视觉设计选项、含时间轴+风险表的实施计划
Code Review & Understanding(代码评审与理解)3带边栏批注的 diff 页、面向 reviewer 的 PR 说明、模块架构框图
Design(设计)2从 repo(代码仓库)拉出的活页设计系统、组件所有 variant(变体)的对比页
Prototyping(原型)2带滑块调节的动画 sandbox(实验沙盒页面)、四页真的能点的流程
Illustrations & Diagrams(插图与图表)2内联 SVG 图、带 hover 详情的部署流程图
Decks(幻灯片)1<section> 标签 + 20 行 JS 就是一个能翻页的演示
Research & Learning(研究/学习)2带折叠区+侧边术语表的 feature 讲解、含可交互 hash ring(一致性哈希环,分布式系统里的经典结构)的概念解释
Reports(报告)2含小图表的周报、按分钟对齐的 incident timeline(故障时间轴)
Custom Editing Interfaces(自定义编辑器)3拖拽的 ticket triage board(工单分级板)、feature flag(功能开关)编辑器、变量高亮的 prompt tuner

塔里克的核心论据可以浓缩成六条:

  1. 信息密度:HTML 有表格、SVG、CSS、多栏——Markdown 只有一维线性文本
  2. 视觉清晰度:颜色编码 + 折叠面板 + 布局层级,避免”文字墙”引发的审阅疲劳
  3. 可分享性:一个 .html 上传即可,浏览器原生打开
  4. 交互能力:滑块、按钮、输入框——用户可以直接改参数看结果,然后把参数复制回 prompt
  5. 场景适配:diff、call-graph(函数调用关系图)、时间轴——这些空间信息天生适合 HTML,Markdown 会把它们压平
  6. 人在回路(Keep Humans in the Loop):作者最后写的一句是全文题眼——“The real reason I use HTML is that I feel much more in the loop with Claude”

第 6 点最重要:长 Markdown 计划书容易让人产生”审阅疲劳”进而盲目信任 AI。HTML + 交互控件强迫你重新加入协作过程,用鼠标点、拖、切换——盯着看的时候,判断力才在线。


Q: 这么好的想法,业界怎么反应的?有反方观点吗?

支持派和反对派都很鲜明。

支持派

反方:《The Unreasonable Ineffectiveness of HTML》

独立开发者 雷杜 撰文反驳,主要论据三条:

反驳点具体数据(据 CloudZero 与其他实测)
Token 成本1000 字文档 Markdown ~250 token,HTML ~1500 token(约 6 倍);带 CSS/JS 时高达 8–10 倍。输出 token 在主流 API 里定价是输入 token 的 3–5 倍,重度用户一年下来可能多花几千美元
生成时长HTML 比 Markdown 慢 2–4 倍——塔里克本人在原文里也承认了这一点
版本控制HTML diff 在 Git 里噪音巨大——标签属性变化混杂在真实内容变更里,PR review(合并请求评审)成本大增。塔里克也承认这是”最大的短板之一”

雷杜还抛出一个尖锐的角度:Anthropic 按 token 收费,塔里克又是 Claude Code 工程师——公开建议大家用一种更耗 token 的输出格式,多少有点”既当运动员又当裁判”的嫌疑。这个疑问最终没有被正面回答,读者自行判断。

收敛后的共识

争到最后,双方其实收敛到一个务实的场景分工

场景更适合的格式
Agent 之间传消息、AI 的工作记忆、需要 git diff 的长期文档、READMEMarkdown
复杂计划评审、代码审查、多方案对比、原型演示、给人看的最终展示HTML

塔里克本人也在原文里承认——Markdown 在 AI 的”后台工作语言”角色上依然不可替代,HTML 的战场是”前台给人看的展示界面”。


Q: 那从个人视角,怎么把这个能力用起来?

上手门槛几乎为零,只需要改 prompt。三种触发方式,粒度递增:

1. 最轻:让 Claude 决定

什么都不加,Claude 会自己判断。你问”复利是怎么运作的?“它大概率给你画一条可以拖动利率滑块的曲线(依赖你用的是 claude.ai 网页版且启用了 Builds Visuals)。

2. 显式指令:在 prompt 里指定输出格式

卡帕西版:

Organize the reply into HTML, then open the generated file in a browser.

或者更具体:

用 HTML output,中间嵌入 SVG 架构图和数据流图。

3. 最重:Claude Code 里生成 self-contained HTML artifact

塔里克原文推荐的语法:

Create a single HTML artifact for this task. Use tables, SVG diagrams, and sections where useful.

配套的是”把 Claude 指向一个 design system 参考文件”这个技巧——一次配好,之后每个 HTML 输出都会自动匹配你的品牌样式,不会出现 2000 年代默认蓝色下划线的窘迫场面。

一条硬约束:给自定义交互界面加”导出按钮”

塔里克原文里有一句被反复引用:

Ask for a throwaway editor for the exact thing you’re working on — and always end with an export button that turns whatever you did in the UI back into something you can paste into the agent or commit. You stay in the loop; the loop gets tighter.

翻译成人话:你让 Claude 生成的 UI 界面必须有一个”复制为 JSON / 复制为 prompt / 复制为 markdown”的按钮。否则你在里面拖拖拽拽调好的顺序、开关、参数,全部困在这个一次性 HTML 文件里,没法回流到你的实际工作流。


参考资料


Share this post on:

Previous Post
从《Building Effective Agents》到 Claude Code 动态工作流:把 Agent 编排的 5+6 种模式一次讲清楚
Next Post
物理熵 vs 信息熵:从墨水扩散到 Hidalgo 的'结晶化想象力',以及 AI 在 2026 年怎么动摇了它