🎨
最新LLMモデル作図バトル!Claude Opus 4.5, GPT 5 Codex, Gemini 3 Pro Previewで徹底比較
最近の作図をAIに作らせこともあるのですが、うまくいったりいかなかったりなので、色々なパターンで試してみました。
4ツール x 4 AI x 14テーマ = 224個を作らせました!
AIごとに向き不向きがありますが、正直どんぐりの背比べです。
実用レベルにしたい場合は、この作図の後に、人間が具体的におかしい箇所を指摘する必要があります。
肌感としてはOpus 4.5が平均的に優秀ですが、Gemini 3 Proも目が良いので、そこにコーディング力も合わさると目立つことも多いです。
Codexは基本的にだめですが、数学系は強いかも?
ということで、あとはご自身の目で確かめてみてください。
比較条件
作図フォーマット(4種類)
| フォーマット | 特徴 | ビルド方法 |
|---|---|---|
| TikZ | LaTeXベースのベクター作図 | xelatex → pdftoppm → cwebp |
| matplotlib | Pythonの定番作図ライブラリ | Python → PNG → cwebp |
| JSXGraph | 数学教育向けJSライブラリ | HTML → Playwright → cwebp |
| SVG | ブラウザネイティブのベクター | rsvg-convert → cwebp |
LLMモデル(4種類)
| LLM | モデル | 実行方法 |
|---|---|---|
| Claude Code | Opus 4.5 | claude --model opus --dangerously-skip-permissions -p "..." |
| Codex CLI | gpt-5-codex | codex exec --full-auto --skip-git-repo-check --model gpt-5-codex "..." |
| Codex CLI (max) | gpt-5.1-codex-max | codex exec --model gpt-5.1-codex-max -c model_reasoning_effort="xhigh" --full-auto --skip-git-repo-check "..." |
| Gemini CLI | gemini-3-pro-preview | gemini -m gemini-3-pro-preview "..." |
お題(14種類)
- 余弦定理
- ニュートンの第二法則(F=ma)
- バネマスダンパー
- PID制御のブロック線図
- LANとGateway
- ブラシレスDCモーター
- 油圧アクチュエーター
- 産業用ロボットアーム
- 誤差逆伝搬
- CNNアーキテクチャ
- AWS IoTアーキテクチャ
- くまのイラスト
- VRを楽しむ人
- テレビを見るおばあさん
合計: 4 × 4 × 14 = 224個の図
環境構築
macOS
# LaTeX(TikZ用)
brew install texlive
# 画像変換ツール
brew install poppler webp librsvg
# Python(matplotlib用)
pip install matplotlib numpy
# Node.js(JSXGraph用)
npm install playwright
npx playwright install chromium
使用したプロンプト
共通プロンプト(品質チェックリスト)
各LLMに以下の品質チェックリストを共通で渡しました。
## 品質チェックリスト(作図時に必ず確認)
### 技術的正確性
- 概念の表現が正確か
- 矢印の向きは正しいか
- 用語の使用は適切か
- 物理的・数学的な関係性が正しく表現されているか
### ビジュアル品質
- 色使いは統一されているか(同種の要素は同色)
- フォントサイズは読みやすいか(小さすぎない)
- 要素の配置はバランスが良いか
- 余白は適切か(詰まりすぎ・空きすぎを避ける)
- ラベルが要素と重ならないか
- 線の太さは適切で一貫しているか
### 教育効果
- 初学者が理解できるシンプルさか
- 情報量は適切か(多すぎず少なすぎず)
- 強調すべき点が明確か
- 視線の流れが自然か(左→右、上→下)
お題ごとのプロンプト
14個のお題詳細
01. 余弦定理
- 三角形ABCを描き、辺a,b,cと角A,B,Cをラベル付け
- 公式 c² = a² + b² - 2ab cos C を図の下に表示
- 日本語ラベルを使用
02. ニュートンの第二法則
- 物体(箱)に力Fの矢印、加速度aの矢印を描く
- 質量mのラベル
- 公式 F = ma を表示
03. バネマスダンパー
- 壁、バネ(zigzag)、ダンパー(四角形)、質量(箱)を水平に配置
- 各要素にk, c, mのラベル
- 運動方程式 m\ddot{x} + c\dot{x} + kx = F(t) を図の下に表示
04. PID制御のブロック線図
- 目標値r(t) → 加算点 → PID制御器 → プラントG(s) → 出力y(t)
- フィードバックループを描く
- PID制御器内でP, I, Dの並列パスを示す
05. LANとGateway
- 左側: 内部LAN(複数のPC/サーバーアイコン)
- 中央: Gateway/ルーター
- 右側: 外部LAN/インターネット(クラウドアイコン)
- 矢印で通信フローを示す
06. ブラシレスDCモーター
- 円形の断面図
- ステーター(外側、コイル)
- ローター(内側、永久磁石)
- N極/S極のラベル
- コイルの巻線を示す
07. 油圧アクチュエーター
- シリンダー(長方形)
- ピストン
- 油圧入力/出力ポート
- 各部品にラベル(シリンダー、ピストン、油圧など)
08. 産業用ロボットアーム
- 基部(ベース)
- 複数の関節(3-4つ)
- アーム部分
- エンドエフェクター(グリッパー)
- 各関節に回転の自由度を示す矢印
09. 誤差逆伝搬
- 入力層、隠れ層(1-2層)、出力層
- 各ニューロンを円で表現
- 層間の結合(矢印)
- 順伝播(青矢印)と逆伝播(赤矢印)を示す
- δ(誤差)の流れを示す
10. CNNアーキテクチャ
- 入力画像(手書き数字のグリッド)
- 畳み込み層(Conv)
- プーリング層(Pool)
- 全結合層(FC)
- 出力(0-9の確率)
- 各層をブロックで表現し、矢印で接続
11. AWS IoT構成図
- IoTデバイス(センサー付き)複数
- AWS IoT Core(中央のハブ)
- AWS Lambda(処理)
- Amazon S3(ストレージ)
- Amazon DynamoDB(データベース)
- 各AWSサービスは公式アイコン風のシンプルな図形で表現
- データフローを矢印で示す
12. くまのイラスト
- かわいいくまのキャラクター
- 丸みを帯びた体と顔
- 目、鼻、口、耳
- 手足
- やさしい色使い(茶色系)
- 絵本らしい温かみのあるスタイル
13. VRを楽しむ人
- シンプルな人物(いらすとや風)
- VRゴーグル(ヘッドセット)を装着
- 両手でコントローラーを持っている姿
- 楽しそうな雰囲気
- パステルカラーの色使い
14. テレビを見るおばあさん
- おばあちゃん(座っている姿)
- テレビ(正面または斜め)
- ソファまたは椅子
- リモコンを持っている
- 温かみのある家庭的な雰囲気
- いらすとや風のシンプルなスタイル
TikZ用テンプレート
\documentclass[border=5mm]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{amsmath,amssymb}
\usepackage{fontspec}
\setmainfont{Hiragino Kaku Gothic Pro}
\usetikzlibrary{arrows.meta,positioning,calc,shapes.geometric,backgrounds,decorations.pathreplacing,patterns,matrix,shapes.symbols,shapes.misc,fit}
\begin{document}
\begin{tikzpicture}
% ここに図を描く
\end{tikzpicture}
\end{document}
ビルドコマンド
# TikZ
xelatex -interaction=nonstopmode ファイル名.tex
pdftoppm -png -r 300 ファイル名.pdf ファイル名
cwebp -q 90 ファイル名-1.png -o ファイル名.webp
# matplotlib
python script.py # PNG出力
cwebp -q 90 output.png -o output.webp
# JSXGraph
npx playwright screenshot index.html output.png
cwebp -q 90 output.png -o output.webp
# SVG
rsvg-convert -w 800 input.svg -o output.png
cwebp -q 90 output.png -o output.webp
1. 余弦定理
プロンプト
- 三角形ABCを描き、辺a,b,cと角A,B,Cをラベル付け
- 公式 c² = a² + b² - 2ab cos C を図の下に表示
- 日本語ラベルを使用
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




