feat(article): 添加 GPT-5.4 深度解析文章及配套图表

- 新增 GPT-5.4 深度解析文章,涵盖六大核心能力详解
- 添加 SVG 格式的 GPT-5.4 能力全景图
- 添加 Mermaid 格式的模型家族关系图
- 添加 GPT-5.4 六大能力思维导图
- 添加 Computer Use 工作流程图
- 添加 OSWorld 桌面操作基准测试图表
- 添加 上下文窗口演进对比图
- 添加 上下文压缩原理图
- 添加 Tool Search 机制对比图
- 添加 可配置推理深度图
- 添加 GDPval 对比图表
- 添加 三方模型对比图
- 添加 API 定价对比图
- 添加 Mermaid 配置文件和样式文件
- 添加模型选择指南 SVG 图片
This commit is contained in:
2026-03-16 16:28:42 +08:00
parent 0ff9bac541
commit 76c9a60379
37 changed files with 1034 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 579 KiB

+54
View File
@@ -0,0 +1,54 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 700" font-family="'Inter', 'SF Pro', system-ui, sans-serif">
<title>GPT-5.4 能力全景:专业工作、编码、计算机操控、工具使用与长上下文</title>
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#040816"/>
<stop offset="100%" stop-color="#111827"/>
</linearGradient>
</defs>
<rect width="1200" height="700" fill="url(#bg)"/>
<text x="600" y="56" fill="#F8FAFC" font-size="32" font-weight="800" text-anchor="middle">GPT-5.4 能力全景</text>
<text x="600" y="84" fill="#94A3B8" font-size="15" text-anchor="middle">这不是常规升级,而是一次模型产品线的重置</text>
<g transform="translate(90,130)">
<rect width="1020" height="90" rx="16" fill="#0B172A" stroke="#22D3EE" stroke-opacity="0.45"/>
<text x="28" y="38" fill="#67E8F9" font-size="20" font-weight="800">1. 专业知识工作</text>
<text x="28" y="64" fill="#E0F2FE" font-size="14">GDPval 83.0%,投行建模 87.3%,演示文稿、文档、事实准确性均大幅超越 GPT-5.2。</text>
<text x="946" y="56" fill="#67E8F9" font-size="28" font-weight="800" text-anchor="end">83.0%</text>
</g>
<g transform="translate(130,250)">
<rect width="940" height="82" rx="16" fill="#0B1A16" stroke="#10B981" stroke-opacity="0.45"/>
<text x="28" y="35" fill="#6EE7B7" font-size="19" font-weight="800">2. 编码与智能体循环</text>
<text x="28" y="60" fill="#D1FAE5" font-size="14">SWE-Bench Pro 57.7%,与 GPT-5.3-Codex 持平,同时在研究和工具使用上覆盖面更广。</text>
<text x="866" y="53" fill="#6EE7B7" font-size="26" font-weight="800" text-anchor="end">57.7%</text>
</g>
<g transform="translate(170,360)">
<rect width="860" height="82" rx="16" fill="#1A1205" stroke="#F59E0B" stroke-opacity="0.45"/>
<text x="28" y="35" fill="#FCD34D" font-size="19" font-weight="800">3. 原生计算机操控</text>
<text x="28" y="60" fill="#FEF3C7" font-size="14">OSWorld-Verified 75.0%,支持基于截图的浏览器和桌面操作,通过 Computer Use API 实现。</text>
<text x="786" y="53" fill="#FCD34D" font-size="26" font-weight="800" text-anchor="end">75.0%</text>
</g>
<g transform="translate(210,470)">
<rect width="780" height="82" rx="16" fill="#111827" stroke="#818CF8" stroke-opacity="0.45"/>
<text x="28" y="35" fill="#C7D2FE" font-size="19" font-weight="800">4. 工具使用与 MCP</text>
<text x="28" y="60" fill="#E0E7FF" font-size="14">BrowseComp 82.7%,MCP Atlas 67.2%,支持大规模延迟工具目录的 Tool Search 机制。</text>
<text x="706" y="53" fill="#C7D2FE" font-size="26" font-weight="800" text-anchor="end">82.7%</text>
</g>
<g transform="translate(250,580)">
<rect width="700" height="82" rx="16" fill="#1A1020" stroke="#F472B6" stroke-opacity="0.45"/>
<text x="28" y="35" fill="#F9A8D4" font-size="19" font-weight="800">5. 长上下文与推理</text>
<text x="28" y="60" fill="#FBCFE8" font-size="14">上下文窗口 105 万 tokens,输出 12.8 万 tokens,但远端检索质量仍有下降。</text>
<text x="626" y="53" fill="#F9A8D4" font-size="26" font-weight="800" text-anchor="end">1.05M</text>
</g>
<path d="M600 220 L600 250" stroke="#22D3EE" stroke-width="2" stroke-dasharray="6 6" opacity="0.5"/>
<path d="M600 332 L600 360" stroke="#10B981" stroke-width="2" stroke-dasharray="6 6" opacity="0.5"/>
<path d="M600 442 L600 470" stroke="#F59E0B" stroke-width="2" stroke-dasharray="6 6" opacity="0.5"/>
<path d="M600 552 L600 580" stroke="#818CF8" stroke-width="2" stroke-dasharray="6 6" opacity="0.5"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

