AI

Answer me with HTML:让 AI Agent 用一页 HTML 讲清复杂问题

在 AI 技术快速发展的今天,大语言模型已经能够回答各种复杂问题。然而,一个新的问题也逐渐显现:AI 能够生成 […]

文章目录

在 AI 技术快速发展的今天,大语言模型已经能够回答各种复杂问题。然而,一个新的问题也逐渐显现:AI 能够生成大量信息,却不一定能够让人轻松理解这些信息。

面对技术架构、系统设计、流程分析或者多方案比较,传统的聊天式回答往往需要用户阅读大段文字、反复梳理逻辑,甚至自己绘制流程图才能真正理解。

有没有一种方式,能够让 AI 不仅回答问题,还能把答案直接变成一份清晰、直观、易于阅读的可视化文档?

GitHub 上的开源项目 Answer me with HTML 正是为解决这一问题而设计的。

项目地址:https://github.com/QingYunA/answer-me-with-html

它的核心理念非常简单:让 AI Agent 用一页 HTML 回答复杂问题,而不是在聊天窗口中堆积文字。

一、项目简介:从聊天回答到可视化解释

Answer me with HTML 是一个面向 AI Agent 的 Skill。用户提出问题后,Agent 先生成一份简洁的 Markdown 内容草稿,再通过项目自带的 CLI 工具,将其转换为完整的 HTML 页面。

最终生成的页面可以包含:

  • 结构化文字和说明
  • 表格与多方案比较
  • 流程图和时序图
  • 代码片段
  • 时间线和架构关系
  • 交互式注释与决策选项

例如,用户可以直接向 AI Agent 提出:

解释 TCP 三次握手的工作原理。

传统 AI 可能会输出一段文字,逐步介绍 SYN、SYN-ACK 和 ACK。

而使用 Answer me with HTML 后,Agent 可以生成包含通信时序图、状态变化和关键字段说明的 HTML 页面。

用户不再需要从长篇文字中自行提取逻辑,而是可以通过图形和结构化内容快速理解整个过程。

二、核心设计:为什么不让 AI 直接写 HTML?

这是整个项目最值得关注的设计思路。

通常情况下,如果希望 AI 输出一个网页,我们会直接要求模型生成 HTML、CSS,甚至 SVG 图形。

这种方式虽然可行,但存在明显的问题。

模型不仅需要组织内容,还需要编写大量页面结构、样式代码和图形坐标。真正有价值的知识解释,反而被大量重复的前端代码所占据。

Answer me with HTML 采用了一种更加合理的分工方式:

AI 负责内容,CLI 负责呈现。

整体流程如下:

  1. 用户提出复杂问题。
  2. AI Agent 分析问题并组织答案。
  3. Agent 输出 Markdown 草稿。
  4. CLI 解析 Markdown 中的特殊组件和图表语法。
  5. CLI 自动完成页面布局、样式和图形绘制。
  6. 最终生成一个独立的 HTML 文件。

这种方式将内容创作与页面渲染分离,使模型能够专注于真正重要的信息。

项目 README 中给出了自己的基准测试结果:在特定测试条件下,直接生成 HTML 平均需要约 4,893 个输出 Token,而使用该项目生成 Markdown 草稿平均约为 612 个 Token。

这意味着在该测试中,模型输出 Token 数量减少到了原来的约八分之一。

需要注意的是,这些数据来自项目自身的测试,并不代表所有模型、任务和环境都能获得相同的性能提升。

三、核心功能:不只是一个 HTML 生成器

Answer me with HTML 并不是简单地将 Markdown 转换成网页。它更关注如何根据不同的信息类型,选择合适的可视化表达方式。

1. 自动布局与图表生成

项目支持多种图表类型,包括:

图表类型 适用场景
Flow 系统架构、业务流程、决策分支
Sequence 多个系统之间的通信过程
ER 数据库实体及关系
Tree 目录结构、模块层级
Timeline 历史事件、项目阶段
Limits 指标与限制条件
Annot 文本分析和逐句批注
KV 关键信息展示

例如,在解释一个复杂的后端系统时,AI 可以通过流程图展示请求从客户端进入系统后,经过网关、业务服务、缓存和数据库的完整路径。

与纯文本相比,这种表达方式更适合分析模块之间的依赖关系。

2. 多主题与深浅色模式

项目内置多种视觉主题:

  • Blueprint:偏工程设计风格,适合架构图和技术流程。
  • Shadcn:采用现代卡片式设计。
  • Paper:适合长篇阅读和文档展示。

同时支持亮色与暗色模式。

用户可以根据内容类型选择合适的主题,使页面既具备可读性,也保持良好的视觉体验。

3. 单文件 HTML,支持离线阅读

这是一个非常实用的特性。

项目生成的 HTML 页面可以独立保存,不依赖 CDN 或外部字体资源。

这意味着:

  • 页面可以在本地浏览器打开。
  • 可以通过文件形式分享给其他人。
  • 无需部署服务器。
  • 可以在离线环境下阅读。

对于技术文档、内部知识分享和项目分析来说,这种形式具有很高的实用价值。

4. 页面交互与反馈

生成的页面并非完全静态。

用户可以对页面中的不同内容进行评论,也可以回答 Agent 提出的决策问题。

