让AI把操作规则画成Mermaid:逐条走完分支,再导出流程图

一段操作说明交给 AI,几秒钟就能变成流程图。真正容易漏掉的是“否则怎么办”:少画一条候补分支,或者把“待确认”写成“已成功”,图仍然可能很好看。这个练习用一份虚构报名规则,带你完成文字规则、分支表、Mermaid 源码和路径验收四份互相对得上的结果。

适合整理工作流程、活动安排和帮助文档的人。你不需要会画图,也不需要安装画图软件;读完后应能拿着源码重新生成图,而不只留下一张无法修改的截图。

一、准备与费用边界

  • 准备一个能输出文本的 AI 对话工具。本文不依赖特定模型、联网搜索或付费制图功能,账号、额度和地区限制以你使用的服务为准。
  • 打开 Mermaid 官方文档所链接的 Mermaid Live Editor。本练习用其文本源码编辑与预览,不需要购买商业协作服务。若页面要求付费升级,先确认没有误入另一款产品。
  • 在线编辑器与 AI 都只放虚构流程,不上传人员名单、内部审批口令或真实订单。无法访问在线编辑器时,先保留 .mmd 纯文本,再到组织已批准的 Mermaid 环境预览。

二、把原始说明拆成分支表

练习是“手作公开课报名初筛”。它不代表真实机构规则。输入前提也要写进材料:时间冲突只有是或否;剩余名额是非负整数。缺失、未知或负数属于需要澄清的输入,不要让 AI 偷偷算成“否”。

判断顺序 条件满足 条件不满足
1. 称呼和场次都齐全? 继续检查时间冲突 请补充资料,结束本次处理
2. 该场次时间冲突? 请改选场次,结束本次处理 继续检查剩余名额
3. 剩余名额大于0? 列入待人工确认,结束本次处理 名额等于0,列入候补,结束本次处理

这里有两个容易被“优化”错的地方。第一,资料不齐全时不再检查冲突,补齐后另开一次处理;没有自动返回的循环。第二,“列入待人工确认”不是“确认报名成功”。先锁定这两个词义,再考虑图形布局。

三、复制提示词,要求先解释再画图

把下面的练习报名规则整理成 Mermaid flowchart。
先做“规则→节点→分支”对照表,检查是否有歧义,再给完整 Mermaid 源码。

输入前提:时间冲突只会是“是/否”;剩余名额为0或正整数。
流程规则:
R1 收到报名后,先检查称呼和场次是否都齐全。
R2 不齐全:请补充资料,本次处理结束。补齐后作为新报名重新开始,不画自动返回箭头。
R3 齐全:检查该场次时间是否冲突。
R4 冲突:请改选场次,本次处理结束。
R5 不冲突:检查剩余名额是否大于0。
R6 大于0:列入待人工确认,本次处理结束。不要改写成“报名成功”。
R7 等于0:列入候补,本次处理结束。不要发明通知或支付步骤。

要求:
- 只使用基础 flowchart TD、矩形、菱形和带“是/否”的箭头。
- 节点ID用简短大写英文字母;中文标签使用双引号。
- 三个判断各有两条带标签的出边;结束节点没有出边。
- 不使用外部图片、点击链接、样式脚本或实验语法。
- 资料不足或输入不满足前提时列为待确认,不自行补业务规则。
- 另给四条完整路径和边界测试,不能把“能渲染”当作“逻辑正确”。

AI 返回后先看对照表。应该能找到 R1—R7,每条规则有对应节点或箭头。若它加了“发送邮件”“自动扣减名额”等动作,要求删掉;这些动作没有来源,哪怕很符合常识也不能擅自变成流程的一部分。

四、把完整源码放进预览区

下面是与分支表对应的一份参考源码。复制从 flowchart TD 开始的全部内容到 Live Editor 的 Code 区域,替换原有示例。在此编辑器中不要连外层的 Markdown 三反引号一起粘贴。官方 使用指南说明了 Code 与 Preview 的对应关系。

flowchart TD
  S["收到练习报名"] --> I{"称呼和场次都齐全?"}
  I -->|否| R["请补充资料"]
  I -->|是| C{"该场次时间冲突?"}
  C -->|是| X["请改选场次"]
  C -->|否| Q{"剩余名额大于0?"}
  Q -->|是| P["列入待人工确认"]
  Q -->|否| W["列入候补"]
  R --> T["本次处理结束"]
  X --> T
  P --> T
  W --> T

这份图有三个菱形、六条带“是/否”的判断出边和四条业务结果路径。TD 表示自上而下;同一个 T 被复用为共同结束节点,不是四个不同的结束动作。节点 ID 与显示文字分开,之后修改“请改选场次”的措辞时,不必把所有箭头都重写。相关语法见 Mermaid 流程图文档。

五、沿四条路径走一遍,再测边界

先把“预期路径”写在纸上或文本里,然后才看图。这样不会因为图画得顺眼,就倒过来迁就 AI 的输出。下表都是人为构造的测试输入,不是真实报名记录。

测试输入 预期路径 主要检查
称呼空;场次A;冲突是;名额1 S→I→R→T 资料检查优先,不能跳去改选场次
小禾;场次A;冲突是;名额1 S→I→C→X→T 有名额也不能越过冲突判断
小禾;场次A;冲突否;名额1 S→I→C→Q→P→T 大于0走待人工确认,不写已成功
小禾;场次A;冲突否;名额0 S→I→C→Q→W→T 0是候补边界,不走待确认
小禾;场次A;冲突未知;名额1 先澄清输入,不按本图判定 未知不能被擅自归为否
小禾;场次A;冲突否;名额-1 先澄清输入,不按本图判定 不符合非负整数的输入前提

数边只是初检,接着还要查:每个节点能否从起点到达?四个结果是否都连到结束?结束是否错误地又指回起点?每条“是/否”是否贴在正确箭头上?语法通过只证明解析器读懂了文本,这些业务条件仍要由你核对。

六、出错时只修错误,不重写整张图

  • 预览出现解析错误:把报错行和前后各两行交给 AI,要求只修语法、保持节点和边不变。优先使用短大写ID和双引号标签,避免把全小写 end 当节点名。
  • 图能显示但路径错误:指出具体测试,例如“名额0被分到P”,要求先改规则对照表,再改那条边。不要只说“再优化一下”。
  • 交叉线太多:先调整方向或拆分子流程,不删分支换整齐。第一次练习保留TD方向,方便按顺序逐行读。
  • 贴到另一平台只显示代码:先核对平台是否支持Mermaid;支持的平台也可能使用不同版本,不能假定编辑器能画就到处能画。

七、交付源码、文字规则和图,而不是只交图片

在 Live Editor 的 Actions 区域可按需导出 SVG、PNG 或 Markdown;保留一份 UTF-8 的 signup-flow.mmd。如果放入支持 Mermaid 的 GitHub Markdown,再用语言标记为 mermaid 的代码围栏包住源码。GitHub 官方文档也提醒要留意所支持的 Mermaid 版本。

同时附上本文式样的分支表和输入前提。读者无法看图、图片加载失败,或日后需要改规则时,仍能读懂流程。最终验收就是:规则没有多写少写,六条判断出边齐全,四条结果路径全部走通,0与1的边界分得清,未知输入留待确认。

资料核对:2026年10月29日。本文流程与测试数据均为原创练习;未接入真实报名、通知或支付系统。

© 版权声明

相关文章