論文插圖:多階段 Claude 監督式圖表生成
使用多階段工作流程,並以 Claude 作為嚴格的監督者/審查者,產生可供出版使用的插圖。
核心設計理念
┌──────────────────────────────────────────────────────────────────────────┐
│ 多階段迭代工作流程 │
├──────────────────────────────────────────────────────────────────────────┤
│ │
│ 使用者請求 │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Claude │ ◄─── 步驟 1:解析請求,建立初始提示 │
│ │ (規劃者) │ │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Gemini │ ◄─── 步驟 2:最佳化佈局描述 │
│ │ (gemini-3-pro)│ - 改良元件定位 │
│ │ 佈局 │ - 最佳化間距與分組 │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Gemini │ ◄─── 步驟 3:CVPR/NeurIPS 風格驗證 │
│ │ (gemini-3-pro)│ - 檢查色板符合性 │
│ │ 風格 │ - 驗證箭頭與字型標準 │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Paperbanana │ ◄─── 步驟 4:渲染最終圖像 │
│ │ (gemini-3- │ - 高品質圖像生成 │
│ │ pro-image) │ - 內部代號:Nano Banana Pro │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Claude │ ◄─── 步驟 5:嚴格的視覺審查 + 評分 (1-10) │
│ │ (審查者) │ - 驗證每個箭頭方向 │
│ │ 嚴格! │ - 驗證每個區塊內容 │
│ └──────┬──────┘ - 驗證美學與視覺吸引力 │
│ │ │
│ ▼ │
│ 分數 ≥ 9? ──是──► 接受並輸出 │
│ │ │
│ 否 │
│ │ │
│ ▼ │
│ 生成特定的改善反饋 ◄── 回到步驟 2 │
│ │
└──────────────────────────────────────────────────────────────────────────┘
常數
- IMAGE_MODEL =
gemini-3-pro-image-preview— Paperbanana (Nano Banana Pro) 用於圖像渲染 - REASONING_MODEL =
gemini-3-pro-preview— Gemini 用於佈局最佳化與風格檢查 - MAX_ITERATIONS = 5 — 最大改良輪數
- TARGET_SCORE = 9 — 最低可接受分數 (1-10) — 為品質而提高
- OUTPUT_DIR =
figures/ai_generated/— 輸出目錄 - API_KEY_ENV =
GEMINI_API_KEY— 環境變數
可選:風格參考 (-- style-ref: <來源>, 自願加入)
讓使用者針對結構性的圖表慣例(如母論文中的圖說長度、面板數量分佈、圖表與表格比例)參考一篇論文。預設為關閉 — 當使用者未傳入 -- style-ref 時,其行為與先前完全相同。
僅當 $ARGUMENTS 中包含 -- style-ref: <來源> 時,才「先」執行輔助工具,然後才產生提示:
# 透過標準的嚴格安全鏈解析 $STYLE_HELPER(請參閱
# shared-references/integration-contract.md §2)。政策 A — 閘門:
# 若輔助工具無法解析,則表示 --style-ref 無法滿足,因此中止。
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
STYLE_HELPER=".aris/tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || STYLE_HELPER="tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && STYLE_HELPER="$ARIS_REPO/tools/extract_paper_style.py"; }
[ -f "$STYLE_HELPER" ] || {
echo "錯誤:extract_paper_style.py 無法解析至 .aris/tools/、tools/、$ARIS_REPO/tools/ 或透過 ~/.aris/repo 找到。" >&2
echo " 修正:重新執行 bash tools/install_aris.sh 或 smart_update.sh(會重新整理 ~/.aris/repo)、匯出 ARIS_REPO,或將輔助工具複製到 tools/。" >&2
echo " --style-ref 無法滿足;正在中止。" >&2
exit 1
}
STYLE_STATUS=0
CACHE=$(python3 "$STYLE_HELPER" --source "<來源>") || STYLE_STATUS=$?
case "$STYLE_STATUS" in
0) ;; # 使用 $CACHE/style_profile.md 作為結構性指導
2) echo "警告:style-ref 已跳過(缺少可選依賴項)" >&2 ;;
3) echo "錯誤:--style-ref 來源失敗;正在中止插圖生成" >&2 ; exit 1 ;;
*) echo "錯誤:輔助工具意外失敗;正在中止插圖生成" >&2 ; exit 1 ;;
esac
接受的來源:本機 TeX 目錄/檔案、本機 PDF、arXiv ID、http(s) URL。Overleaf URL/ID 將被拒絕 — 請先透過 /overleaf-sync setup <id> 複製,然後再傳入本機複製路徑。
嚴格規則(完整合約請參閱 tools/extract_paper_style.py 的文件字串):
- 使用
style_profile.md使圖說長度和圖表密度與參考論文保持一致。上述的 CVPR/ICLR/NeurIPS 視覺標準仍具有優先權 —--style-ref僅調整長度和密度傾向,絕不影響圖像內容。 - 切勿複製快取中任何可觸及的圖像內容、色板或特定設計元素。視覺設計來自使用者的提示,而非參考文獻。
- 切勿將
-- style-ref(或快取內容)傳遞給 Claude 視覺檢查器 / Gemini 推理檢查器子代理來評分生成的圖像 — 圖像必須根據其自身品質進行評判。
CVPR/ICLR/NeurIPS 頂級會議風格指南
「CVPR 風格」的實際含義:
視覺標準
- 乾淨的白色背景 — 無裝飾性圖案或漸層(除非很細微)
- 無襯線字型 — Arial、Helvetica 或 Computer Modern;最小 14pt
- 微妙的色板 — 非彩虹色;使用 3-5 種協調的顏色
- 適合列印 — 必須在灰階下可讀(許多審稿人會列印論文)
- 專業邊框 — 細 (2-3px)、實色,不花俏
佈局標準
- 水平流向 — 從左到右是流程圖的標準
- 清晰分組 — 使用微妙的背景框來分組相關模組
- 一致的大小 — 相似元件應具有相似大小
- 平衡的留白 — 不擁擠,不稀疏
箭頭標準(最關鍵)
- 粗線條 — 最小 4-6px(細箭頭在列印時會消失)
- 清晰的箭頭頭部 — 大的、填滿的三角形頭部
- 深色 — 黑色或深灰色 (#333333);避免彩色箭頭
- 標籤 — 每個箭頭都應指示通過它的資料流類型
- 無交叉 — 重新組織佈局以避免箭頭交叉
- 正確的方向 — 箭頭必須指向「正確的」目標!
視覺吸引力(科研風格 - Professional Academic Style)
目標:既不保守也不花哨,找到平衡點
✅ 應該有的視覺元素:
- Subtle gradient fills — 淡雅的漸層填充(同色系從淺到深),不是炫彩
- Rounded corners — 圓角矩形(6-10px radius),現代感但不誇張
- Clear visual hierarchy — 透過大小、顏色深淺區分層次
- Consistent color coding — 統一的配色方案(3-4種主色)
- Internal structure — 大模組內部顯示子元件(如 Encoder 內部的 layer 結構)
- Professional typography — 清晰的標籤,適當的字級層次
✅ 配色建議(學術專業):
- Inputs: 柔和的綠色系 (#10B981 / #34D399)
- Encoders: 專業的藍色系 (#2563EB / #3B82F6)
- Fusion: 優雅的紫色系 (#7C3AED / #8B5CF6)
- Outputs: 溫暖的橙色系 (#EA580C / #F97316)
- Arrows: 黑色或深灰 (#333333 / #1F2937)
- Background: 純白 (#FFFFFF),不要花紋
❌ 要避免的過度裝飾:
- ❌ Rainbow color schemes (彩虹配色)
- ❌ Heavy drop shadows (重陰影效果)
- ❌ 3D effects / perspective (3D透視)
- ❌ Excessive gradients (誇張的多色漸層)
- ❌ Clip art / cartoon icons (卡通圖標)
- ❌ Decorative patterns in background (背景花紋)
- ❌ Glowing effects (發光效果)
- ❌ Too many small icons (過多小圖標)
✓ 理想的視覺效果:
- 一眼看上去專業、清晰
- 有適度的視覺吸引力,但不搶眼
- 符合CVPR/NeurIPS論文的審美標準
- 列印友好(灰階模式下也能清晰辨認)
- 像精心設計的學術圖表,而不是 PPT 模板
應避免的事項(關鍵)
- ❌ 彩虹色調(太多顏色)
- ❌ 細如髮絲的箭頭(箭頭必須夠粗)
- ❌ 無標籤的連線
- ❌ 樸素無聊的矩形(應加入一些視覺趣味)
- ❌ 過度裝飾(陰影/發光/圖標)(過於花俏)
- ❌ 列印時無法閱讀的小字
- ❌ 錯誤的箭頭方向 — 這是不可接受的!
範圍
| 圖表類型 | 品質 | 範例 |
|---|---|---|
| 架構圖 | 優秀 | 模型架構、流程圖、編碼器-解碼器 |
| 方法插圖 | 優秀 | 概念圖、演算法流程圖 |
| 概念圖 | 良好 | 比較圖、分類樹 |
不適用於: 統計圖表(請使用 /paper-figure)、寫實照片
工作流程:必須執行所有步驟
步驟 0:飛行前檢查
# 檢查 API 金鑰
if [ -z "$GEMINI_API_KEY" ]; then
echo "錯誤:GEMINI_API_KEY 未設定"
echo "從以下網址取得您的金鑰:https://aistudio.google.com/app/apikey"
echo "設定方式:export GEMINI_API_KEY='your-key'"
exit 1
fi
# 建立輸出目錄
mkdir -p figures/ai_generated
步驟 1:Claude 規劃圖表(您在此處)
關鍵:Claude 必須先分析使用者的請求,並建立詳細提示。
解析輸入:$ARGUMENTS
Claude 的任務:
- 理解使用者想要什麼樣的圖表
- 識別所有元件、連線、資料流
- 為 Gemini 建立一個詳細、結構化的提示
- 包含風格要求和視覺吸引力要求
Claude 要產生的提示模板:
請根據 CVPR/ICLR/NeurIPS 標準,建立一個專業、視覺上吸引人、可供出版使用的學術圖表。
## 視覺風格:科研風格(Academic Professional Style)
### 目標:平衡 — 既不保守也不花哨
#### 應該有:
- **Subtle gradients** — 同色系淡雅漸層(如 #2563EB → #3B82F6),不是多色炫彩
- **Rounded corners** — 圓角矩形(6-10px),現代感
- **Clear visual hierarchy** — 透過大小、深淺區分層次
- **Internal structure** — 大模組內顯示子元件結構
- **Consistent color coding** — 統一的3-4色方案
- **Professional polish** — 精緻但不誇張
#### 不應該有:
- ❌ Rainbow/multi-color gradients (彩虹漸層)
- ❌ Heavy drop shadows (重陰影)
- ❌ 3D effects / perspective (3D效果)
- ❌ Glowing effects (發光效果)
- ❌ Excessive decorative icons (過多裝飾圖標)
- ❌ Plain boring rectangles (完全平淡的方塊)
#### 理想效果:
像頂會論文中精心設計的架構圖 — 專業、清晰、有適度的視覺吸引力
## 圖表類型
[架構圖 / 流程圖 / 比較圖 / 等]
## 應包含的元件(請具體說明內容)
1. [元件 1]:
- 標籤:「[確切文字]」
- 副標籤:「[下方較小文字]」
- 位置:[左/中/右, 上/中/下]
- 樣式:[邊框顏色、填充、內部結構]
2. [元件 2]: ...
## 佈局
- 方向:[從左到右 / 從上到下]
- 間距:[緊密 / 正常 / 寬鬆]
- 分組:[元件應如何分組]
## 連線(請明確說明方向)
確切的箭頭規格:
1. [元件 A] → [元件 B]:箭頭從 A 指向 B,標籤為「[資料類型]」
2. [元件 C] → [元件 D]:箭頭從 C 指向 D,標籤為「[資料類型]」
...
驗證:每個箭頭必須指向正確的目標!
## 風格要求(CVPR/ICLR/NeurIPS 標準)
### 視覺風格
- 色板:專業學術色
- Inputs: 綠色 (#10B981)
- Encoders: 藍色 (#2563EB)
- Fusion modules: 紫色 (#7C3AED)
- Outputs: 橙色 (#EA580C)
- 字型:無襯線字型 (Arial/Helvetica),最小 14pt,標籤加粗
- 背景:乾淨的白色,無圖案
- 區塊:圓角矩形 (8-12px radius),微妙的漸層填充,彩色邊框 (2-3px)
- 微妙的陰影以營造深度感
- 適合列印(必須能在灰階下運作)
### 關鍵:箭頭與資料流要求
1. **所有箭頭必須非常粗** - 最小 5-6px 線條寬度
2. **所有箭頭必須有清晰的箭頭頭部** - 大的、可見的三角形頭部
3. **所有箭頭必須是黑色或深灰色** - 不要彩色
4. **為每個箭頭加上標籤**,說明通過它的資料流類型
5. **驗證箭頭方向** - 每個箭頭都必須指向正確的目標
6. **無模糊的連線** - 每個箭頭都應有明確的來源和目的地
### 邏輯清晰度要求
1. **資料流必須一目了然** - 觀看者應能理解管線
…
[因長度限制而截斷]