☰
AI生成架构图、流程图和PPT:一套无需绘图软件的高效工作流
2026/10/2 14:26:07 网站建设 项目流程

在做技术方案汇报时,架构图、流程图、PPT 是绕不开的“三件套”。以前我的习惯是打开 Visio 或 ProcessOn,一格格拖拽、连线、配色,一份架构图少说要花一两个小时;遇到临时被要求“补一张流程图”,还要现找模板,效率很低。后来我发现,如果把这三种材料拆解成“结构化信息 + 渲染模板”,让 AI 大模型先帮我们把信息和代码生成好,剩下的渲染交给免费在线工具或命令行脚本,整个流程会轻量很多。这篇文章就围绕“不用绘图软件,如何让 AI 生成架构图、流程图和 PPT”完整展开,从原理、提示词、代码示例到排错建议一次讲清楚。

这里有一个前提需要先说明:AI 并不会像人类一样打开画板给你拖一个矩形出来,它更擅长生成文本、代码和结构化数据。所以本文讲的不是“AI 一键生成图片”那种黑魔法,而是一套可落地、可复现、可版本管理的工作流。读完你至少能掌握三种技能:第一,让 AI 写出 Mermaid、PlantUML 架构图和流程图源码;第二,让 AI 写出 HTML/CSS 卡片式架构图;第三,让 AI 生成 Markdown 版 PPT 或者 python-pptx 脚本,并在本地导出真正的.pptx文件。

1. AI 生成架构图、流程图和 PPT 的核心思路

在开始实操之前,先理清一个关键问题:架构图、流程图、PPT 本质上都是“结构化信息 + 视觉呈现”。架构图是一组节点和连线的集合,比如“网关 -> 用户服务 -> MySQL”,这就是一条结构化描述;流程图是“开始 -> 判断条件 -> 两个分支 -> 结束”这种顺序逻辑;PPT 则是标题、正文、图片、版式按照页面顺序排列的结果。既然它们本质上都可以被文本描述,那就完全可以让 AI 先生成描述性文本,再通过渲染工具变成图形和幻灯片。

这套通用方法论可以拆成三个层次。

第一层是信息层。你需要清楚地告诉 AI:系统包含哪些模块,模块之间怎么调用,流程图从哪里开始、哪个环节会分支,PPT 一共要讲几个主题。这一层的描述越准确,后面的图形就越接近你的真实需求。第二层是代码层。AI 根据信息层的内容,把图形转换成 Mermaid 代码、PlantUML 代码、Graphviz DOT 代码、HTML/CSS 结构,或者 PPT 生成脚本。第三层是渲染层。你用在线编辑器、Typora、Obsidian、浏览器、Marp、Python 脚本把这些代码渲染成 PNG、SVG、PDF、PPTX。只要掌握这三层,你就不需要再依赖 Visio 和 PowerPoint 的拖拽画布。

从个人经验看,这套方法最大的优势是“可修改”。传统绘图软件里改一张架构图,要么删除重画,要么手工挪线;而用代码方式,AI 生成完代码后,你自己改一行文字、换一个方向,图形就会自动变化。对于经常更新架构文档、流程文档的团队来说,这个优势非常明显。

2. 环境准备与工具链

既然目标是“不用绘图软件”,我们实际需要的东西并不多:一个 AI 对话工具 + 若干个轻量渲染工具。AI 对话工具可以选择国内可用的 DeepSeek、Kimi、豆包、通义千问等,本文示例的提示词都是通用写法,不绑定具体平台。

渲染工具按需组合,不必全部安装:

  • Mermaid 渲染:可以用 mermaid.live 在线编辑器、Typora、Obsidian,以及 GitHub 仓库的 Markdown 预览。
  • PlantUML 渲染:VS Code 安装 PlantUML 插件,或使用 PlantUML 官方在线服务。
  • Graphviz 渲染:本地安装 Graphviz 后,用dot -Tpng 文件名.dot -o 输出.png生成图片。
  • HTML/CSS 渲染:普通浏览器即可,打印为 PDF 或截图导出高清图。
  • Marp 渲染:需要 Node.js 环境,使用npx @marp-team/marp-cli将 Markdown 转 PPTX。
  • python-pptx 渲染:需要 Python 3.6+,用pip install python-pptx安装后运行脚本生成 PPT。

