2026-06-10
Full AI
Claude Fable 5 vs Gemini 3.5 Flash vs GPT-5.5 図解生成ベンチマーク ... users
はじめに
このシリーズは、新しいモデルが出るたびに「同じお題・同じプロンプト・同じビルド手順」で図解を描かせて横並び比較する定点観測ベンチマークです。今回の3モデルは左から Claude Fable 5 / Gemini 3.5 Flash / GPT-5.5 の順で並べています。
- Claude Fable 5: Claude Code(モデルID:
claude-fable-5)がプロンプトから直接 source を書き起こしました(レンダリング結果を見てからの手直しはなし) - Gemini 3.5 Flash:
agyコマンド(Gemini CLI 系のローカルエージェントCLI)の print モード(agy -p)で生成。既存10題材は 2026-05-22 生成分をそのまま流用し、新題材2つだけ今回agyで追加生成しました - GPT-5.5:
codex exec(Codex CLI の非対話モード)で12題材すべてを今回新規生成しました
比較条件
- モデル: Claude Fable 5 / Gemini 3.5 Flash / GPT-5.5
- 形式: TikZ / matplotlib / SVG
- 題材: 12題材(従来の10題材 + 今回追加の2題材)
- 総数: 12題材 × 3形式 × 3モデル = 108個
- 今回の新規生成分: Claude Fable 5 が36個、GPT-5.5 が36個、Gemini 3.5 Flash が新題材分の6個(計78個)
- 流用分: Gemini 3.5 Flash の既存10題材 × 3形式 = 30個(2026-05-22 生成)
題材のうち5つはユーザー指定です。残りは比較差が出やすいようにAIで設計しました。今回追加した2題材(夏祭りの花火大会・Transformerのアーキテクチャ図)もAI設計で、「夜景の配色」と「高密度なラベル配置」という、従来の10題材では確認できていなかった点を比較します。
題材一覧
| 題材 | 出題元 | 見たい点 |
|---|---|---|
| クマのぬいぐるみ | ユーザー指定 | かわいさ、左右対称、部品バランス、質感差 |
| 独居おばあちゃんがリビングでテレビを見ている絵 | ユーザー指定 | 生活空間、人物と家具の関係、構図の自然さ |
| 自分の部屋でVRゴーグルで遊んでいる様子をお母さんに見られる息子 | ユーザー指定 | 2人物の視線、状況説明力、部屋の整理 |
| 油圧ピストンの構造解説 | ユーザー指定 | 断面、部品ラベル、圧力の流れ |
| 7軸ロボットアームとその軸の説明 | ユーザー指定 | 多関節、軸番号、回転方向、空間把握 |
| カルマンフィルターのブロック線図 | AI設計 | フィードバック、数式ラベル、信号線 |
| RAGパイプライン構成図 | AI設計 | 取得と生成の分離、データフロー整理 |
| ゼロトラスト認証とトークン交換 | AI設計 | 境界越え、認証経路、複雑フロー |
| ブロッホ球 | AI設計 | 空間認識、数式、幾何配置 |
| マイケルソン干渉計 | AI設計 | 光路、対称性、部品配置 |
| 夏祭りの花火大会 | AI設計(今回追加) | 夜の配色、放射状の光、群衆と屋台の構図 |
| Transformerのアーキテクチャ図 | AI設計(今回追加) | ラベル密度、残差接続、Cross-Attentionの正確さ |
形式
| 形式 | 見たい点 | ビルド方法 |
|---|---|---|
| TikZ | 数式や工学図の厳密さ、構文の安定性 | xelatex -> pdftoppm -> cwebp |
| matplotlib | 手続き的に図を組み立てる力、部品配置の堅さ | python -> png -> cwebp |
| SVG | 生の座標設計とレイアウト感覚 | rsvg-convert -> png -> cwebp |
ベンチマークケースについて
- ユーザー指定ケース: クマのぬいぐるみ, 独居おばあちゃんがリビングでテレビを見ている絵, 自分の部屋でVRゴーグルで遊んでいる様子をお母さんに見られる息子, 油圧ピストンの構造解説, 7軸ロボットアームとその軸の説明
- AI設計ケース: カルマンフィルターのブロック線図, RAGパイプライン構成図, ゼロトラスト認証とトークン交換, ブロッホ球, マイケルソン干渉計, 夏祭りの花火大会, Transformerのアーキテクチャ図
共通チェック項目は scripts/diagram_benchmark_2026/manifest.yml に置いています。お題のプロンプトは scripts/diagram_benchmark_2026/prompts/ にあります(3モデル共通)。
CLI 経由の2モデル(Gemini / GPT-5.5)には「構文チェック(SVGのXMLパース・Pythonコンパイル・xelatexコンパイル)に通るまで最大3回リトライ」という同条件のバリデーションを掛けています。見た目を確認しての描き直しはどのモデルにもさせていません。
生成時に起きたこと
- GPT-5.5: イラスト系のTikZ(おばあちゃん・VR息子・花火)で「未定義の色名を参照する」コンパイルエラーを繰り返し、リトライ複数ラウンドを要しました。特にVR息子のTikZは合計11回目の生成でようやくコンパイルが通りました
- Gemini 3.5 Flash: 新題材のTransformer SVG で不正なXMLを3連続で出し、再実行ラウンドで成功しました
- Claude Fable 5: ゼロトラストのTikZで、自作スタイル名が TikZ の既存キー
stepと衝突してコンパイルに失敗し、スタイル名の変更(描画内容には無関係)を1回行いました
新題材のハイライト
出力一覧
01. クマのぬいぐるみ
お題
- かわいいクマのぬいぐるみを正面向きで描く
- 頭は丸く、耳は左右対称で少し大きめ
- 胴体は柔らかい綿入りの感じが出るように少し横幅を持たせる
- 腕と脚は短めで、ぬいぐるみらしい丸みを付ける
- 目、鼻、口、足裏、胸のワッペンなどで質感差を出す
- 暖色寄りでやさしい配色にする
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
bear-plush.tex |
bear-plush.tex |
bear-plush.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
bear-plush.py |
bear-plush.py |
bear-plush.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
bear-plush.svg |
bear-plush.svg |
bear-plush.svg |
![]() |
![]() |
![]() |
02. 独居おばあちゃんがリビングでテレビを見ている絵
お題
- リビングでおばあちゃんがテレビを見ている情景を描く
- おばあちゃんは一人で、椅子かソファに座っている
- テレビ、テーブル、照明、カーテンなどで生活空間を出す
- テレビの方へ視線が向いていることが分かるようにする
- 家庭的で温かい雰囲気にする
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
elderly-living-room-tv.tex |
elderly-living-room-tv.tex |
elderly-living-room-tv.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
elderly-living-room-tv.py |
elderly-living-room-tv.py |
elderly-living-room-tv.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
elderly-living-room-tv.svg |
elderly-living-room-tv.svg |
elderly-living-room-tv.svg |
![]() |
![]() |
![]() |
03. 自分の部屋でVRゴーグルで遊んでいる様子をお母さんに見られる息子
お題
- 子ども部屋で息子がVRゴーグルを装着して遊んでいる場面を描く
- 息子は両手にコントローラーを持ち、楽しそうに動いている
- 部屋の入口側からお母さんがその様子を見ている
- 机、棚、ベッドなどで子ども部屋らしさを出す
- 人物同士の視線関係が分かるようにする
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
vr-son-watched-by-mother.tex |
vr-son-watched-by-mother.tex |
vr-son-watched-by-mother.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
vr-son-watched-by-mother.py |
vr-son-watched-by-mother.py |
vr-son-watched-by-mother.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
vr-son-watched-by-mother.svg |
vr-son-watched-by-mother.svg |
vr-son-watched-by-mother.svg |
![]() |
![]() |
![]() |
04. 油圧ピストンの構造解説
お題
- 油圧ピストンの断面構造図を描く
- シリンダー、ピストン、ロッド、左右の圧力室を表現する
- 流体の流れを矢印で示す
- 主要部品にラベルを付ける
- 教育用の図として読みやすく整理する
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
hydraulic-piston.tex |
hydraulic-piston.tex |
hydraulic-piston.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
hydraulic-piston.py |
hydraulic-piston.py |
hydraulic-piston.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
hydraulic-piston.svg |
hydraulic-piston.svg |
hydraulic-piston.svg |
![]() |
![]() |
![]() |
05. 7軸ロボットアームとその軸の説明
お題
- 7軸ロボットアームの全体図を描く
- 各関節を J1 から J7 までラベル付けする
- 各軸の回転方向を小さな矢印で示す
- ベース、リンク、手先の関係が分かるようにする
- やや立体感のある構図で描く
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
robot-arm-7axis.tex |
robot-arm-7axis.tex |
robot-arm-7axis.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
robot-arm-7axis.py |
robot-arm-7axis.py |
robot-arm-7axis.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
robot-arm-7axis.svg |
robot-arm-7axis.svg |
robot-arm-7axis.svg |
![]() |
![]() |
![]() |
06. カルマンフィルターのブロック線図
お題
- カルマンフィルターのブロック線図を描く
- Prediction, Update, Measurement, State estimate を分ける
- 入力とフィードバックの向きを矢印で示す
- Kalman gain や residual など主要な情報流も入れる
- 制御図として見やすく整理する
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
kalman-filter.tex |
kalman-filter.tex |
kalman-filter.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
kalman-filter.py |
kalman-filter.py |
kalman-filter.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
kalman-filter.svg |
kalman-filter.svg |
kalman-filter.svg |
![]() |
![]() |
![]() |
07. RAGパイプライン構成図
お題
- RAG のパイプライン構成図を描く
- User Query, Embed/Retrieve, Vector DB, Retrieved Context, LLM, Answer を入れる
- オンライン処理と事前の文書投入を区別する
- データフローを矢印で示す
- 現代的なAIシステム図として整理する
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
rag-pipeline.tex |
rag-pipeline.tex |
rag-pipeline.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
rag-pipeline.py |
rag-pipeline.py |
rag-pipeline.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
rag-pipeline.svg |
rag-pipeline.svg |
rag-pipeline.svg |
![]() |
![]() |
![]() |
08. ゼロトラスト認証とトークン交換
お題
- ゼロトラスト認証とトークン交換の流れを描く
- User, Browser, IdP, API Gateway, Service A, Service B を入れる
- ID token, access token, service token の流れを区別する
- 信頼境界を領域として表現する
- 複雑でも読めるセキュリティ図にする
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
zero-trust-token-exchange.tex |
zero-trust-token-exchange.tex |
zero-trust-token-exchange.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
zero-trust-token-exchange.py |
zero-trust-token-exchange.py |
zero-trust-token-exchange.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
zero-trust-token-exchange.svg |
zero-trust-token-exchange.svg |
zero-trust-token-exchange.svg |
![]() |
![]() |
![]() |
09. ブロッホ球
お題
- ブロッホ球を2D投影で描く
- x, y, z 軸を示す
-
量子状態ベクトル psi> を球面上に描く - theta と phi の角度を小さな弧で示す
- 物理の教科書に出てくる図として整える
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
bloch-sphere.tex |
bloch-sphere.tex |
bloch-sphere.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
bloch-sphere.py |
bloch-sphere.py |
bloch-sphere.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
bloch-sphere.svg |
bloch-sphere.svg |
bloch-sphere.svg |
![]() |
![]() |
![]() |
10. マイケルソン干渉計
お題
- マイケルソン干渉計の模式図を描く
- Laser, Beam Splitter, Mirror A, Mirror B, Screen を入れる
- 光路を直線矢印で示す
- ビームスプリッタで2方向に分岐して戻る流れを見せる
- 対称性を保って配置する
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
michelson-interferometer.tex |
michelson-interferometer.tex |
michelson-interferometer.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
michelson-interferometer.py |
michelson-interferometer.py |
michelson-interferometer.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
michelson-interferometer.svg |
michelson-interferometer.svg |
michelson-interferometer.svg |
![]() |
![]() |
![]() |
11. 夏祭りの花火大会(今回追加の新題材)
お題
- 夜空に大きな打ち上げ花火が開いている夏祭りの情景を描く
- 花火は放射状の光の筋で2〜3発、色を変えて描く
- 画面下部に提灯の付いた屋台と人々のシルエットを置く
- 夜空は深い紺色のグラデーション風にして星を散らす
- 光の反射や提灯の灯りなど、夜らしい演出を入れる
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
summer-fireworks-festival.tex |
summer-fireworks-festival.tex |
summer-fireworks-festival.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
summer-fireworks-festival.py |
summer-fireworks-festival.py |
summer-fireworks-festival.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
summer-fireworks-festival.svg |
summer-fireworks-festival.svg |
summer-fireworks-festival.svg |
![]() |
![]() |
![]() |
12. Transformerのアーキテクチャ図(今回追加の新題材)
お題
- Transformer の encoder-decoder アーキテクチャ図を描く
- Input Embedding, Positional Encoding, Multi-Head Attention, Feed Forward, Add & Norm, Linear, Softmax を入れる
- Encoder スタックと Decoder スタックを左右に分けて配置する
- 残差接続が Add & Norm に入る流れを矢印で分かるように描く
- Decoder 側の Masked Multi-Head Attention と、Encoder から渡る Cross-Attention を区別する
- 論文スタイルの読みやすいブロック図として整理する
TikZ
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
transformer-architecture.tex |
transformer-architecture.tex |
transformer-architecture.tex |
![]() |
![]() |
![]() |
matplotlib
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
transformer-architecture.py |
transformer-architecture.py |
transformer-architecture.py |
![]() |
![]() |
![]() |
SVG
| Claude Fable 5 | Gemini 3.5 Flash | GPT-5.5 |
|---|---|---|
transformer-architecture.svg |
transformer-architecture.svg |
transformer-architecture.svg |
![]() |
![]() |
![]() |
現時点の見どころ
- かわいいイラスト系では、装飾を盛る方向に出るか、破綻を避けて記号寄りに出るかが見やすいです。Fable 5 がどちらに寄るかも、左列で並べて見られます
- 夜景の花火は、暗背景での発色・光のグラデーション表現・シルエットの説得力に各モデルの個性が出ます
- 機械・制御系では、構造の整列とラベルの読みやすさで差が出ます
- Transformer 図は、残差接続と Cross-Attention の結線を正確に描けるかという「知識の正確さ」も同時に試されます
- 数学・物理系では、空間把握と数式周辺の配置の上手さが見やすいです
参考
- 元記事(2モデル版): Gemini 3.5 Flash vs GPT-5.4 図解生成ベンチマーク
- 前回記事(Opus 4.8 追加版): Claude Opus 4.8 vs Gemini 3.5 Flash vs GPT-5.4 図解生成ベンチマーク
- さらに前の比較記事: https://zenn.dev/kazuph/articles/claude-opus-tikz-comparison
おわりに
新登場の Claude Fable 5 を一番左の列に追加し、右列を codex exec 生成の GPT-5.5 に刷新し、新題材2つを加えた12題材 × 3形式 × 3モデルの総当たり比較にしました。同じお題でも、モデル差と形式差を1画面で見比べられます。次のモデルが出たら、また同じお題で定点観測を続けます。











































































































