“材料不全就退回,三天以上还要部门负责人审批。”把这句话交给 AI,十秒钟就能得到一张请假流程图。真正麻烦的是第十一个秒钟:你沿着箭头走一遍,发现材料不全的人被送到了“批准”,或者主管驳回后流程没有出口。流程图不是插画,少画一条线就可能误导照图办事的人。
下面用一个虚构公司的请假审批规则,把自然语言整理为 Mermaid 流程图,再用几条实际路径验收。三天这个门槛只为演示,不代表任何公司的制度或法律要求。适合需要写 SOP 的运营、行政、产品经理,也适合想把文字流程放进 Markdown 文档、知识库或代码仓库的人。
先把制度写成能判定的事实,而不是让 AI 猜
假设规则只有这些:员工提交请假日期、原因与工作交接人;信息不完整时退回补充,可以重新提交;信息完整后由直属主管审批;主管不同意则驳回并说明原因;主管同意后,请假不超过三天直接通知员工并更新日历,超过三天再由部门负责人审批;负责人不同意则驳回,同意才算通过。
这段规则刻意不写“主管不在怎么办”“员工能否撤回”“三天含不含周末”。这些都是待确认问题,不能由模型补成看似合理的公司政策。画图前最好做一张三列小表:条件、执行人、去向。例如“材料不全|申请人补充|重新提交”,“主管拒绝|主管说明原因|驳回结束”,“超过三天且主管同意|部门负责人|继续审批”。如果表格写不清楚,图只会把歧义画得更漂亮。
给 AI 的提示词:先列路径,再写 Mermaid
在站内收录的 ChatGPT 或 Claude 中,新建对话并粘贴下面的提示词。涉及真实员工信息时,先把姓名、日期和联系方式匿名化;这里只用示例规则。
你是流程分析助手。请只依据下面这段虚构规则工作,不要补充未说明的公司政策。
规则:员工提交请假日期、原因和工作交接人。资料不完整时退回补充,可重新提交;资料完整后直属主管审批。主管拒绝则驳回并说明原因。主管同意后,三天及以下直接通知员工并更新日历;超过三天还须部门负责人审批。负责人拒绝则驳回,同意则通知员工并更新日历。
先输出三部分:
1. 节点清单:每个节点的执行人和动作;
2. 分支清单:每个判断的“是/否”分别去哪;
3. 规则未定义、需要向制度负责人确认的问题。
最后才给出 Mermaid flowchart TD 代码。要求:
- 所有判断节点有明确的“是/否”边;
- 退回补充接回“员工提交申请”,不能直接接批准;
- 批准和驳回是两个独立终点;
- 不添加样式或虚构审批人;
- 代码块之外用一句话解释三天及以下与超过三天的两条路径。
让模型先列节点和边,是为了把错误暴露在容易读的文字里。若它把“超过三天”接到普通批准,你不用等渲染后才发现。接着可以补一句:“只修改分支清单中的第 4 条,其他规则与节点 ID 保持不变”,比“重新画一个”更容易控制改动范围。
一份可直接粘贴的 Mermaid 示例
下面的代码可以粘贴到 Mermaid Live Editor 查看。方括号是动作,花括号是判断;边上的“是/否”比单纯换颜色更重要,因为黑白打印时仍能读懂。
flowchart TD
A["员工提交请假申请"] --> B{"资料完整?"}
B -->|否| C["退回补充"]
C --> A
B -->|是| D["直属主管审批"]
D --> E{"主管同意?"}
E -->|否| H["驳回并说明原因"]
E -->|是| F{"超过三天?"}
F -->|否| I["通知员工并更新日历"]
F -->|是| G["部门负责人审批"]
G --> J{"负责人同意?"}
J -->|否| H
J -->|是| I
flowchart TD 表示从上往下排。A、B、C 是内部节点 ID,真正显示给读者的是引号里的中文;保持 ID 稳定,后续改文案不必重接所有边。注意“超过三天?”的“否”包含恰好三天。真实制度如果写的是“连续三个工作日”,判断条件和边界测试都要重新定义,不能只替换一个词。
这张图故意不把“主管审批”复制成两份:所有完整申请先经过主管,只有主管同意后才分流。这样能减少重复节点,也不容易漏掉某一侧的驳回出口。如果公司规定超过三天需两人并行审批,这份图就不适用;必须先确认“并行还是依次”以及一人拒绝时的处理,再重画。
渲染之后,不要只看图漂不漂亮
打开 Live Editor,粘贴代码,先看解析器有没有报错,再沿着每条业务路径用手指走一遍。下列六个测试比“看起来没问题”更可靠:
- 缺少交接人:提交 → 资料不完整 → 退回补充 → 重新提交;不能抵达批准终点。
- 材料齐全、请假两天、主管同意:直接通知员工并更新日历。
- 材料齐全、恰好三天、主管同意:仍走“三天及以下”路径。
- 请假五天、主管拒绝:在主管处驳回,不能继续给部门负责人。
- 请假五天、主管同意、负责人拒绝:进入驳回终点。
- 请假五天、两位审批人都同意:才进入通知与更新日历终点。
还要逐个检查菱形:每个出口有没有标签?有没有线走进一个无后续的中间节点?有没有“退回补充”绕一圈后跳过审核?这里的退回环路是有意的重新提交,不是程序意义上的无限循环;若员工不再提交,实际业务应允许申请停在待补充或撤回状态,但示例规则没有定义撤回,所以图没有擅自加它。
报错时先查语法,不要让 AI 整张重写
Mermaid 的常见错误是把节点文字直接写成语法的一部分,或者让模型输出了 Markdown 说明、三重反引号甚至多张图。编辑器里只粘贴从 flowchart TD 开始的代码。中文、括号、问号等标签放进引号里,比如 B{"资料完整?"};条件文字写在边上,比如 B -->|否| C。小写 end 在流程图语法中有特殊含义,不要把它当节点 ID;改成 Finish 或其他名称即可。具体规则以 Mermaid 官方流程图语法 为准。
如果代码能渲染但布局很挤,优先缩短显示文案,而不是删除判断。可以把“通知申请人审批通过并同步更新团队共享日历”缩成“通知员工并更新日历”,详细制度放在图下方文字里。大图也可拆成“提交与补充”“审批与通知”两张图,但两张图的交接点要写清楚。
交付时同时保存图和源代码
Live Editor 可用于预览与导出;如果接收者只看 Word、PPT 或聊天消息,就导出 SVG/PNG,同时把 .mmd 源代码保存在知识库或仓库里。只交一张图片,下次制度修改时又得从头画。共享链接或在线编辑器也可能包含你粘贴的流程文本,真实员工数据、内部权限和未公开制度应先脱敏,或在获准的本地环境中渲染。
图旁边建议加一段文字摘要:“材料不完整退回;完整申请先由直属主管审批;主管同意后,三天以上再由部门负责人审批;任一审批人拒绝则驳回。”这样即使图片加载失败,读者也能理解主路径。流程负责人确认规则后再发布给团队,AI 生成和语法通过都不等于制度已经审核。
发布前的五项小检查
- 源规则中的每个动作和条件都能在图上找到,没有 AI 擅自新增的政策。
- 每个判断都有明确出口,边界值(恰好三天)走对分支。
- 退回路径能回到可操作的节点,批准和驳回不会汇成同一个终点。
- 至少用正常、拒绝、缺资料、边界值四类案例走图。
- 交付 SVG/PNG、可编辑的 Mermaid 源码、文字摘要,并标注制度负责人和确认日期。
这种工作流的价值不在“让 AI 一键画图”,而在把自然语言规则变成能逐条检查的节点与边。图越像正式文件,越值得花两分钟做路径测试。