页面会收集这些反馈,并生成一段 Markdown 消息,供用户复制回 AI Agent。

这让 HTML 页面不只是答案的展示载体,还可以成为人与 AI 之间进一步讨论的媒介。

5. 解释视频生成

除了 HTML 页面,项目还支持生成解释性视频。

用户可以要求 Agent:

用类似 3Blue1Brown 的方式解释 TCP 三次握手。

Agent 生成相应的内容草稿和分镜说明,再由 CLI 将其转换为带有逐步动画、旁白和章节导航的页面。

这种方式特别适合解释抽象概念、通信协议和复杂流程。

四、技术实现:Markdown 驱动的渲染架构

从项目的设计来看,其核心架构可以概括为三个部分。

第一层:AI Agent

负责理解用户问题,并生成结构化 Markdown 内容。

Markdown 中不仅包含普通文本,还可以包含项目定义的特殊语法,例如流程图、时序图和布局属性。

第二层:CLI 渲染引擎

项目自带的 am CLI 负责将 Markdown 草稿转换为 HTML。

它处理的内容包括:

  • Markdown 解析
  • 页面模板选择
  • 布局计算
  • 图表绘制
  • 主题和样式
  • HTML 输出

项目使用 marked 解析 Markdown,并使用 @dagrejs/dagre 进行流程图布局。

其中,图形的布局计算由程序完成,而不是要求模型手工计算 SVG 坐标。

这能够减少模型生成图形时常见的布局错误。

第三层:HTML 页面

最终输出为独立 HTML 文件。

页面不仅包含最终的解释内容,还会嵌入生成它的 Markdown 源稿。

用户可以通过页面中的功能重新获取原始内容,方便修改、复用和进一步编辑。

整体架构体现了一种值得借鉴的思路:

将大模型擅长的语义理解与程序擅长的确定性计算结合起来。

五、如何安装和使用?

项目支持多种 AI Agent,包括 Claude Code、Codex、Cursor 和 OpenCode 等。

方式一:使用统一安装命令

npx skills add QingYunA/answer-me-with-html

安装过程中可以选择需要接入的 Agent。

需要注意,使用该项目需要 Node.js 20 或更高版本。

方式二:Claude Code 插件安装

在 Claude Code 中执行:

/plugin marketplace add QingYunA/answer-me-with-html

/plugin install answer-me-with-html@answer-me-with-html

安装完成后,就可以直接向 Agent 提问。

例如:

解释 Redis 和 Memcached 的区别,
生成一个可视化 HTML 页面。

或者:

分析当前代码仓库的模块结构,
用流程图展示模块之间的依赖关系。

Agent 会根据问题生成相应的页面。

六、适合哪些应用场景?

Answer me with HTML 的价值并不局限于开发者。

技术学习

对于 TCP、HTTP、数据库索引、操作系统等抽象概念,可以通过图表和结构化页面降低理解成本。

代码仓库分析

面对大型项目,可以生成模块树、调用关系图和架构说明,帮助开发者快速了解项目。

技术方案评审

在 Redis 与 Memcached、不同数据库或者不同架构方案之间进行比较时,可以将优缺点、限制条件和最终结论组织成一个页面。

项目规划

将任务拆解、执行流程、关键节点和决策事项整合在一起,形成易于讨论的可视化计划。

知识分享

将 AI 的回答转化为独立 HTML 文档,可以直接分享给团队成员,或者作为技术博客和学习资料的基础。

七、项目的价值与局限

Answer me with HTML 最值得借鉴的地方,并不是它生成了 HTML,而是它重新思考了 AI 输出内容的方式。

传统聊天模式强调连续对话,而这个项目强调答案的组织、呈现和阅读体验。

它通过明确的内容与渲染分工,减少模型在重复性前端代码上的消耗,并将复杂信息转化为更容易理解的视觉结构。

当然,它也存在一定的使用门槛和局限:

  • 需要安装并配置支持的 AI Agent。
  • 需要 Node.js 环境。
  • 页面效果依赖 Agent 生成的内容质量。
  • 对简单问题而言,生成 HTML 可能没有必要。
  • 复杂图表依然需要合理的数据和语义设计。

因此,它更适合复杂问题、技术分析和知识解释,而不是替代所有普通聊天回答。

八、总结:AI 的下一步,不只是回答问题

Answer me with HTML 展示了一种很有意思的 AI 应用方向:

让 AI 不仅生成答案,还能够主动选择更适合人类理解的表达形式。

在信息越来越丰富的时代,真正重要的能力不只是生成更多内容,而是帮助用户更快地理解内容。

Markdown 负责表达思想,CLI 负责完成确定性的布局与渲染,HTML 则成为最终的知识载体。

这种设计让 AI Agent 从单纯的文字生成工具,进一步向知识组织和可视化解释工具迈进。

对于开发者而言,Answer me with HTML 不仅是一个值得尝试的开源项目,也提供了一种值得思考的设计理念:

不要让大模型重复做程序能够稳定完成的工作,而应该让模型专注于真正需要智能的部分。

项目地址:

https://github.com/QingYunA/answer-me-with-html

如果你经常使用 AI 进行技术学习、代码分析或方案设计,不妨尝试这个项目,让复杂问题从一段文字变成一张真正可以阅读的页面。