- AI 技能
- 人工智能
- 大模型
- 深度学习
【免费下载链接】AI-Research-SKILLs
Comprehensive open-source library of AI research and engineering skills for any AI model. Package the skills and your claude code/codex/gemini agent will be an AI research agent with full horsepower. Maintained by Orchestra Research.
导读
本文以 AI-Research-SKILLs 仓库中的 scientific-plotting-demo 为实战案例,完整演示如何用 academic-plotting 技能为系统类论文生成发表级(publication-quality)配图。案例以 QoE 感知的 LLM 流式服务系统 Andes(arXiv:2404.16283)为素材,走通两条标准工作流:Workflow 1 用 Gemini 图像模型生成系统架构图,Workflow 2 用 matplotlib/seaborn 绘制 CDF、多面板网格、分组柱状图等数据图表。读完本文,你将掌握 6 段式 Gemini 提示词结构、四种视觉风格与色板选择、图表类型自动决策、发表级样式模板,以及可复现的脚本组织规范。
1. 案例背景:Andes 论文与六张配图
scientific-plotting-demo 选取了系统方向论文Andes: Defining and Enhancing Quality-of-Experience in LLM-Based Text Streaming Services(Jiachen Liu、Jae-Won Chung、Zhiyu Wu、Fan Lai、Myungjin Lee、Mosharaf Chowdhury)作为演示素材。Andes 是一个 QoE 感知的 LLM 服务系统,其预取式 token 级请求调度器(preemptive token-level request scheduler)根据预期 QoE 收益与 GPU 资源占用动态为请求设定优先级,相较现有系统实现了显著提升:
| Metric | Result |
|---|---|
| QoE improvement over vLLM | 4.7x |
| GPU resource savings | 61% |
| Peak queue length reduction | 85% |
演示目录共产出六类图:fig_andes_architecture(Gemini 架构图)、fig_qoe_definition(QoE 定义四情形示意)、fig_cdf_comparison(QoE/TTFT/TDS 三面板 CDF)、fig_burst_intensity(4×3 突发强度网格)、fig_summary_improvements(关键指标汇总柱状图),以及由 matplotlib 手绘的 fig_andes_workflow(Workflow 1 的替代方案)。所有数据图均使用合成数据(synthetic data)匹配论文报告中的分布,不涉及真实实验数据。
2. 工作流选型:什么时候用 Gemini,什么时候用 matplotlib
academic-plotting 技能的核心是先判断图的性质,再选择工作流。判断基准很直接:有坐标轴用 matplotlib,有框和箭头用 Gemini(见 SKILL.md 中的"When to Use Which Workflow")。
| Figure Type | Tool | Why |
|---|---|---|
| Architecture / system diagram | Gemini (Workflow 1) | Complex spatial layouts with boxes, arrows, labels |
| Workflow / pipeline / lifecycle | Gemini (Workflow 1) | Multi-step processes with connections |
| Bar chart, line plot, scatter | matplotlib (Workflow 2) | Precise numerical data, reproducible |
| Heatmap, confusion matrix | matplotlib/seaborn (Workflow 2) | Structured grid data |
| Ablation table as chart | matplotlib (Workflow 2) | Grouped bars or line comparisons |
| Pie / donut chart | matplotlib (Workflow 2) | Proportional data (use sparingly in ML papers) |
| Training curves | matplotlib (Workflow 2) | Loss/accuracy over steps/epochs |
在动手之前还有一个不可省略的 Step 0:上下文分析与实体提取。输入往往是论文段落、结果表格或 CSV/JSON,而不是现成的绘图规格:
- 对架构图:通读方法章节,识别视觉实体(系统组件、模块、层级,超过 8 个顶层实体时应考虑分组)、实体关系("sends to""feeds into" 等动词对应数据流、控制流、错误路径)、布局模式(顺序流水线 → 左右流向;分层架构 → 上下横带;Hub-and-spoke → 中心辐射;层级结构 → 自顶向下树),最后给每个逻辑组分配一个强调色,并逐字精确写出每个标签。
- 对数据图:解析数据,识别对比维度(方法/模型/配置 → 分类轴)、指标(精度/损失/时延 → 数值轴)、时间维度(→ 折线图)、多指标(→ 多面板或分组柱状图),然后按决策指南自动选型:有 step/time 轴选 line plot;N 方法 × M benchmark 选 grouped bar;单一排名选 horizontal bar;两个连续变量相关选 scatter;值矩阵选 heatmap;占比选 stacked bar(ML 论文中避免饼图)。
Andes 架构图的提取结果(见 gen_fig_andes_architecture_gemini.py 头部注释)是:User、Application Client、Token Pacer、Token Buffer、Smooth Delivery、Request Tracker、Token-Level Scheduler(Priority Scheduler + Overhead Refiner)、Executor、KV Cache、GPU 共 10 个实体,双区域(Client/Server)左右布局,6 步编号请求生命周期加抢占路径,风格定为现代极简(Modern Minimal),色板用 Nord。
3. Workflow 1:用 Gemini 生成系统架构图
3.1 四种视觉风格与四套色板
academic-plotting 提供四种风格模板(每篇论文应统一选一种),风格块是整个提示词中最关键的部分,直接决定成图是专业还是"通用公司风":
- Style A "Sketch / 简笔画"(手绘风):微微抖动的线条、圆角软形状、暖米白背景(#FAFAF7)、水彩式淡色填充(muted blue #D6E4F0、soft peach #F5DEB3、light sage #D4E6D4、pale lavender #E6DFF0)、炭黑色 2-3px 描边、简单开放箭头、圆体字,框内可放简笔小图标(齿轮/灯泡/放大镜,画成线条而非 emoji)。适合 overview 图和系统引入。
- Style B "Modern Minimal"(现代极简):利落几何形状;用整块去饱和色填充分区(slate blue #E8EDF2、warm sand #F5F0E8、cool mint #E8F2EE);组件框圆角 12px、无边框,靠极淡阴影(1px offset、4px blur、rgba(0,0,0,0.06))悬浮;每区一个强调色(#2563EB、#059669、#D97706、#E11D48);箭头细(1.5px)、深灰 #6B7280、源端小实心圆、目标端干净箭头;标签放在框内而非框外;元素间距至少 24px;零装饰。Andes 架构图即采用此风格。
- Style C "Illustrated Technical"(图标化技术风):每个组件配一个统一线稿风格的语义图标(2px 描边、约 24×24px),组件置于左侧带 4px 色条(LEFT COLOR STRIP)的圆角矩形内,分组区域有极淡底色,连线用按源组件配色的贝塞尔曲线,关键数据流加粗(3px),次要流 1px 虚线,箭头上可加 "×N""optional" 角标。适合教程型论文。
- Style D "Accent Bar"(经典学术风):上下堆叠的横向分区带,浅灰 #F7F7F5 填充 + 8px 左侧粗色条;内容框白底、细 #DDD 边框、4px 圆角;配色 Blue #4A90D9、Teal #5BA58B、Amber #D4A252、Slate #7B8794;无衬线字体;箭头颜色跟随源分区。任何会议都安全的默认选项,灰度打印也清晰。
色板方面,SKILL.md 提供四套精选方案:"Ocean Dusk"(专业沉稳,默认推荐):#264653 深青、#2A9D8F 青、#E9C46A 金、#F4A261 沙橙、#E76F51 珊瑚橙;"Ink & Wash"(配简笔画风);"Nord"(配现代极简,Andes 采用):#2E3440 极夜、#5E81AC 冰霜蓝、#A3BE8C 极光绿、#EBCB8B 极光黄、#BF616A 极光红;"Okabe-Ito"(通用色盲安全,数据图必选)。
3.2 六段式提示词架构
任何 Gemini 提示词都必须按顺序包含六个部分,各部分行数有明确约束:
1. FRAMING (5 lines): "Create a [STYLE_NAME]-style technical diagram for a [VENUE] paper. The diagram should feel [ADJECTIVES]..." 2. VISUAL STYLE (20-30 lines): Copy the full style block from above (A/B/C/D). This is the most important section — it determines the entire visual character. 3. COLOR PALETTE (10 lines): Exact hex codes for every color used. 4. LAYOUT (50-150 lines): Every component, box, section — exact text, spatial arrangement, and grouping. Be exhaustively specific. 5. CONNECTIONS (30-80 lines): Every arrow individually — source, target, style, label, routing direction. 6. CONSTRAINTS (10 lines): What NOT to include. Adapt per style — e.g., sketch style allows slight irregularity but still no clip art.diagram-generation.md 进一步强调:风格块应描述"感觉与质感"而非只讲几何——"Lines should wobble gently like drawn with a thick felt-tip marker" 优于 "Lines should be slightly irregular";颜色必须给出精确 hex 码,绝不留给模型自由发挥。
3.3 Andes 架构图的完整提示词拆解
仓库中 gen_fig_andes_architecture_gemini.py 保存了 Andes 图的完整六段提示词,是实践六段式结构的范本:
- Section 1 Framing:定位为 OSDI/NeurIPS 系统论文的架构图,"confident, spacious, authoritative",类比 "Apple's developer documentation meets a Nature paper",一句话交代 Andes 协同设计推理服务器与流式客户端、含 6 步请求生命周期。
- Section 2 Visual Style:完整粘贴 Modern Minimal 风格块,并针对本图追加两条例外——Andes 新组件用 Amber #EBCB8B 强调;步骤编号为带白色数字的小实心圆。
- Section 3 Color Palette:给出 Nord 全量精确色值——深色文字 #2E3440、次要文字 #4C566A、Client 分区 #EEF1F6、Server 分区 #EDF3ED、Andes 强调极光黄 #EBCB8B(填充 #FBF6EA)、执行器冰霜蓝 #5E81AC、GPU 雪暴 #E5E9F0、抢占错误路径极光红 #BF616A、token 投递流极光绿 #A3BE8C、控制流深灰 #6B7280、分区分隔虚线 #D8DEE9。
- Section 4 Layout:把十个组件逐框写明——顶部 CLIENT 区(User → Application Client(内含 Token Pacer 嵌套框)→ Token Buffer(6 个小方块队列可视化,前 3 个黄色填充)→ Smooth Delivery);底部 SERVER 区(Request Tracker(三行小字:QoE params / TTFT targets / Token timestamps)→ Token-Level Scheduler(内含 Priority Scheduler 与 Overhead Refiner 两个并排子框)→ Executor(内含 KV Cache)→ GPU);最下方白底区域放置 QoE 公式框
QoE = 1 - S_delay / S_whole、优先级公式Priority = QoE_gain / context_length与三色图例。 - Section 5 Connections:8 条箭头逐条给出起点、终点、颜色、线型、编号与标签——①User→App Client "Submit request";②App Client→Scheduler 下行 "Enqueue + QoE params";③Request Tracker→Scheduler(琥珀色);④a Scheduler→Executor "Admit / Resume"、④b Executor→Scheduler 红色虚线 "Preempt"(向左);⑤Executor→Client 区上行绿色 "Stream tokens";⑥Token Buffer→Smooth Delivery;⑦Smooth Delivery→User 绿色曲线 "Pace at reading speed";⑧Executor→GPU 无编号。
- Section 6 Constraints:零装饰、无图标、组件框无可见边框(仅 Andes 组件保留细色条例外)、无线渐变无纹理、留白本身就是设计元素、禁止图号与图注、禁止水印 Logo,最后是文字准确性的硬约束:"Token-Level Scheduler""Request Tracker""Token Pacer""Overhead Refiner""KV Cache""Priority Scheduler" 必须逐字拼写精确,不得缩写或改大小写。
3.4 三次非确定性尝试与脚本模板
Gemini 图像生成具有非确定性,技能规则要求每次固定生成 3 次尝试再人工挑选。仓库里保留了三次尝试的对比:attempt1(最终选中,间距/配色/箭头布线最佳)、attempt2(良好但间距略紧)、attempt3(分区清晰,虚线抢占路径更明显)。三次尝试的文字准确率均为 100%——所有标签拼写正确,这被 README 特别强调为相对上一代生成效果(旧版所有尝试均有拼写错误)的重大改进。
生成脚本遵循 SKILL.md 提供的模板结构:从GEMINI_API_KEY环境变量或 .env 文件读取密钥(绝不硬编码)、循环 3 次、每次间隔 2 秒限速、遍历响应 parts 取出inline_data写盘、按fig_<name>_attempt{N}.png命名,最终人工挑选后重命名为fig_<name>.png。核心调用如下:
from google import genai client = genai.Client(api_key=API_KEY) # 6-section prompt: Framing + Style + Colors + Layout + Connections + Constraints PROMPT = """ SECTION 1 — FRAMING: Create an ultra-clean, modern technical architecture diagram for an OSDI paper. Think: Apple developer docs meets Nature paper... SECTION 2 — VISUAL STYLE (Modern Minimal): Ultra-clean geometric shapes, floating boxes with shadow, thin gray arrows... SECTION 3 — COLOR PALETTE (Nord): Deep text: #2E3440, Andes accent: Aurora Yellow #EBCB8B, Executor: Frost #5E81AC... SECTION 4 — LAYOUT: Two zones: CLIENT (#EEF1F6) and SERVER (#EDF3ED), each with floating boxes... SECTION 5 — CONNECTIONS: 8 arrows with step numbers, dashed red preempt path, green delivery flow... SECTION 6 — CONSTRAINTS: ZERO decoration, generous whitespace, CRITICAL TEXT ACCURACY... """ # Generate 3 non-deterministic attempts for i in range(1, 4): response = client.models.generate_content( model="gemini-3-pro-image-preview", contents=PROMPT, config=genai.types.GenerateContentConfig( response_modalities=["IMAGE", "TEXT"]))3.5 架构图成图效果
Figure 1: Andes QoE-Aware LLM Serving System Architecture。AI 生成的架构图完整呈现请求生命周期:(1) 用户提交请求;(2) 客户端携带 QoE 参数入队;(3) Request Tracker 向调度器反馈状态;(4) Token-Level Scheduler 在 token 粒度上执行 admit/resume/preempt;(5) Executor 流式产出 token;(6) Token Pacer 按阅读速度平滑投递。图中黄色强调组件即 Andes 的原创贡献。
4. Workflow 2:用 matplotlib 绘制数据图表
4.1 发表级默认样式与色盲安全色板
实验类图表统一走 matplotlib,仓库中 gen_fig_experiment_results.py 开头即定义了两套全局默认:
# Publication defaults plt.rcParams.update({ "font.family": "serif", "font.serif": ["Times New Roman", "DejaVu Serif"], "font.size": 10, "axes.titlesize": 11, "axes.labelsize": 10, "xtick.labelsize": 9, "ytick.labelsize": 9, "legend.fontsize": 8, "figure.dpi": 300, "savefig.dpi": 300, "savefig.bbox": "tight", "savefig.pad_inches": 0.05, "axes.spines.top": False, "axes.spines.right": False, "axes.grid": True, "grid.alpha": 0.3, "grid.linestyle": "--", }) # Colorblind-safe palette COLORS = { "blue": "#4C72B0", "orange": "#DD8452", "green": "#55A868", "red": "#C44E52", "purple": "#8172B3", "brown": "#937860", "pink": "#DA8BC3", "gray": "#8C8C8C", }这套"deep"变体色板与 style-guide.md 中推荐的色盲安全调色板一致:蓝色 #4C72B0、橙色 #DD8452、绿色 #55A868、红色 #C44E52、紫色 #8172B3、棕色 #937860、粉色 #DA8BC3、灰色 #8C8C8C。技能要求数据图绝不只靠颜色区分,还要叠加线型(实线/虚线/点划线/点线)与标记(o/s/^/D/v)双保险;"自己的方法"用独立强调色突出(本案例 Andes 恒为橙色、vLLM 恒为蓝色)。每张图同时导出PDF(矢量,供 LaTeX 使用)与 PNG(300 DPI 光栅)。会议尺寸遵循快速参考表:NeurIPS/ICLR 单栏 5.5 in、ICML 单栏 3.25 in / 通栏 6.75 in、ACL 3.3 in / 6.8 in、AAAI 3.3 in / 7.0 in。
4.2 QoE 定义四情形示意(折线 + 阴影填充)
fig_qoe_definition 用 1×4 折线面板说明 QoE 指标如何刻画流式服务中不同类型的体验劣化:(a) 完美体验——实际投递与理想消费时间线重合;(b) 首 token 长延迟——队头阻塞拉大 TTFT;(c) 慢速流式——token 生成慢于消费速度;(d) 中途停顿——被抢占导致流式中断。灰色虚线为理想消费线,橙色实线为实际投递,红色半透明填充面积即 QoE 劣化量 S_delay(对应公式QoE = 1 − S_delay / S_whole)。实现要点是np.where分段构造时间线 +ax.fill_between(t, fill_y1, consumption, alpha=0.15, color=red)绘制劣化面积(见 gen_fig_experiment_results.py 的plot_qoe_definition)。
Figure 2: User Experience Cases and QoE Definition。(a) 完美体验:实际投递贴合理想消费时间线;(b) 长首延迟:队头阻塞放大 TTFT;(c) 慢速流式:token 生成慢于消费速度;(d) 中途停顿:抢占造成流式中断。阴影面积代表 QoE 劣化量 S_delay。
4.3 三面板 CDF 对比(QoE / TTFT / TDS)
fig_cdf_comparison 在真实 BurstGPT 流量上对比 Andes 与 vLLM 的关键指标分布,采用多面板图模式(共享样式 + 色盲安全配色)。脚本用np.sort计算经验 CDF,markevery=len//15控制标记密度,并在 QoE 面板以灰色点线绘制QoE=0.95参考线。核心结论:Andes(橙)97% 请求达到 QoE ≥ 0.95,vLLM(蓝)仅 75%;平均 TTFT 从 10.5s 降至 1.8s;TDS 两者相当,说明 Andes 未牺牲吞吐。合成数据生成采用与论文分布匹配的方式:QoE 用 Beta 分布(Andes β(30,1) 集中在 1.0 附近,vLLM β(5,1.2) 更分散)、TTFT 用指数分布(均值 1.8s / 10.5s)、TDS 用正态分布(见 gen_fig_experiment_results.py 的generate_cdf_data)。
Figure 3: CDF of QoE, TTFT, and TDS on BurstGPT Trace。Andes(橙)97% 请求 QoE ≥ 0.95(vLLM 为 75%);平均 TTFT 由 10.5s 降至 1.8s;TDS 两者相当,表明吞吐未受损。
4.4 多面板网格:突发强度下的平均 QoE
fig_burst_intensity 是技能处理复杂多面板图能力的代表:4 行(模型:Phi-3-mini 3.8B、Command R 32B、Phi-3.5-MoE、Llama 3.1 70B)× 3 列(数据集:ShareGPT、ArXiv、Coding)共 12 个子图,共享 x 轴(Intensity r ∈ [1,3])与 y 轴(Avg QoE ∈ [0,1.05]),左上角为模型名的旋转标注,顶部fig.legend(..., ncol=4, bbox_to_anchor=(0.5, 1.02))统一图例。数据生成函数gen_qoe(base, degrade_rate)让 Andes 保持高基准(0.98)低衰减,三个基线(vLLM 0.90、LQSF 0.88、Sarathi-Serve 0.85)则随突发强度以 1.3 次幂速率劣化——这一趋势与论文结论一致:vLLM、LQSF、Sarathi-Serve 因 FCFS 调度与队头阻塞在高突发下显著劣化,Andes 在最高突发强度下实现最高 4.7x 提升。
4.5 汇总柱状图与折线/热图/排行榜通用模式
fig_summary_improvements 用 1×3 分组柱状图浓缩论文头条结论:(a) BurstGPT 流量上 Andes 平均 QoE 0.99 vs vLLM 0.88(Andes 柱加粗橙色描边强调);(b) 四种模型架构上的 QoE 提升倍数 3.2x / 4.1x / 4.7x / 3.5x(含 y=1.0 基线参考线);(c) 资源效率:GPU 节省 61%、峰值队列削减 85%、并发请求数 2.6x。柱状图全部带数值标签(ax.text置于柱顶)与白色描边(edgecolor="white")。
技能库还提供三套通用图表模式(见 SKILL.md 的 Common Chart Patterns):折线图用markers=["o","s","^","D","v"]循环分配、fill_between绘制置信带、markevery控制标记密度;热力图用 seabornsns.heatmap(matrix, annot=True, fmt=".2f", cmap="YlOrRd", linewidths=1.5, linecolor="white");排行榜横向条形图用barh配合invert_yaxis(),"自己的方法"以 OUR_COLOR 高亮、基线统一 BASELINE_COLOR 冷灰退后。更多模式(scaling laws、violin、雷达图等)见>赞
- AI 技能
- 人工智能
- 大模型
- 深度学习
【免费下载链接】AI-Research-SKILLs
Comprehensive open-source library of AI research and engineering skills for any AI model. Package the skills and your claude code/codex/gemini agent will be an AI research agent with full horsepower. Maintained by Orchestra Research.
相关推荐
AI-Research-SKILLs 学术绘图指南:用 matplotlib/seaborn 生成 ML 论文出版级图表的完整模式库
AI Research SKILLs 学术绘图指南:用 matplotlib/seaborn 生成 ML 论文出版级图表的完整模式库 本篇技术指南以 AI Re
AI 技能人工智能大模型深度学习AI 论文配图提示词工程完全指南:用 Gemini 六段式 Prompt 生成出版级架构图
AI 论文配图提示词工程完全指南:用 Gemini 六段式 Prompt 生成出版级架构图 本指南基于 AI Research SKILLs 仓库中 acade
AI 技能人工智能大模型深度学习ARIS paper-figure 技能实战:用 Codex + Gemini 审稿环生成出版级论文图表
ARIS paper figure 技能实战:用 Codex + Gemini 审稿环生成出版级论文图表 本文围绕 ARIS(Auto Research In
AI 技能/插件AI 评测科研人工智能MCP 服务dsh-plugin