+18
View File
@@ -0,0 +1,18 @@
graph TD
A["GPT-5.4 基座模型"] --> B["GPT-5.4 标准版"]
A --> C["GPT-5.4 Thinking"]
A --> D["GPT-5.4 Pro"]
B --> B1["日常专业工作"]
B --> B2["API 调用"]
C --> C1["展示推理过程"]
C --> C2["复杂问题求解"]
D --> D1["极限推理深度"]
D --> D2["科研/金融级任务"]
style A fill:#10a37f,stroke:#fff,color:#fff
style B fill:#1a7f64,stroke:#fff,color:#fff
style C fill:#1a7f64,stroke:#fff,color:#fff
style D fill:#1a7f64,stroke:#fff,color:#fff
Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

+21
View File
@@ -0,0 +1,21 @@
mindmap
root((GPT-5.4<br/>六大能力))
原生计算机操控
截图理解
鼠标键盘操作
跨应用工作流
百万级上下文
标准 272K
最大 1M tokens
上下文压缩
自动总结压缩
保留关键信息
工具搜索
按需加载工具
Token 降低 47%
可配置推理
5 档深度
成本精细控制
编码能力升级
SWE-Bench ~80%
Terminal-Bench 75.1%
Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

+10
View File
@@ -0,0 +1,10 @@
graph LR
A["🖥️ 截取屏幕"] --> B["🧠 GPT-5.4<br/>理解界面"]
B --> C["📋 返回动作指令<br/>点击/输入/滚动"]
C --> D["⚙️ 你的程序<br/>执行操作"]
D --> A
style A fill:#f9f,stroke:#333
style B fill:#10a37f,stroke:#fff,color:#fff
style C fill:#bbf,stroke:#333
style D fill:#fbb,stroke:#333
Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

+5
View File
@@ -0,0 +1,5 @@
xychart-beta
title "OSWorld-Verified 桌面操作基准测试"
x-axis ["GPT-5.2", "人类表现", "GPT-5.4"]
y-axis "成功率 (%)" 0 --> 100
bar [47.3, 72.4, 75.0]
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

@@ -0,0 +1,5 @@
xychart-beta
title "上下文窗口演进(单位:K tokens)"
x-axis ["GPT-5.2", "GPT-5.3 Codex", "GPT-5.4 标准", "GPT-5.4 最大"]
y-axis "K tokens" 0 --> 1100
bar [128, 200, 272, 1000]
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

