上一篇文章里,我们已经创建了一个 algorithm-flowchart 技能。这个技能的作用,是把中文编程问题整理成算法步骤、Mermaid 流程图、HTML 页面、PNG 图片、SVG 图片和 Python 示例代码。

这篇文章我们进入实战:用这个技能生成第一张流程图。

为了避免和前面的测试案例重复,这里不用“判断奇数还是偶数”,而是换成一个更生活化的案例:

输入一个年龄,判断这个人是否成年。

这个案例非常适合做第一张流程图,因为它足够简单,又包含了编程中最常见的判断结构:输入、条件判断、两个分支、输出结果。

一、先给 Codex 一个清楚的需求

使用技能时,不要只说“帮我画流程图”。我们要把技能名称、需求、输出内容和保存目录都说清楚。

可以直接复制下面这段提示词:

请使用 algorithm-flowchart 技能。

需求:判断用户输入的年龄是否成年。

请生成算法步骤、Mermaid 流程图、HTML 文件、PNG 图片、SVG 图片、example.py 示例文件和人工检查点。

请把本次导出的文件统一保存到 E:\tmp\adult-check-flowchart 目录下。

这段提示词里有四个关键点:

关键点 说明
指定技能 明确告诉 Codex 使用 algorithm-flowchart 技能,而不是普通聊天回答。
说清需求 任务是输入年龄,并判断是否成年。
明确输出 要求输出算法步骤、流程图、图片、代码和人工检查点。
固定目录 把所有成果保存到同一个目录,方便后续检查和整理。

这样做的好处是:后面要检查文件、重新导出图片、整理课程素材时,不会到处找结果。

二、期望得到的算法步骤

理想情况下,Codex 会先把需求拆成一组清楚的算法步骤。

比如这个案例,可以拆成:

1. 开始。
2. 输入一个年龄。
3. 判断年龄是否大于等于 18。
4. 如果大于等于 18,就输出成年人。
5. 如果小于 18,就输出未成年人。
6. 结束。

这里最重要的是第 3 步。

年龄 >= 18 就是整个程序的判断条件。流程图里的分支、Python 里的 if,都围绕这个条件展开。

这也是零基础学员要重点训练的能力:先别急着写代码,先把判断条件说清楚。

三、生成 Mermaid 流程图

接下来,Codex 应该生成 Mermaid 流程图代码。

示例结果如下:

开始

输入年龄

年龄 >= 18 吗

输出成年人

输出未成年人

结束

这张流程图里有几个关键结构:

结构 作用
开始节点 表示流程从哪里开始。
输入节点 表示需要用户输入年龄。
判断节点 判断年龄是否大于等于 18。
分支路径 “是”输出成年人,“否”输出未成年人。
结束节点 表示程序流程结束。

如果这张图复制到 Typora 或支持 Mermaid 的工具里,就可以直接预览。

四、对应的 Python 代码

流程图不是为了好看,而是为了帮助我们写出更清楚的代码。

这个案例对应的 Python 代码如下:

age = int(input("请输入年龄:"))

if age >= 18:
    print("成年人")
else:
    print("未成年人")

流程图和代码之间是一一对应的:

流程图 Python 代码
输入年龄 age = int(input(...))
判断年龄是否大于等于 18 if age >= 18:
是分支 print("成年人")
否分支 else: print("未成年人")

这一步非常重要。

如果流程图和代码不是同一套逻辑,说明中间一定有地方出了问题。学习 AI 编程时,不能只看 AI 有没有给答案,还要检查图和代码是否一致。

五、检查导出的成果文件

一个合格的流程图技能,不应该只输出 Mermaid 代码。

它还应该把结果统一保存到一个目录里,例如:

E:\tmp\adult-check-flowchart

这个目录里至少应该包含:

flowchart.html
flowchart.png
flowchart.svg
example.py
README.md

每个文件都有自己的用途:

文件 用途
flowchart.html 流程图源页面,方便后续修改样式或重新截图。
flowchart.png 可以直接放进课件、文档和笔记里的图片。
flowchart.svg 矢量图,放大不容易失真,适合二次编辑。
example.py 可运行的 Python 示例代码。
README.md 说明需求、算法步骤、文件用途和人工检查点。

如果只生成了 Mermaid 代码,没有目录、没有图片、没有 Python 文件,就说明这个技能还没有真正跑通。

六、人工检查清单

AI 生成结果之后,人一定要检查。

在这里插入图片描述

这个案例至少检查下面几件事:

检查项 判断标准
开始结束 流程图是否有开始和结束节点。
分支标注 判断节点的“是”和“否”是否标清楚。
逻辑一致 流程图和 Python 代码是否都是 age >= 18
图片完整 PNG 是否完整显示流程图,底部有没有被截断。
SVG 导出 是否同时生成了 SVG 文件,方便后续放大或编辑。
代码可运行 example.py 是否能运行,并输出正确结果。

特别要注意 PNG 截图。

课程图片、封面图、展示图通常适合 16:9,但算法流程图不一定适合固定高度。如果流程节点变多,强行固定 16:9,底部内容可能会被截断。

更合理的规则是:宽度可以固定,高度要根据流程图内容自适应。

七、发现问题后怎么让 Codex 修改

如果流程图的判断分支不够清楚,可以继续这样要求 Codex:

这张流程图的判断分支不够清楚。
请把“是”和“否”两个分支标出来,并保持 Python 代码不变。

如果发现 PNG 图片被截断,可以这样要求:

这张 PNG 图片下面的内容被截断了。
请优化 algorithm-flowchart 技能的导出规则:
1. HTML 页面宽度可以固定;
2. 高度不要固定为 16:9,要根据流程图真实内容自动撑开;
3. 导出 PNG 时截取完整页面内容;
4. 同时导出 SVG;
5. 同时输出 example.py 示例文件;
6. 本次结果保存到 E:\tmp\adult-check-flowchart 目录。

这就是使用 Codex 的正确方式:不是期待 AI 一次生成完美结果,而是让 AI 先生成第一版,然后我们带着检查标准继续优化。

八、小结

这篇文章完成了第一张 Codex 算法流程图的生成。

在这里插入图片描述

我们用“判断是否成年”这个简单案例,走通了完整流程:

中文需求 -> 算法步骤 -> Mermaid 流程图 -> Python 代码 -> 成果文件 -> 人工检查

这节最重要的不是成年判断本身,而是建立一种学习习惯:

先让 Codex 生成第一版,再由人检查开始、结束、分支、代码逻辑、图片完整性、SVG 导出和 Python 示例代码。

后续学习更复杂的算法和流程图时,这套检查方式仍然可以继续复用。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