GPT-5.6-sol vs GPT-5.5 新题实测:非弹性碰撞物理题和稳定路由算法

这篇继续换新题,不复用上一轮的滑轮绳松弛题,也不复用依赖背包题。
本轮两道题分别是:
- 一道多阶段物理题:粗糙斜面、完全非弹性碰撞、水平粗糙面、弹簧压缩。
- 一道图算法编程题:在 cost、latency、reliability、字典序多重 tie-break 下选稳定路径。
测试模型:
text
gpt-5.6-sol
gpt-5.5
先给结论:两个模型这轮都通过了。物理题两者都命中参考数值;路由算法题两者输出的 Python 都通过了同一组本地测试。和上一篇不同,这轮 gpt-5.5 在两个任务上耗时都更短。
一、测试环境
接口:
text
https://cn.crazyrouter.com/v1/chat/completions
结果文件:
text
.tmp/model_compare_gpt56sol_gpt55_round7_round8_results.json
代码产物目录:
text
.tmp/model_compare_gpt56sol_gpt55_round7_round8_artifacts
记录字段:
| 字段 | 用途 |
|---|---|
http_status |
API 是否成功返回 |
finish_reason |
是否自然停止 |
completion_tokens |
输出 token |
reasoning_tokens |
推理 token |
visible_content_chars |
可见输出长度 |
| 本地测试 | 代码是否真的符合题意 |
二、物理题:粗糙斜面 + 非弹性碰撞 + 弹簧压缩
题目:
text
m1 = 1.2 kg 的小块从静止开始沿长度 L = 4.0 m、倾角 θ = 35° 的粗糙斜面下滑。
斜面动摩擦因数 μ1 = 0.12。
m1 到达底端后,与水平面上静止的 m2 = 1.8 kg 发生完全非弹性碰撞,两者粘在一起。
碰撞后组合体在水平粗糙面上继续运动并压缩弹簧。
弹簧劲度系数 k = 180 N/m,水平面动摩擦因数 μ2 = 0.08。
g = 9.8 m/s^2。
求:
1. 碰撞前速度 v1
2. 碰撞后共同速度 v2
3. 弹簧最大压缩量 x
4. 哪一段用功-能关系,哪一段用动量守恒
参考答案:
text
v1 ≈ 6.10 m/s
v2 ≈ 2.44 m/s
x ≈ 0.302 m
这题的关键分段:
text
斜面下滑:用功-能关系,摩擦做负功
碰撞瞬间:完全非弹性碰撞,只能用动量守恒,机械能不守恒
碰撞后压缩弹簧:用能量关系,同时计入水平摩擦做功
如果把碰撞过程也直接套机械能守恒,就会明显高估碰撞后的可用机械能。
三、物理题实测结果
| 模型 | max_tokens | finish_reason | completion_tokens | reasoning_tokens | 可见输出 | 耗时 | 数值命中 |
|---|---|---|---|---|---|---|---|
gpt-5.6-sol |
3600 | stop | 1191 | 305 | 1358 | 36.0s | 是 |
gpt-5.5 |
3600 | stop | 1209 | 424 | 1229 | 24.3s | 是 |
两个模型都写出了斜面阶段的核心关系:
text
1/2 m1 v1^2 = m1 g L sinθ - μ1 m1 g cosθ · L
碰撞阶段:
text
m1 v1 = (m1 + m2) v2
弹簧压缩阶段:
text
1/2 (m1+m2) v2^2 = 1/2 kx^2 + μ2 (m1+m2) g x
这题两者都是正确答案;gpt-5.5 更快。
四、编程题:稳定路由算法
第二题要求实现:
python
cheapest_stable_route(
nodes,
edges,
start,
target,
banned_nodes=None,
max_hops=None,
min_reliability=0.0
)
输入是一张有向图,每条边有:
text
from
to
cost
latency_ms
reliability
选择规则:
text
路径不能经过 banned_nodes
边数不能超过 max_hops
路径 reliability 乘积必须 >= min_reliability
先选 total cost 最低
cost 相同选 total latency_ms 最低
cost 和 latency 相同选 reliability 更高
前三者都相同选 path 字典序最小
无可行路径返回 None
非法 start/target 或非法边引用抛 ValueError
这类题比普通最短路更容易出错,因为它不只是 Dijkstra 的单一权重最短路,还要同时处理可靠性约束和多层 tie-break。
五、路由算法实测结果
| 模型 | max_tokens | finish_reason | completion_tokens | reasoning_tokens | 可见输出 | 耗时 | 本地测试 |
|---|---|---|---|---|---|---|---|
gpt-5.6-sol |
7800 | stop | 2815 | 356 | 8880 | 65.2s | 通过 |
gpt-5.5 |
7800 | stop | 2843 | 465 | 7155 | 53.5s | 通过 |
代码产物:
text
.tmp/model_compare_gpt56sol_gpt55_round7_round8_artifacts/gpt_5_6_sol_code_008_stable_route_max_7800.py
.tmp/model_compare_gpt56sol_gpt55_round7_round8_artifacts/gpt_5_5_code_008_stable_route_max_7800.py
本地测试覆盖:
text
cost 优先
latency tie-break
reliability tie-break
字典序 tie-break
banned_nodes
max_hops
非法边引用
输入对象不被修改
其中一个关键测试是:
python
res = cheapest_stable_route(nodes, edges, "A", "D", max_hops=2)
在 cost 和 latency 相同的情况下,应该选择 reliability 更高的路径:
text
A -> F -> D
而不是只因为路径看起来更"普通"就选:
text
A -> B -> D
这类细节如果不写测试,人工看代码很容易漏掉。
六、横向对比
| 维度 | gpt-5.6-sol |
gpt-5.5 |
|---|---|---|
| 物理题正确性 | 正确 | 正确 |
| 物理题耗时 | 36.0s | 24.3s |
| 物理题 reasoning tokens | 305 | 424 |
| 路由算法代码 | 本地测试通过 | 本地测试通过 |
| 路由算法耗时 | 65.2s | 53.5s |
| 代码可见长度 | 8880 chars | 7155 chars |
| 输出状态 | finish_reason=stop |
finish_reason=stop |
这一轮的结论和上一轮不一样:gpt-5.5 在两个任务上都更快,但 gpt-5.6-sol 的物理题 reasoning tokens 更少。正确性上,两者都是通过。
七、为什么这两道题适合做模型对比
物理题不是单一公式题,而是三段物理模型切换:
text
功-能关系
动量守恒
含摩擦的弹簧压缩能量方程
编程题也不是普通最短路,而是工程路由里常见的多目标选择:
text
成本
延迟
可靠性
禁用节点
最大跳数
字典序稳定性
所以它们比简单"写个排序函数"更能看出模型是否会漏约束。
八、复现实测建议
建议每次模型对比至少保存这些字段:
text
requested_model
returned_model
finish_reason
completion_tokens
reasoning_tokens
visible_content_chars
elapsed_ms
local test result
尤其是代码题,不要只把回答复制出来看。最好流程是:
text
保存为 .py
用同一组测试导入执行
记录 stdout/stderr
把失败原因写进文章
九、CSDN 图床检查
本文图片使用可外链 URL:
text
https://media.crazyrouter.com/task-artifacts/playground/user-1/images/2026/07/10/gpt56sol_gpt55_round8_csdn_card-2291572a82ff.png
本文没有使用 GitHub raw 图片链接。
十、结论
这一轮可以这样总结:
text
在非弹性碰撞物理题和稳定路由算法题上,gpt-5.6-sol 与 gpt-5.5 都通过。
gpt-5.5 本轮耗时更短。
两者都能处理多阶段物理和多层 tie-break 代码,但仍必须用本地测试确认代码可用。
如果你的业务场景是模型路由、成本控制、日志分析、可用性监控,这类测试比单纯问"谁更聪明"更有价值。因为真正上线时,错的通常不是大方向,而是边界条件、排序规则和异常分支。