+17
View File
@@ -0,0 +1,17 @@
graph LR
subgraph 压缩前["❌ 压缩前:全量加载"]
A1["轮次 1<br/>1.2K tokens"] --> A2["轮次 2<br/>3.5K tokens"]
A2 --> A3["轮次 3<br/>2.8K tokens"]
A3 --> A4["轮次 4<br/>4.1K tokens"]
A4 --> A5["...<br/>持续膨胀 💥"]
end
A5 --> C["🗜️ Compaction<br/>自动压缩"]
subgraph 压缩后["✅ 压缩后:智能摘要"]
C --> B1["摘要<br/>0.6K tokens"]
B1 --> B2["轮次 4<br/>4.1K tokens"]
B2 --> B3["新轮次<br/>继续对话 ✅"]
end
style C fill:#10a37f,stroke:#fff,color:#fff
Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

+15
View File
@@ -0,0 +1,15 @@
graph TB
subgraph 传统方式["❌ 传统方式:全量加载"]
T1["请求开始"] --> T2["加载全部 100 个工具定义<br/>~40K tokens"]
T2 --> T3["模型选择 1 个工具"]
T3 --> T4["99 个工具的定义被浪费"]
end
subgraph 新方式["✅ Tool Search:按需加载"]
N1["请求开始"] --> N2["加载轻量工具列表<br/>~2K tokens"]
N2 --> N3["模型搜索需要的工具"]
N3 --> N4["按需加载 1 个工具定义<br/>~400 tokens"]
end
style T4 fill:#c62828,stroke:#fff,color:#fff
style N4 fill:#10a37f,stroke:#fff,color:#fff
Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

+13
View File
@@ -0,0 +1,13 @@
graph LR
A["用户请求"] --> B{"判断任务复杂度"}
B -->|"简单查询"| C["none<br/>⚡ 极速 · 极省"]
B -->|"日常问答"| D["low<br/>💬 轻推理"]
B -->|"通用任务"| E["medium<br/>⚖️ 平衡"]
B -->|"复杂分析"| F["high<br/>🔬 深度思考"]
B -->|"科研/金融"| G["xhigh<br/>🧠 极限推理"]
style C fill:#4caf50,stroke:#fff,color:#fff
style D fill:#8bc34a,stroke:#fff,color:#fff
style E fill:#ff9800,stroke:#fff,color:#fff
style F fill:#f44336,stroke:#fff,color:#fff
style G fill:#9c27b0,stroke:#fff,color:#fff
Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

+6
View File
@@ -0,0 +1,6 @@
xychart-beta
title "GPT-5.4 vs GPT-5.2 关键指标提升"
x-axis ["GDPval 综合", "投行建模", "OSWorld 桌面", "BrowseComp 网页"]
y-axis "得分 (%)" 0 --> 100
bar [70.9, 68.4, 47.3, 65.7]
bar [83.0, 87.3, 75.0, 82.7]
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

+22
View File
@@ -0,0 +1,22 @@
graph TB
subgraph GPT54["🟢 GPT-5.4 领先"]
G1["GDPval 知识工作 83.0%"]
G2["OSWorld 桌面操控 75.0%"]
G3["Terminal-Bench 终端 75.1%"]
end
subgraph Claude["🔵 Claude Opus 4.6 领先"]
C1["SWE-Bench 代码修复 80.8%"]
C2["MMMU Pro 视觉理解 85.1%"]
C3["多文件重构 最佳体验"]
end
subgraph Gemini["🟡 Gemini 3.1 Pro 领先"]
GE1["GPQA Diamond 科学推理 94.3%"]
GE2["ARC-AGI-2 抽象推理 77.1%"]
GE3["BrowseComp 网页浏览 85.9%"]
end
style GPT54 fill:#0d2137,stroke:#10a37f,color:#e0f7fa
style Claude fill:#0d2137,stroke:#d97706,color:#e0f7fa
style Gemini fill:#0d2137,stroke:#4285f4,color:#e0f7fa
Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

+5
View File
@@ -0,0 +1,5 @@
xychart-beta
title "API 输出价格对比($/百万 tokens)"
x-axis ["Gemini 3.1 Pro", "GPT-5.4", "Claude Opus 4.6", "GPT-5.4 Pro"]
y-axis "价格 ($)" 0 --> 200
bar [12, 15, 25, 180]
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