2. ニュートンの第二法則
プロンプト
- 物体(箱)に力Fの矢印、加速度aの矢印を描く
- 質量mのラベル
- 公式 F = ma を表示
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




3. バネマスダンパー
プロンプト
- 壁、バネ(zigzag)、ダンパー(四角形)、質量(箱)を水平に配置
- 各要素にk, c, mのラベル
- 運動方程式 m\ddot{x} + c\dot{x} + kx = F(t) を図の下に表示
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




4. PID制御
プロンプト
- 目標値r(t) → 加算点 → PID制御器 → プラントG(s) → 出力y(t)
- フィードバックループを描く
- PID制御器内でP, I, Dの並列パスを示す
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




5. LANとGateway
プロンプト
- 左側: 内部LAN(複数のPC/サーバーアイコン)
- 中央: Gateway/ルーター
- 右側: 外部LAN/インターネット(クラウドアイコン)
- 矢印で通信フローを示す
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




6. ブラシレスDCモーター
プロンプト
- 円形の断面図
- ステーター(外側、コイル)
- ローター(内側、永久磁石)
- N極/S極のラベル
- コイルの巻線を示す
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




7. 油圧アクチュエーター
プロンプト
- シリンダー(長方形)
- ピストン
- 油圧入力/出力ポート
- 各部品にラベル(シリンダー、ピストン、油圧など)
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