如果只是临时画一张图,建议优先选择 mermaid.live,打开浏览器就能粘贴代码,不需要安装任何环境。如果需要批量生成 PPT,或者在公司内网使用,再考虑本地安装 Node.js 和 Python。

版本方面需要提醒一点:Mermaid、Marp、python-pptx 都处于持续迭代状态,不同版本的语法和命令可能略有差异。因此本文示例以通用语法为主,具体版本以你本机安装的版本为准。如果遇到“语法报错”“命令找不到”等问题,优先查看对应工具的官方升级说明,不要让旧教程限定了思路。

3. 让 AI 生成架构图

3.1 先学会写“架构图提示词”

让 AI 画架构图,核心不是“画得好”,而是“说得清”。一个合格的架构图提示词应该包含四个要素:角色、场景、布局、输出格式。举个例子:

你是一名系统架构师。请用 Mermaid 语法绘制一个微服务系统架构图。 要求: 1. 包含接入层、应用层、服务层、数据层。 2. 服务层包含用户服务、订单服务、支付服务。 3. 使用 graph TB 从上到下布局。 4. 用 subgraph 分组,组内节点标注主要技术:Spring Boot、MySQL、Redis、Kafka。 只输出 Mermaid 代码,不要额外解释。

这里为什么强调“只输出代码”?因为很多 AI 工具会在代码外面包一层说明文字,复制起来很烦。加了这句话后,输出内容会更干净,你只需要直接粘贴到渲染工具即可。

如果你不确定架构图里要放哪些模块,也可以让 AI 先帮你梳理。比如输入“请帮我梳理一个电商系统的核心模块,并输出成 Mermaid 架构图”。AI 会先根据常识列出用户、商品、订单、支付、库存等模块,再生成图形代码。这时候你只需要把生成结果复制到 mermaid.live 或 Typora 中预览。

3.2 用 Mermaid 生成微服务架构图

下面是一段 AI 生成的微服务架构图源码,使用的就是上面示例中的提示词。注意这段代码需要粘贴到 mermaid.live、Typora 或 Obsidian 中才能看到图形,我这里只用普通代码块展示源码结构。

graph TB subgraph 接入层 A[Nginx 网关] end subgraph 应用层 B[Web 前端] C[移动 App] end subgraph 服务层 D[用户服务] E[订单服务] F[支付服务] end subgraph 数据层 G[(MySQL)] H[(Redis)] I[(Elasticsearch)] end A --> B A --> C B --> D B --> E C --> D C --> E D --> E E --> F D --> G E --> G F --> G F --> I H --> D H --> E

这段代码的含义很直接:graph TB表示从上到下布局;subgraph表示一个分组;A[Nginx 网关]表示一个矩形节点,方括号里是显示名称;-->表示连线。渲染出来后,你会得到一张带分组背景色的微服务架构图。如果你觉得线条太乱,可以让 AI 改成A -.-> B这种虚线关系,或者调整连线的疏密。

使用 Mermaid 时有几个容易踩坑的点需要注意。第一,节点名称尽量不要包含特殊符号,比如括号、引号,容易造成语法解析失败;如果必须包含,可以用引号包起来,例如A["Nginx(网关)"]。第二,中文节点在多数渲染器里都能正常显示,但如果你用旧版 Typora,可能需要更新到最新版本。第三,如果图形太大,可以考虑把数据层的 Redis、Kafka 等基础设施放到另一个 subgraph 中,不要把所有节点平铺在一张图里。

3.3 使用 PlantUML 和 Graphviz 生成组件架构图

除了 Mermaid,AI 还可以生成 PlantUML 和 Graphviz 代码。PlantUML 适合表达组件依赖关系,Graphviz 适合表达复杂拓扑结构。两者的思路一致:先让 AI 生成结构化文本,再渲染成图片。

例如,下面这段 PlantUML 代码描述了一个简单的 Java 后端组件架构:

