最近正在写一篇关于 RAG 的论文,里面有一张算法的流程图,心里已经有了一个大致的想法,先用手绘出来。

手绘草稿

图1: 手绘的 RAG 流程图草稿

扔给 GPT Image,使用了下面的提示词:

我画了一个rag流程图,仅供参考,里面有我的L1、L2、L3的相关改进,docx/pdf入库,与地震项目主数据列表进行proj-id匹配,入sqlite,chunk里按文件目录层级进行chunking,入lancedb。 检索生成: 问题,匹配得到一个项目列表,从lancedb里过滤相关chunk,召回。rerank精排50条,加入每个文档的关键信息,一起送llm,得到回答。 生成线框图,16:9,横版。

等了 1 分钟,第一个图出来。

GPT Image 第一版

图2: GPT Image 生成的第一版

并不太符合我的想法,追加提示词:

入库和索引在下层,先清洗与标准化,再项目主数据匹配,入sqlite,再chunking,向量化入库(lancedb)。 上层是检索生成,横着排几个步骤。

这一次大概是我想要的样子:

GPT Image 调整后

图3: 调整后的彩色线框图

但放在论文里并不合适,需要使用黑白的线框图,让 GPT 转换了一下,是下面的样子。

黑白线框图

图4: GPT 转换的黑白线框图

刚才的提示词,汇总起来扔给纳米香蕉(Nano Banana),产生的图更符合我的心意。

Nano Banana 版本

图5: 纳米香蕉生成的黑白线框图

能否用程序生成这张图呢?我让 claude code 根据这张图,写了一个 python 程序,它用 matplotlib 复刻出来了下面这张图。LLM 那个大脑的图标变成了救生圈。文件夹也变得非常难看。

matplotlib 复刻结果

图6: matplotlib 复刻失败(大脑变成了救生圈)

问了一下 GPT,画这种图一般用什么实现比较好,GPT 推荐了 SVG。

让 Claude Code 编程画 SVG,燃烧了一些 token 之后,最后打磨出来这张:

SVG 最终版

图7: Claude Code 直接生成 SVG 的最终版

最近有一个比较火的 github 项目 archify(几天 32k star),可以画架构图,我试着让它画了一张,效果并不理想。

archify 流程图结果

图8: archify 画流程图效果不理想

但它的强项并不在生成静态的线框图,而是理解你的代码仓库,生成架构图。

安装好技能后,我使用官方给的一套提示词:

分析这个仓库,然后使用 archify 生成一张高层运行时架构图。

只保留 8–12 个核心组件,突出一条主要路径,并标出外部依赖与信任边界。

辅助信息放进说明卡片,不要继续增加连线。

直接生成了项目的主体架构图:

archify 架构图

图9: archify 生成的项目运行时架构图

如果对某个流程不理解,还可以让它生成某个细节的子图,非常方便。比阅读文字和代码更容易理解。

小结

论文里的图一般是灰度的线条图,字体一般用宋体或黑体,英文用 New Roman 或 Arial,线条粗细保持一致,字体要排版后看得清。

首先自己得有一个大概的思路,用 GPT Image 可以快速出一张效果图,感觉 banana 确实挺强大,基本上 一把就能满足要求

matplotlib 画这种流程图并不太合适,可以让 claude code 直接写程序生成 SVG,得花点时间烧 token 慢慢调

archify 可以解读代码库生成架构图,方便理解 AI 生成的代码逻辑,流程图并不太美观,并不适合直接放在论文里。