最近正在写一篇关于 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 分钟,第一个图出来。
图2: GPT Image 生成的第一版
并不太符合我的想法,追加提示词:
入库和索引在下层,先清洗与标准化,再项目主数据匹配,入sqlite,再chunking,向量化入库(lancedb)。 上层是检索生成,横着排几个步骤。
这一次大概是我想要的样子:
图3: 调整后的彩色线框图
但放在论文里并不合适,需要使用黑白的线框图,让 GPT 转换了一下,是下面的样子。
图4: GPT 转换的黑白线框图
刚才的提示词,汇总起来扔给纳米香蕉(Nano Banana),产生的图更符合我的心意。
图5: 纳米香蕉生成的黑白线框图
能否用程序生成这张图呢?我让 claude code 根据这张图,写了一个 python 程序,它用 matplotlib 复刻出来了下面这张图。LLM 那个大脑的图标变成了救生圈。文件夹也变得非常难看。
图6: matplotlib 复刻失败(大脑变成了救生圈)
问了一下 GPT,画这种图一般用什么实现比较好,GPT 推荐了 SVG。
让 Claude Code 编程画 SVG,燃烧了一些 token 之后,最后打磨出来这张:
图7: Claude Code 直接生成 SVG 的最终版
最近有一个比较火的 github 项目 archify(几天 32k star),可以画架构图,我试着让它画了一张,效果并不理想。
图8: archify 画流程图效果不理想
但它的强项并不在生成静态的线框图,而是理解你的代码仓库,生成架构图。
安装好技能后,我使用官方给的一套提示词:
分析这个仓库,然后使用 archify 生成一张高层运行时架构图。
只保留 8–12 个核心组件,突出一条主要路径,并标出外部依赖与信任边界。
辅助信息放进说明卡片,不要继续增加连线。
直接生成了项目的主体架构图:
图9: archify 生成的项目运行时架构图
如果对某个流程不理解,还可以让它生成某个细节的子图,非常方便。比阅读文字和代码更容易理解。
小结
论文里的图一般是灰度的线条图,字体一般用宋体或黑体,英文用 New Roman 或 Arial,线条粗细保持一致,字体要排版后看得清。
首先自己得有一个大概的思路,用 GPT Image 可以快速出一张效果图,感觉 banana 确实挺强大,基本上 一把就能满足要求。
matplotlib 画这种流程图并不太合适,可以让 claude code 直接写程序生成 SVG,得花点时间烧 token 慢慢调。
archify 可以解读代码库生成架构图,方便理解 AI 生成的代码逻辑,流程图并不太美观,并不适合直接放在论文里。