@startuml !theme plain component "接入层" as nginx { [Nginx 网关] } component "服务层" as service { [用户服务] [订单服务] } component "存储层" as store { database "MySQL" as mysql database "Redis" as redis } nginx --> service service --> store @enduml

将代码粘贴到 PlantUML 在线服务或 VS Code 插件中,就能生成对应的组件图。PlantUML 的优点是自带一套图形语法,支持组件、时序、用例等多种图表类型,适合喜欢“约定大于配置”的开发者。

Graphviz 的 DOT 语言则更偏底层。你可以让 AI 生成这样一个最小示例:

digraph G { rankdir=TB; node [shape=box, style="rounded"]; "接入层" [shape=box]; "服务层" [shape=box]; "接入层" -> "用户服务" -> "订单服务"; "订单服务" -> "MySQL" [label="读写"]; "用户服务" -> "Redis" [label="缓存"]; }

在装有 Graphviz 的机器上,执行命令dot -Tpng 输入.dot -o 输出.png,就能得到一张 PNG 图片。相比 Mermaid,Graphviz 提供的布局算法更稳定,适合大量节点的架构关系图。当然,学习成本也稍微高一点,日常使用我更推荐 Mermaid。

3.4 用 HTML/CSS 生成可直接预览的架构图

有些场景不适合用 Mermaid 分组,比如要给客户看一张“产品形态部署图”,希望颜色更柔和、卡片更精细。这时候可以让 AI 生成 HTML/CSS 页面,用 flex 布局和圆角卡片模拟架构图。

提示词可以这样写:

请用 HTML + CSS 绘制一张系统架构图。 要求: 1. 页面宽度 1200px,居中显示。 2. 分为四层:接入层、应用层、服务层、数据层。 3. 每层使用不同背景色,层内放置多个圆角卡片。 4. 层与层之间用垂直居中的连接线或箭头表示。 5. 输出完整 HTML 代码,可直接保存为 .html 文件打开。

AI 生成的 HTML 通常包含一段<style>样式和<div>结构。你把它保存为architecture.html,用浏览器打开,就能看到一张排版精美的架构图。如果需要高清图片,可以用浏览器打印功能导出 PDF,再用 PDF 转 PNG;如果只是发给同事看,直接截图也够用。

HTML/CSS 方案最大的优势是样式自由度极高。你可以让 AI 把网关节点放在最上方,把服务注册中心放在侧边,把数据库放在底部,还可以随意调整颜色和圆角。缺点是不能像 Mermaid 那样自动计算连线,所有内容都是固定的。所以这个方案适用于“展示效果优先、结构相对固定”的架构图。

4. 让 AI 生成流程图

4.1 从流程描述到 flowchart 代码

流程图的难点不是画图,而是把流程逻辑拆清楚。通常我先用一两句话把流程告诉 AI,再让它转换成 flowchart 代码。比如用户登录流程,提示词可以这样写:

请用 Mermaid flowchart LR 生成用户登录流程图。 流程如下: 用户输入账号密码,前端校验是否为空;如果不为空,后端校验账号密码是否正确; 正确则生成 Token 并返回,错误则返回错误提示。 前端校验为空时也返回错误提示。 只输出 Mermaid 代码。

AI 生成的代码类似这样:

flowchart TD A[开始] --> B[输入账号密码] B --> C{前端校验是否为空} C -- 否 --> D{后端校验账号密码} C -- 是 --> E[返回错误提示] D -- 是 --> F[生成 Token 并返回] D -- 否 --> E E --> A F --> G[结束]

这里{}表示判断节点,-- 是 -->表示连线上的分支标签。渲染后就是一个标准登录流程图。你可能会发现 AI 生成的连线顺序和你想的不完全一样,比如“返回错误提示”后又连回了“开始”,这是流程表达方式的问题。遇到这种情况,不要手工去画,直接在提示词中补充一句“如果校验失败,流程结束,不再回到开始”,AI 就会重新调整分支方向。

流程图生成之后,一定要检查几个关键点:判断节点是否覆盖了所有分支,是否有死循环,结束节点是否唯一。AI 生成流程图的逻辑能力虽然不错,但它不理解你业务里的特殊规则。比如“用户连续输错三次账号锁定”,这个条件如果不写在提示词里,AI 一定不会自己加进去。所以给 AI 的信息越完整,流程图的可用性越高。

