# 大模型专栏(llm/)配图规范
本文件是大模型专栏(llm/ 下 intro/、app/、transformer/ 等所有子目录)画图时的专属补充规范。
通用规则(经典色板、drawio 样式、导出命令、pngquant 压缩、图床上传)见仓库根目录 CLAUDE.md 的「配图规范」一节,这里不重复,只写本专栏特有的约定。
# 一、最高原则:图要展现原理,不要堆文字
这是本专栏配图最重要的一条,也是最容易踩的坑。
- 图不是用来排版文字的。 一张图里如果全是文字框堆叠(比如对比表、要点罗列),那它本质是张表,应该用 markdown 表格,不要画 drawio。
- 图要展现「文字段落讲的那个原理」——结构、机制、流转、变化、层次。让读者一眼看懂「发生了什么」,而不是读完一堆方框里的字。
- 自检:把图里的文字全删掉,光看形状/颜色/箭头,还能不能看出这张图在讲什么?看不出来,就说明你在用图排版文字,重画。
举例(本专栏已落地的做法):
- 讲「微调改参数、RAG 不改参数」→ 画模型权重的格子矩阵:RAG 侧格子全灰(冻结),微调侧格子由灰变蓝(被改写)。用颜色变化展现「参数动没动」,而不是写两段文字说明。
- 讲「成本 Prompt < RAG < 微调」→ 画一条从左到右的渐变箭头轴,而不是列三行字。
- 讲「混合架构」→ 用两条不同颜色的线(知识线 / 行为线)汇入模型,展现「两个来源各管各的」。
节点文字精简到关键词(如「缺知识」「RAG」),详细解释放在正文里,不要塞进图里。
# 问答 / 话术型文章(如「面试官怎么问 X」)也要配图
这类文章看似全是问答和话术,最容易踩两个坑:要么觉得「没法画」只配一张甚至不配,要么把「踩雷答法 vs 参考话术」这种对比硬画成方块(典型堆文字)。
其实话术文章的骨架里藏着可视化结构,从这三类去找,就能配出真原理图(都不是堆文字):
- 梯度 / 分界图:把「层层递进 + 一条边界线」画出来。如「面试官的追问梯度」——问题从简历一句话逐层加深,红色虚线标出「应用岗必答区 / 算法岗深水区」的分界。展现的是深度递进和回答边界,纯文字讲不清。
- 归类 / 解码图:把零散问题归到几条主线上。如「四条线」泳道图——选型 / 数据 / 评估 / 成本四条泳道,高频问题各归其位,教读者「拿到任何题先归类」。展现的是映射关系。
- 改前 / 改后对比图:如「怎么证明微调有收益」——基线模型 vs 微调后模型跑同一测试集,再 fan-out 到任务 / 质量 / 成本 / 风险四维。展现的是对比结构,比列指标清单直观(参考根 CLAUDE.md「改前/改后对比 → 画图」)。
一篇话术文章配 2-3 张这种图刚好,卡在「总论分界 → 方法骨架 → 关键一节的对比」三个节点上,不堆砌也不空。已落地示例见 app/finetuning_interview.md(面试官怎么问微调)的三张图。
# 二、每张图必带的三个品牌元素
本专栏所有 drawio 图,导出前必须包含以下三个元素(从已有图复制粘贴即可,不要漏):
- K logo 图片:
shape=image;aspect=fixed;image=data:image/png,...,约 79×79,放标题附近的角落(右上或左上)。base64 较长,直接从任意一个已有的llm/**/drawio/*.drawio文件里复制整个 logomxCell。 - 旋转水印:
text;...textOpacity=35;rotation=-20;fontColor=#666666;value 为公众号:卡码大模型,斜放在画布中部偏下的留白处。 - 站点署名:
text;...fontColor=#666666;align=right;value 为卡码笔记:https://notes.kamacoder.com/,放右下角。
最省事的做法:新图直接拿一个最近的同类 drawio 当模板改,三个元素自然带过来。
# 三、文件组织与命名
- drawio 源文件统一放在文章所在目录的
drawio/子目录下(如llm/app/drawio/)。 - 命名:
<文章英文名>_NN_<简短英文描述>.drawio,NN 为两位序号,如finetuning_vs_rag_01_essence.drawio。 - 导出的 PNG 上传图床后删除本地文件(见根 CLAUDE.md),仓库里只保留
.drawio源文件,不保留 PNG。
# 四、markdown 里的插图写法
每张图在正文里按这个模式插入:
<!-- drawio源文件: ./drawio/xxx_01_yyy.drawio -->

这张图回答的是:……(一句话点明图在讲什么,再展开 2-3 句解读,和正文呼应)
1
2
3
4
5
2
3
4
5
<!-- drawio源文件 -->注释必带,方便以后回找源文件改图。- alt 文字写成「描述这张图内容」的完整短句,利于 SEO 和无障碍,不要写成「图1」这种。
- 图后紧跟「这张图回答的是……」的解读,把图和它对应的段落原理绑在一起。
# 五、改图后的流程
- 改完
.drawio后,先用 CLI 导出 PNG 自检能否正常打开、布局有没有错位(见根 CLAUDE.md 导出命令)。 - 导出图先给用户确认效果,确认后再上传图床。
- 上传成功后删除本地 PNG,把返回的 url 填进 markdown。
# 六、文章篇幅与配图数量的平衡
基于 claude/loop_engineering_guide.md 的创作经验:
# 篇幅控制
- 目标行数:150 行左右(包括 frontmatter 和空行)
- 长文章容易失焦,读者难以抓住重点
- 精简方法:
- 砍掉重复解释,每个概念只讲一次
- 把详细示例移到引用的其他文章中
- 关键步骤保留,次要细节省略
- 结尾简短有力,不总结全文
# 配图数量
- 每篇文章 2-4 张图最合适
- 太少(1 张或没有)→ 文章单薄、不够直观
- 太多(5 张以上)→ 画图成本高、容易堆砌
- 配图节奏:开篇判断图 → 中间核心原理图 → 结尾实践图
# 图与文的比例
- 图要承载关键决策和原理,不要只是装饰
- 文字讲「为什么」和「怎么做细节」,图讲「结构」和「流程」
- 如果一个段落需要 5 张图才能讲清楚,说明这个主题可以拆成 2-3 篇文章
# 七、drawio 导出格式选择
基于实践经验:
# JPG vs PNG
- JPG:适合复杂图、颜色丰富的图,文件更小(通常是 PNG 的 30-50%)
- PNG:适合简单图、对比强烈的图,边缘更清晰
- 本专栏默认用 JPG(
--format jpg --quality 85),除非图特别简单(纯线框图)才用 PNG
# 导出参数
# JPG 导出(推荐)
"/Applications/draw.io.app/Contents/MacOS/draw.io" \
--export --format jpg --scale 1.5 --quality 85 \
--output 输出.jpg 输入.drawio
# PNG 导出(备选)
"/Applications/draw.io.app/Contents/MacOS/draw.io" \
--export --format png --scale 1.5 \
--output 输出.png 输入.drawio
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
scale 1.5:兼顾清晰度和文件大小quality 85(JPG):视觉无损,但文件小很多- PNG 不需要 pngquant 压缩,直接上传
评论
验证登录状态...