竞赛:AI 无限职场 SOLO 挑战赛 2026
赛道:Code With SOLO + More Than Coding 双赛道
开发模式:全自动化(Fully Automated)
作者:Lawrence Ko
前置帖子:v2 — 项目框架与方法论 | v3 — AI 审计自己的代码时发现了什么
一、为什么会有这篇帖子?
v3 帖子 发布后,我做了一件 v3 中提到但未完成的事——要求 SOLO 对自己的代码进行更深入的审计。
v3 中的审计是 SOLO 自主完成的(第一轮),它声称交叉需求覆盖率达到 ~99%。但我注意到这个数字与代码实际情况不符——于是我明确要求 SOLO 重新审计,这次特别指示它关注 API 签名匹配、运行时行为、manifest 一致性,而非仅仅检查"代码中是否存在某个模式"。
结果:覆盖率从 99% 修正为 42.3%。
这篇帖子记录的是两轮审计的对比——这比任何单轮审计都更有价值,因为它揭示了一个根本性问题:
AI 审计自己的代码时,会高估合规率 3 倍。但当你明确告诉它该检查什么时,它能找到真正的问题。
二、两轮审计的关键区别
| 维度 | 第一轮(v3) | 第二轮(本文) |
|---|---|---|
| 谁发起 | SOLO 自主 | 人类明确要求 |
| 审计指令 | “全面审查代码” | “验证 API 签名、运行时行为、manifest 一致性” |
| 审计方法 | 文本模式匹配(“这个模式存在吗?”) | 语义验证(“这个调用实际能工作吗?”) |
| 交叉需求覆盖率 | ~99% | 42.3% |
| 整体合规率 | ~40% | ~24% |
核心差异:第一轮检查的是"代码中是否存在某个调用",第二轮检查的是"这个调用实际能否工作"。同一个代码库,两种审计方法,结果差了 3 倍。
三、第二轮审计发现
发现1:4个方法实例化即崩溃
4个方法文件(B1, B25, B26, B27)在构造函数中传递了 config_path=config_path 给 super().__init__(),但从未在自己的方法签名中接收 config_path 参数。实例化时直接抛出 NameError。
| 方法 | 问题 | 影响 |
|---|---|---|
| B1 PCA Shootout | __init__(self, **contract_kwargs) 引用了未定义的 config_path |
实例化崩溃 |
| B25 可解释性评估 | 同上 | 实例化崩溃 |
| B26 公平性审计 | 同上(第一轮审计声称已"完全重写"——修复不完整) | 实例化崩溃 |
| B27 超参数调优 | 同上 | 实例化崩溃 |
为什么第一轮没发现? 第一轮检查了 super().__init__() 调用中是否包含字符串 config_path——包含,所以标记为
。但它没有检查 config_path 是否在方法签名中有定义。
发现2:2个方法无法加载
| 方法 | 问题 | 影响 |
|---|---|---|
| B10 | 文件名 dl_shootout.py,实际实现的是 高斯过程(GP) Shootout |
语义混淆 |
| B21 | manifest 注册的模块名与磁盘文件名不匹配 | 导入必定失败 |
发现3:3个交叉需求钩子静默崩溃
| 钩子 | 问题 | 后果 |
|---|---|---|
| XAI | generate_explanations(result) 传了 ApproachResult,但函数期望 (model, X, y) |
每次 XAI 调用都 TypeError → 被 except: pass 吞掉 |
| AutoML | maybe_tune_model(model, result) 同样的参数类型错误 |
同上 |
| 保形预测 | _conformal_wrap 方法从未被定义,hook 永远不执行 |
系统报告"保形预测完成"但实际什么都没做 |
为什么第一轮没发现? 第一轮看到管道中存在这些调用,就标记为"已接入 100%"。它没有验证调用的参数类型是否匹配目标函数的签名。
发现4:~40 个 except: pass 静默失败点
所有交叉需求钩子都被 try: ... except Exception: pass 包裹。这意味着上面所有崩溃都被静默吞掉——系统永远报告"成功"。
比喻:一辆汽车,所有警告灯都被断开了。仪表盘永远显示"一切正常"——即使引擎已经着火。
发现5:全文件重写是有效的
D59(零样本适应)和 D62(决策可解释性)的修复涉及全文件重写——第二轮审计确认这两个修复完全正确。
教训:AI 擅长从零生成全新实现,但不擅长对现有代码进行外科手术式修补。
四、数据全景(第二轮审计)
| 维度 | 提案要求 | 第二轮审计实际 | 合规率 |
|---|---|---|---|
| 68个方法文件存在 | 68 | 68 | 100% |
| 可实例化且可执行 | 68 | 55(80.9%) | 80.9% |
| 完全正确(无致命Bug) | 68 | 19 | 27.9% |
| 交叉需求功能覆盖率 | 100% | 42.3% | 42.3% |
| 基础设施:接入且功能正常 | 8个模块 | 3个(37.5%) | 37.5% |
| 多轮统计协议 | 100% | 0% | 0% |
| 缺失算法变体 | 0 | ~63 / ~150 | — |
| 整体提案合规率 | 100% | ~24% | 24% |
五、修复计划
Phase 1:让它能跑(P0)
修复 4 个构造函数 NameError、B21 manifest、6 个绕过契约的构造函数、3 个 API 签名不匹配、实现 _conformal_wrap、替换 except: pass、添加冒烟测试。
Phase 2:让它完整(P1)
接入所有交叉需求——从"管道存在"变为"实际产出正确结果"。
Phase 3:让它全面(P2)
补充 8 个最高优先级缺失算法变体。
Phase 4:生产就绪(P3)
CLI、检查点/恢复、报告生成、死代码清理。
六、SOLO 的审计能力 — 修正评估
| 能力 | 评估 | 证据 |
|---|---|---|
| 生成代码 | 68个方法 + 50+ 模块 | |
| 全文件重写 | D59、D62 修复完全正确 | |
| 外科手术式修补 | B1/B25-B27 "修复"后反而崩溃 | |
| 自主审计(无特定指令) | 发现宏观问题,漏检微观问题,高估 3 倍 | |
| 指令驱动审计 | 明确指示后能找到 API 不匹配、manifest 错误等 |
结论:SOLO 的审计质量高度依赖审计指令的具体程度。笼统的"全面审查"只触发模式匹配;明确的"验证 API 签名和运行时行为"才能触发语义验证。
七、这证明了什么?
概念理解准确 — SOLO 知道需要什么
执行存在系统性偏差 — "接线"问题(API 签名、方法定义)
自主审计有根本性盲区 — 模式匹配 ≠ 语义验证
指令驱动审计有效 — 告诉它该检查什么,它就能找到什么
静默失败是最大风险 — except: pass让所有错误不可见
最重要的教训:AI 编码工具需要的不是"更强的生成能力",而是内置的运行时验证——不是检查"代码中是否存在某个模式",而是实际运行代码并验证输出是否正确。
讨论邀请:
- 同一个代码库,两种审计指令,结果差 3 倍——你认为这是"AI 的局限"还是"提示词工程"的问题?
except: pass静默失败在你的项目中是否也是常见问题?- “AI 擅长全文件生成、不擅长外科手术式修补”——你的经验是否一致?
- 你认为 AI 编码工具应该内置什么级别的运行时验证?
欢迎在评论区分享你的看法!
作者:Lawrence Ko
项目:TOF-SIMS AI 分析框架
工具:TRAE SOLO(全流程自动化)
竞赛:AI 无限职场 SOLO 挑战赛 2026
系列帖子:v2 — 项目框架与方法论 | v3 — AI 审计自己的代码时发现了什么 | v4 — AI 自审声称 99% 合规,重新审计后发现只有 42%
本文由 TRAE SOLO 全自动生成,作为 AI 无限职场 SOLO 挑战赛 2026 的参赛提交。欢迎点赞、评论和交流!