4.2 用 sequenceDiagram 表达接口时序

除了流程分支,接口调用时序也是技术文档里经常需要绘制的内容。Mermaid 的sequenceDiagram非常适合表达这种“多个对象之间按时间顺序发送消息”的场景。

提示词示例:

请用 Mermaid sequenceDiagram 描述一个用户下单的时序图。 参与对象:前端、订单服务、支付服务、库存服务。 流程: 1. 前端发起下单请求; 2. 订单服务创建订单; 3. 订单服务调用库存服务扣减库存; 4. 订单服务调用支付服务生成支付单; 5. 支付成功回调订单服务更新订单状态。 只输出 Mermaid 代码。

生成的代码类似:

sequenceDiagram participant 前端 participant 订单服务 participant 库存服务 participant 支付服务 前端->>订单服务: 提交订单 订单服务->>订单服务: 创建订单 订单服务->>库存服务: 扣减库存 库存服务-->>订单服务: 扣减结果 订单服务->>支付服务: 创建支付单 支付服务-->>订单服务: 支付单号 前端->>支付服务: 发起支付 支付服务-->>订单服务: 支付回调 订单服务->>订单服务: 更新订单状态

渲染后,你会得到一张带有生命线和消息箭头的时序图。时序图在方案评审时特别有用,它能直观展示服务间调用关系。和 flowchart 一样,时序图也适合用代码方式维护,业务变化时让 AI 改一行消息,重新渲染即可。

5. 让 AI 生成 PPT

5.1 用 Markdown + Marp 快速生成幻灯片

PPT 是这三件套里最麻烦的,因为版式、字号、图片、对齐都要考虑。如果想快速做一版文字型 PPT,可以用 Markdown 写成幻灯片,然后用 Marp 转成 PPTX。

先让 AI 生成 Markdown 版幻灯片,提示词可以这样写:

请用 Marp 格式生成一个主题为“软件架构设计原则”的 PPT。 要求: 1. 包含封面、目录、5 页正文、结尾页。 2. 每页必须有标题和要点。 3. 使用 --- 作为分页符。 4. 输出 Markdown 源码。

AI 会生成类似下面的内容:

--- theme: default paginate: true --- # 软件架构设计原则 - 单一职责 - 开闭原则 - 依赖倒置 - 接口隔离 - 迪米特法则 --- ## 目录 - 设计原则概述 - 单一职责 - 开闭原则 - 依赖倒置 - 小结 --- ## 单一职责 一个模块只承担一个职责,减少变更扩散。 --- ## 开闭原则 对扩展开放,对修改关闭。 ---

把这段内容保存为slides.md,本机安装 Node.js 后,运行下面的命令:

npx @marp-team/marp-cli slides.md -o slides.pptx

Marp 就会生成一个slides.pptx文件,你可以用 PowerPoint 或 WPS 打开。想要 PDF 时,把命令改成-o slides.pdf即可。Marp 也支持调整主题,在 Markdown 开头的 YAML 配置里写theme: uncover或theme: gaia,可以得到不同风格的版式。

这个方案非常适合快速出汇报初稿:AI 写内容,Marp 排版,你再在 PowerPoint 里做细节调整。整个过程不需要手动拖拽文本框,也不用下载付费模板。如果公司要求使用内部模板,你可以在生成 PPTX 后,用 PowerPoint 的“设计”功能套用模板,或者把模板作为 PPTX 母版预先放入项目目录,再在 Marp 中引用。

5.2 用 python-pptx 脚本生成 PPT

如果 PPT 里要插入大量数据图表、多个固定版式,Markdown 转 PPT 就不够灵活了。这时可以用 python-pptx 库,让 AI 直接生成 Python 脚本,本地运行后输出.pptx文件。

首先安装依赖:

pip install python-pptx

接下来让 AI 生成一个三页 PPT 脚本。提示词示例:

