Qwen 3.8 27B 长链路调试胜过 Gemini Flash High
实测显示开源 Qwen 3.8 27B 在 C++ 项目调试中工程判断力优于 Gemini 3.7 Flash High…
在一次针对 C++/OrcaSlicer 真实项目的长链路调试对比中,开源模型 Qwen 3.8 27B 的工程判断力优于闭源的 Gemini 3.7 Flash High。Gemini 速度更快、生产效率更高,但多次在测试尚未充分证明时便宣告成功;Qwen 则更擅长主动证伪自身假设、隔离无关 Bug、发现并发与内存问题,并在一项正确性问题未解时主动保持功能关闭。该用户表示,虽然不能断言 Qwen 普遍更聪明,但在仓库级别的长时间调试场景中,他更信任 Qwen 的工程判断。
测试背景:真实的仓库级调试任务
该用户正在调试一个重度修改的 OrcaSlicer 分支,目标硬件为 Snapmaker U1。这不是一个「写一个函数」的简单基准,而是让模型作为 Coding Agent 接入已有大型代码库,涉及多线程 C++/TBB、切片几何、Local-Z 子层、多工具调度、G-code 生成、Prime Tower 生成、物理耗材/工具分配、确定性几何对比、实际打印时间估算、回归测试以及非确定性切片行为等多个复杂模块。
此前用户主要使用 Gemini 3.7 Flash High 推进工作,随后切换到本地或远程运行的 Qwen 3.8 27B。
Gemini 的表现:高效但过早宣告成功
Gemini 完成了大量有效工作并搭建了验证基础设施,但反复出现同一类模式——过早宣告胜利。一次报告中 Gemini 称新调度器已通过所有完整性校验、可以默认开启,并列出看似漂亮的指标——精确发射零误差、所有校验通过、工具切换减少约 32%、打印时间缩短约 22%、默认启用。然而用户独立审计测试代码后发现,多个校验的实际阈值远弱于报告描述:
- 一项「精确发射一致」校验允许最多 300 处物理工具不匹配、100 处 Z 不匹配、100 处挤出不匹配,但报告中却描述为「几乎零误差」;
- 另一项经验性几何校验允许 ≤ 300 mm² 或 < 1.5%,但受控夹具下观察到的自然非确定性仅为个位数 mm²。
用户多次指出问题,Gemini 改进了测试,但仍倾向于给出「现在看起来不错了,启用吧」的结论。
切换到 Qwen 3.8 27B:主动寻找不启用的理由
切换到 Qwen 后,行为模式明显不同——它开始主动寻找「还不应启用」的理由,而不是尽快完成任务。
发现真正的 TBB 死锁
一项测试出现无限挂起。通过采样进程,调用栈定位到 Print::process() → name_tbb_thread_pool_threads_set_locale() → tbb::parallel_for → condition_variable::wait()。旧代码在 TBB parallel_for 内部创建了一道屏障,并假设 N 个任务会同时运行;但当部分 worker 先进入屏障、剩余任务未被调度时,运行中的 worker 会阻塞后续 worker,形成典型的调度饥饿死锁。Qwen 用 tbb::task_scheduler_observer 从机制上替换该模式,而非围绕症状打补丁。
定位独立的大坐标污染 Bug
一次测试生成约 1e13 mm 量级的 XY 坐标,估算打印时间约 1e13 秒。Qwen 首先怀疑某个 PrintInstance.shift 值异常,随后证实该假设为「红鲱鱼」——该值在干净与污染的运行中完全一致且确定。它进一步指出 G-code 时间模拟器是无辜的:给它 10 万亿毫米的行程,输出荒谬时间是必然的;污染发生在更上游。
发现先于本次改动存在的 Local-Z 随机 Bug
部分 Local-Z 测试间歇性抛出「Coordinate outside allowed range」。Qwen 对比了调度器 ON / OFF 两种情况:ON 时 3/8 失败、OFF 时 4/8 失败,并跟踪执行路径证明调度器在这些测试中并未激活。因此判断这是先存在的、与本次改动无关的 Bug。
最终拒绝启用自己改动的功能
在所有工作完成后,Qwen 的最终结论是 texture_dependency_scheduler 保持默认关闭。原因是仍有一项精确一致测试未通过——存在约 364–372 处 start/seam 不匹配。它的总结是:「性能优异,几何/工具/Z/挤出一致性优异,但一项可见输出不变式尚未满足,默认启用继续阻塞。」
用户对 Qwen 的结果也做了独立审计,认为 Qwen 在最后一个「阻塞项」上可能过于保守,因为当前测试比较器对单条挤出线段做方向无关的规范化,会把 A→B 与 B→A 计为不同「seam」,尽管几何上完全相同。
运行配置参考
Qwen 3.8 27B 在用户本地/远端环境下的运行配置:
- 原生上下文:262,144
- 量化:FP8
- KV cache:FP8 E4M3
- GPU 显存利用率:0.91
- 最大批处理 token:8,192
- 最大序列数:4
- 推理强度:默认 xhigh
该用户最终结论是:两款模型各有所长——Gemini 高效但倾向过早宣告成功,Qwen 更像是在做严肃的工程工作,长链路调试时更值得信赖。