8. 産業用ロボットアーム
プロンプト
- 基部(ベース)
- 複数の関節(3-4つ)
- アーム部分
- エンドエフェクター(グリッパー)
- 各関節に回転の自由度を示す矢印
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




9. 誤差逆伝搬
プロンプト
- 入力層、隠れ層(1-2層)、出力層
- 各ニューロンを円で表現
- 層間の結合(矢印)
- 順伝播(青矢印)と逆伝播(赤矢印)を示す
- δ(誤差)の流れを示す
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




10. CNNアーキテクチャ
プロンプト
- 入力画像(手書き数字のグリッド)
- 畳み込み層(Conv)
- プーリング層(Pool)
- 全結合層(FC)
- 出力(0-9の確率)
- 各層をブロックで表現し、矢印で接続
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




11. AWS IoTアーキテクチャ
プロンプト
- IoTデバイス(センサー付き)複数
- AWS IoT Core(中央のハブ)
- AWS Lambda(処理)
- Amazon S3(ストレージ)
- Amazon DynamoDB(データベース)
- 各AWSサービスは公式アイコン風のシンプルな図形で表現
- データフローを矢印で示す
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




12. くまのイラスト
プロンプト
- かわいいくまのキャラクター
- 丸みを帯びた体と顔
- 目、鼻、口、耳、手足
- やさしい色使い(茶色系)
- 絵本らしい温かみのあるスタイル
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




13. VRを楽しむ人
プロンプト
- シンプルな人物(いらすとや風)
- VRゴーグル(ヘッドセット)を装着
- 両手でコントローラーを持っている姿
- 楽しそうな雰囲気
- パステルカラーの色使い
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




14. テレビを見るおばあさん
プロンプト
- おばあちゃん(座っている姿)
- テレビ(正面または斜め)
- ソファまたは椅子
- リモコンを持っている
- 温かみのある家庭的な雰囲気
- いらすとや風のシンプルなスタイル
TikZ
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




matplotlib
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




JSXGraph
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




SVG
| Claude (Opus 4.5) | Codex | Codex (max) | Gemini |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
フルサイズで見る




おわりの場所
おわりです!
何かまとめが書いてあると思いましたか?残念!
「いかがでしたか?」は売り切れ中です。
冒頭に全部書いてあるので、ここは単に休憩スペースです。
ここまで全部くまなく見られた方、お疲れ様でした。
☕をどうぞ。
よかったら感想ください。
bye👋
Discussion