使用 python-pptx 创建一个三页 PPT: 第一页:标题为“AI 生成 PPT 实战”,副标题为“用脚本代替手工拖拽”; 第二页:标题为“核心思路”,正文内容为“1. AI 生成脚本 2. 本地运行脚本 3. 自动输出 pptx”; 第三页:标题为“总结”,正文内容为“AI + 模板 + 脚本可以批量生成演示文稿”。 请输出完整 Python 代码。

AI 生成的代码可能是这样:

from pptx import Presentation from pptx.util import Inches # 创建一个演示文稿对象 prs = Presentation() # 使用第 1 种版式:标题和内容 layout = prs.slide_layouts[1] # 第一页 slide = prs.slides.add_slide(layout) slide.shapes.title.text = "AI 生成 PPT 实战" slide.placeholders[1].text = "用脚本代替手工拖拽" # 第二页 slide = prs.slides.add_slide(layout) slide.shapes.title.text = "核心思路" slide.placeholders[1].text = "1. AI 生成脚本\n2. 本地运行脚本\n3. 自动输出 pptx" # 第三页 slide = prs.slides.add_slide(layout) slide.shapes.title.text = "总结" slide.placeholders[1].text = "AI + 模板 + 脚本可以批量生成演示文稿" # 保存文件 prs.save("demo.pptx") print("生成完成:demo.pptx")

把代码保存为make_ppt.py,在命令行执行:

python make_ppt.py

当前目录下就会出现demo.pptx。用 PowerPoint 打开后,第一页是标题页,后面两页是内容页。这个脚本的关键是slide_layouts[1]。不同版本、不同模板的 PPT 占位符索引可能不同,如果你运行后发现正文没有显示,可能就是因为模板中的布局索引不一致。可以先打印prs.slide_layouts查看有哪些布局,再选择合适的索引。

python-pptx 的好处是脚本可以重复执行。比如你一个月要生成 30 份周报 PPT,只需要把数据和标题写成列表,循环生成即可。AI 帮你写好了一次性脚本,后续修改数据时不用重新画图,直接改 Excel 或 JSON,再运行一次脚本就完成了。

5.3 把复杂图嵌入 PPT 的工作流

PPT 里经常需要嵌架构图、流程图。现在我们已经有前几步的基础,所以一个完整的工作流可以是:

  1. 让 AI 生成 Mermaid 架构图或流程图源码。
  2. 在 mermaid.live 中渲染并导出为 SVG 或 PNG 图片。
  3. 让 AI 生成 python-pptx 脚本,在脚本中用add_picture方法把图片插入到指定位置。
  4. 运行脚本生成 PPT。

例如,在 python-pptx 脚本里插入图片的片段如下:

from pptx import Presentation from pptx.util import Inches prs = Presentation() slide = prs.slides.add_slide(prs.slide_layouts[6]) # 空白版式 slide.shapes.add_picture("architecture.png", Inches(1), Inches(1), width=Inches(8)) prs.save("with_architecture.pptx")

这样就把“吃流程图的 PPT”变成了“脚本生成的 PPT”,整套流程都可以用代码维护。不过要注意,add_picture的图片路径必须是本机实际存在的文件,AI 生成的代码不会自动帮你导出图片。你需要确保在运行脚本前,已经通过 Mermaid 渲染工具把图片导出到工作目录。

6. 常见问题与排查思路

在实际使用中,最容易遇到的问题集中在语法、布局、字体三个方面。我整理了一张排查表,供你快速定位:

问题现象可能原因解决思路
Mermaid 渲染报错语法版本不兼容、节点名称含特殊符号检查报错行,去掉节点名称中的括号,改用英文引号包裹
架构图层级不对提示词没有明确分组和分层补充“先 subgraph 分组,再连线”“按自上而下分层”等约束
流程图分支混乱判断条件语义不清晰先让 AI 列出流程步骤,再确认分支条件后转 flowchart
PPT 导出后中文字体丢失Marp 主题未指定中文字体在 YAML 或 CSS 中设置font-family: "Microsoft YaHei"或宋体
python-pptx 生成后没有正文布局索引选错打印prs.slide_layouts的占位符索引,选择包含正文占位符的布局
导出图片不清晰直接截图导致模糊优先导出 SVG 或 PDF,再用工具转成高分辨率 PNG
AI 生成代码很啰嗦没有限定输出格式提示词结尾加“只输出代码,不要解释”