+37
View File
@@ -0,0 +1,37 @@
{
"theme": "base",
"themeVariables": {
"primaryColor": "#0d2137",
"primaryTextColor": "#e0f7fa",
"primaryBorderColor": "#00e5ff",
"lineColor": "#00b8d4",
"secondaryColor": "#0a1628",
"secondaryTextColor": "#b2ebf2",
"secondaryBorderColor": "#00bcd4",
"tertiaryColor": "#112240",
"tertiaryTextColor": "#e0f7fa",
"tertiaryBorderColor": "#26c6da",
"noteBkgColor": "#0d2137",
"noteTextColor": "#e0f7fa",
"noteBorderColor": "#00e5ff",
"edgeLabelBackground": "#0a1628",
"clusterBkg": "#0a1a2e",
"clusterBorder": "#1a5276",
"titleColor": "#00e5ff",
"actorBkg": "#0d2137",
"actorBorder": "#00e5ff",
"actorTextColor": "#e0f7fa",
"actorLineColor": "#00b8d4",
"signalColor": "#00e5ff",
"signalTextColor": "#e0f7fa",
"labelBoxBkgColor": "#0d2137",
"labelBoxBorderColor": "#00e5ff",
"labelTextColor": "#e0f7fa",
"loopTextColor": "#80deea",
"activationBorderColor": "#00e5ff",
"activationBkgColor": "#112240",
"sequenceNumberColor": "#00e5ff",
"fontFamily": "SF Pro Display, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica Neue, Arial, sans-serif",
"fontSize": "15px"
}
}
+7
View File
@@ -0,0 +1,7 @@
.mindmap-node text, .mindmap-node tspan,
.node text, .node tspan,
.label text, .label tspan,
text, tspan {
fill: #ffffff !important;
color: #ffffff !important;
}
+54
View File
@@ -0,0 +1,54 @@
/* Mindmap sci-fi style - force visible node backgrounds */
text, tspan {
fill: #e0f7fa !important;
font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
}
/* Root node */
.mindmap-node:first-of-type circle {
fill: #0d2137 !important;
stroke: #00e5ff !important;
stroke-width: 3px !important;
filter: drop-shadow(0 0 12px rgba(0, 229, 255, 0.6)) !important;
}
/* All mindmap section/node shapes */
.mindmap-node rect,
.mindmap-node polygon,
.mindmap-node circle,
.mindmap-node ellipse,
.mindmap-node path {
stroke: #00b8d4 !important;
stroke-width: 2px !important;
filter: drop-shadow(0 0 6px rgba(0, 229, 255, 0.35)) !important;
}
/* Force different section colors instead of black */
.section-0 rect, .section-0 path { fill: #0d3b66 !important; stroke: #00e5ff !important; }
.section-1 rect, .section-1 path { fill: #1a3a4a !important; stroke: #26c6da !important; }
.section-2 rect, .section-2 path { fill: #1b3044 !important; stroke: #4dd0e1 !important; }
.section-3 rect, .section-3 path { fill: #14293d !important; stroke: #00bcd4 !important; }
.section-4 rect, .section-4 path { fill: #0f2b3d !important; stroke: #80deea !important; }
.section-5 rect, .section-5 path { fill: #0d3352 !important; stroke: #4fc3f7 !important; }
.section-6 rect, .section-6 path { fill: #102a40 !important; stroke: #29b6f6 !important; }
.section-7 rect, .section-7 path { fill: #0e2d44 !important; stroke: #81d4fa !important; }
.section-8 rect, .section-8 path { fill: #113148 !important; stroke: #b3e5fc !important; }
/* Generic fallback: any rect/path that ends up black */
rect[fill="#000"], rect[fill="#000000"], rect[fill="black"],
path[fill="#000"], path[fill="#000000"], path[fill="black"] {
fill: #0d3b66 !important;
}
/* Catch-all: any element with inline black-ish fill */
[style*="fill: rgb(0, 0, 0)"], [style*="fill:rgb(0,0,0)"],
[style*="fill:#000"], [style*="fill: #000"] {
fill: #0d3b66 !important;
}
/* Lines between nodes */
line, path.edge {
stroke: #00b8d4 !important;
stroke-width: 2px !important;
}
+115
View File
@@ -0,0 +1,115 @@
/* Sci-fi / Tech style for mermaid diagrams */
/* Node styling */
.node rect, .node polygon, .node circle, .node ellipse {
stroke-width: 2px !important;
filter: drop-shadow(0 0 6px rgba(0, 229, 255, 0.4)) !important;
rx: 8 !important;
ry: 8 !important;
}
/* All text white/cyan */
text, tspan {
fill: #e0f7fa !important;
font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
}
/* Cluster/subgraph borders */
.cluster rect {
stroke: #1a6a8a !important;
stroke-width: 2px !important;
stroke-dasharray: 6 3 !important;
fill: rgba(10, 26, 46, 0.7) !important;
rx: 12 !important;
ry: 12 !important;
filter: drop-shadow(0 0 8px rgba(0, 184, 212, 0.2)) !important;
}
/* Cluster labels */
.cluster text, .cluster tspan {
fill: #4dd0e1 !important;
font-weight: 600 !important;
font-size: 14px !important;
}
/* Edge/arrow lines */
.edge-pattern-solid, .flowchart-link {
stroke: #00b8d4 !important;
stroke-width: 2px !important;
}
/* Arrow markers */
marker path {
fill: #00e5ff !important;
}
/* Sequence diagram lines */
.messageLine0, .messageLine1 {
stroke: #00b8d4 !important;
stroke-width: 2px !important;
}
/* Sequence diagram actors */
.actor {
stroke: #00e5ff !important;
fill: #0d2137 !important;
stroke-width: 2px !important;
filter: drop-shadow(0 0 6px rgba(0, 229, 255, 0.3)) !important;
}
/* Labels on edges */
.edgeLabel rect {
fill: #0a1628 !important;
opacity: 0.9 !important;
}
.edgeLabel span, .edgeLabel text, .edgeLabel tspan {
fill: #80deea !important;
color: #80deea !important;
font-size: 12px !important;
}
/* Note boxes */
.note {
fill: #112240 !important;
stroke: #00e5ff !important;
}
/* Mindmap specific */
.mindmap-node rect, .mindmap-node circle, .mindmap-node polygon {
filter: drop-shadow(0 0 6px rgba(0, 229, 255, 0.4)) !important;
}
.mindmap-node text, .mindmap-node tspan {
fill: #e0f7fa !important;
}
/* Activation bars in sequence diagrams */
.activation0, .activation1, .activation2 {
fill: #112240 !important;
stroke: #00e5ff !important;
}
/* Loop/alt boxes */
.loopLine {
stroke: #1a6a8a !important;
stroke-dasharray: 4 3 !important;
}
.loopText tspan, .loopText text {
fill: #4dd0e1 !important;
}
/* Label styling */
.label text, .label tspan {
fill: #e0f7fa !important;
}
/* Highlighted nodes with custom styles from mermaid */
[style*="fill:#4A90D9"], [style*="fill:#E74C3C"], [style*="fill:#27AE60"],
[style*="fill:#F39C12"], [style*="fill:#8E44AD"], [style*="fill:#9B59B6"],
[style*="fill:#2ECC71"], [style*="fill:#3498DB"], [style*="fill:#E67E22"] {
filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.6)) !important;
stroke: #00e5ff !important;
stroke-width: 2px !important;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 720" font-family="'Inter', 'SF Pro', system-ui, sans-serif">
<title>GPT-5.4 模型选择指南:GPT-5.4、GPT-5.4 Pro、GPT-5.3-Codex、GPT-5.2 对比</title>
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#040816"/>
<stop offset="100%" stop-color="#111827"/>
</linearGradient>
</defs>
<rect width="1200" height="720" fill="url(#bg)"/>
<text x="600" y="54" fill="#F8FAFC" font-size="30" font-weight="800" text-anchor="middle">该选哪个 OpenAI 模型?</text>
<text x="600" y="82" fill="#94A3B8" font-size="15" text-anchor="middle">X 轴:工作流覆盖广度 Y 轴:成本与延迟</text>
<line x1="130" y1="610" x2="1070" y2="610" stroke="#334155" stroke-width="2"/>
<line x1="130" y1="610" x2="130" y2="130" stroke="#334155" stroke-width="2"/>
<text x="1085" y="620" fill="#94A3B8" font-size="13">覆盖面更广的混合工作流 →</text>
<text x="130" y="640" fill="#94A3B8" font-size="13">← 窄领域专精工作流</text>
<text x="76" y="150" fill="#94A3B8" font-size="13" transform="rotate(-90 76 150)">更贵 / 更慢 ↑</text>
<text x="102" y="610" fill="#94A3B8" font-size="13" transform="rotate(-90 102 610)">↓ 更便宜 / 更快</text>
<rect x="500" y="270" width="260" height="150" rx="22" fill="#082032" stroke="#22D3EE" stroke-width="2.2"/>
<text x="630" y="322" fill="#67E8F9" font-size="26" font-weight="800" text-anchor="middle">GPT-5.4</text>
<text x="630" y="354" fill="#E0F2FE" font-size="15" text-anchor="middle">最佳全能默认选择</text>
<text x="630" y="378" fill="#E0F2FE" font-size="15" text-anchor="middle">研究 + 编码 + 工具 + 浏览器</text>
<text x="630" y="403" fill="#A5F3FC" font-size="13" text-anchor="middle">$2.50 输入 / $15 输出</text>
<rect x="800" y="150" width="250" height="145" rx="22" fill="#1E1025" stroke="#F472B6" stroke-width="2.2"/>
<text x="925" y="202" fill="#F9A8D4" font-size="25" font-weight="800" text-anchor="middle">GPT-5.4 Pro</text>
<text x="925" y="234" fill="#FCE7F3" font-size="15" text-anchor="middle">最高性能天花板</text>
<text x="925" y="258" fill="#FCE7F3" font-size="15" text-anchor="middle">准确度优先于延迟时使用</text>
<text x="925" y="283" fill="#FBCFE8" font-size="13" text-anchor="middle">$30 输入 / $180 输出</text>
<rect x="190" y="310" width="250" height="145" rx="22" fill="#0C1A14" stroke="#10B981" stroke-width="2.2"/>
<text x="315" y="362" fill="#6EE7B7" font-size="25" font-weight="800" text-anchor="middle">GPT-5.3-Codex</text>
<text x="315" y="394" fill="#D1FAE5" font-size="15" text-anchor="middle">编码专精之选</text>
<text x="315" y="418" fill="#D1FAE5" font-size="15" text-anchor="middle">擅长终端密集型循环任务</text>
<text x="315" y="443" fill="#BBF7D0" font-size="13" text-anchor="middle">$1.75 输入 / $14 输出</text>
<rect x="240" y="490" width="220" height="110" rx="18" fill="#151A22" stroke="#94A3B8" stroke-width="1.8"/>
<text x="350" y="530" fill="#CBD5E1" font-size="23" font-weight="800" text-anchor="middle">GPT-5.2</text>
<text x="350" y="556" fill="#CBD5E1" font-size="14" text-anchor="middle">上代模型(过渡参考)</text>
<text x="350" y="580" fill="#94A3B8" font-size="12" text-anchor="middle">临时迁移基准线</text>
<path d="M440 380 C470 360, 490 340, 500 330" stroke="#10B981" stroke-width="2" stroke-dasharray="7 7" opacity="0.55"/>
<path d="M760 310 C790 280, 820 250, 800 223" stroke="#F472B6" stroke-width="2" stroke-dasharray="7 7" opacity="0.55"/>
<path d="M460 540 C500 520, 530 500, 560 455" stroke="#94A3B8" stroke-width="2" stroke-dasharray="7 7" opacity="0.45"/>
<text x="635" y="675" fill="#64748B" font-size="12" text-anchor="middle">选型建议:通用工作选 GPT-5.4,追求极限精度选 GPT-5.4 Pro,纯编码场景选 GPT-5.3-Codex。</text>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 KiB