如果遇到 Mermaid 报错,最直接的办法不是自己去改,而是把报错信息原样复制给 AI,让 AI 帮你修复。比如你可以说“下面这段 Mermaid 代码在 Typora 中报错,请根据报错信息帮我修正,并解释原因”。AI 会根据你的描述重新生成符合语法的代码。这个方法比手动检查快很多。

另外,很多 AI 对话工具有“连续上下文”能力。你在同一个对话里先让它生成架构图,再让它生成流程图,它可以记住你之前提到的模块名。但如果换了一个新对话,所有背景信息都要重新描述。所以长时间做一个方案文档时,建议把系统模块、技术选型、业务规则等背景写在一段固定上下文里,每次画图时粘贴提示词,保证 AI 连续输出的风格一致。

7. 最佳实践与工程建议

这套方法用多了以后,我总结了几个工程化建议,也是维护效率的关键。

第一,提示词模板化。把你常用的架构图、流程图、PPT 生成需求写成模板,存放在一个 Markdown 文件里。每次需要画图时,复制模板,替换其中的模块名、流程步骤或章节主题即可。例如我的模板长这样:

你是产品经理/架构师。请用 Mermaid 绘制【XX 图】。 结构:... 布局:从【上/左】到【下/右】。 要求:使用 subgraph 分组,节点名称使用中文,连线不得交叉。 只输出代码。

第二,代码优先,图片其次。尽可能保留 AI 生成的.mmd、.dot、.md、.py文件,而不是只导出 PNG。这些源码就是架构图、流程图、PPT 的源文件。同事需要修改时,把源码交给 AI 改,比重新截图标注省力得多。配合 Git 管理,还能看到每次图形的变更记录。

第三,敏感信息脱敏。如果你工作中涉及内网地址、真实用户名、密钥、未公开业务数据,不要让 AI 直接生成带有这些敏感信息的架构图。可以先做一层脱敏处理,比如把192.168.1.10改成内网网关,把user-001改成用户A。在公有 AI 工具中不要粘贴机密代码块。涉及生产环境的系统链路,建议使用本地私有化模型或在公司允许的内部 AI 平台中处理。

第四,批量内容用脚本。架构图通常比较少,手动调没问题;但 PPT 如果是周报、月报、培训课件这类重复型内容,尽量选择 python-pptx 脚本化方案。AI 生成一次脚本,后续替换数据源即可,不用每次都重新生成 PPT。

第五,善用渲染工具的导出能力。Mermaid 在线编辑器可以导出 PNG 和 SVG,Typora 可以直接复制图片到剪贴板,浏览器打印可以导出 PDF。技术上,“有没有绘图软件”已经不影响产出质量。关键是让 AI 把图形信息转换成代码,渲染工作交给稳定工具。

8. 写在最后

在我看来,AI 生成架构图、流程图、PPT 并不是一个“替代设计师”的神话,而是一种新的生产习惯:把画图问题转换成代码生成问题,把“鼠标拖拽”变成“描述 + 提示词 + 渲染”。我身边的同事已经开始用这个方式处理方案文档,遇到需要修改时,直接在源码里改一行,比重新画一遍快得多。

如果你还不太熟悉 Mermaid 语法,不必焦虑。你不需要背语法,只需要会用自然语言描述图形结构,然后让 AI 帮你翻译成代码。把“用户登录后判断权限,有权限进入首页,没有权限返回错误提示”这句话交给 AI,它生成 flowchart 源码,你复制到 mermaid.live 渲染,一张流程图就出来了。整个过程十五分钟以内。

下一步你可以试着从一个小场景开始:把你当前项目的模块清单发给 AI,让它生成一张 Mermaid 架构图,再渲染出来看看结构是否符合预期。接着把一个操作流程描述给 AI,生成 flowchart;最后用 Marp 做一个三页 PPT 初稿。当这三样都跑通后,你的办公桌上真的可以少装不少“重量级软件”,而产出效率反而更高。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询