微信扫码
添加专属顾问
我要投稿
C++大神四年未解之痛,AI仅用数小时破解,展示了AI在复杂编程问题中的巨大潜力。 核心内容: 1. C++大神ShelZuuz四年未解的Bug背景 2. Claude Opus如何在短时间内定位并解决问题 3. AI在代码分析与问题解决中的独特方法和效率
但就是这样一位大神,刚刚却被Anthropic的Claude Opus上了一课,甚至直言“今天我被Claude Opus 4彻底折服了”
事情是这样的:ShelZuuz面临一个困扰了他长达四年的“白鲸”Bug。这个Bug源于四年前一次大规模的系统重构,涉及约60,000行代码。重构解决了很多老问题,但也引入了这个新麻烦——在某个特定Shader以特定方式使用时,会出现一个棘手的边缘案例。原本能正常工作的功能,重构后就歇菜了
ShelZuuz断断续续投入了大约200个小时,尝试了各种方法,都未能揪出这个“幽灵”。这Bug虽然烦人,但又没到十万火急、必须停下一切来解决的程度,就这么一直拖着,成了他的心病
转机出现在他决定试试最新的Claude Opus(在Claude Code环境中运行)。他把新旧两版代码都喂给了Claude,让它去分析问题到底出在哪儿
结果,仅用了几个小时,大约30轮提示和一次重启,Claude Opus就找到了症结所在!
最令人拍案叫绝的是,Claude的诊断直指核心:
旧代码能正常工作,仅仅是因为旧架构下的一个“巧合性设计”;而新的架构在重构时,并没有考虑到这个“巧合”所形成的隐性依赖。这意味着,这不仅仅是一个简单的逻辑引入错误,而是新架构设计未能兼容旧有的边缘情况。AI竟然能理解这种深层次的、因历史原因造成的架构性问题,简直了!
ShelZuuz透露,与Claude的交互过程也很有意思:
代码上下文供给:他把旧代码文件夹复制到新代码旁边,然后让Claude分析共同的父级目录。Claude能够自动通过grep
等方式找到需要查看的文件,甚至不需要他指明函数名。大神建议,最好在VSCode中关闭所有文件再启动Claude Code,免得AI过于关注已打开文件而忽略了全局搜索
多轮提示与日志分析:有些提示非常简短,但也有包含1000多行日志的。Claude会要求添加printf
语句来理解代码流,然后分析输出的日志。据ShelZuuz称,Claude大约打开了新旧代码库中各12个文件,涉及代码量约1万行
人类智慧的引导:当Claude想要尝试一些他已知是死胡同的路径时,ShelZuuz会及时纠偏,告诉它“这条路不通,因为...”
重启的插曲:中途有一次重启,是因为Claude“跑偏了”,试图去修复一个相关Shader中的矩阵乘法问题,而ShelZuuz认为这并非主要矛盾(问题是Shader未被正确执行,而非其内部计算错误)。重启后,他把之前的有效结论喂回去,Claude就没再纠结GLSL细节
AI的“自信”与人类的校验:和其他AI一样,Claude也时不时会自信满满地说“我找到了!这就是问题的根源!”但ShelZuuz还是会亲自测试验证。并且,在Claude给出最终解决方案后,他还得手动删除一些Claude坚持认为有用、但实际与核心问题无关的冗余修改
ShelZuuz提到,他之前也尝试过用GPT-4.1、Gemini 2.5 pro 以及“Claude 3.7”来解决这个Bug,但这些模型都没能取得任何进展。唯独Claude Opus(他使用的是Claude Max订阅,每月100美元固定费用,通常在Claude Code中提供Opus模型)最终“破案”
有趣的是,尽管Claude Opus这次表现逆天,ShelZuuz依然坚持自己之前的观点:在编写新代码方面,AI(包括Claude)目前仍相当于一个“初级开发者”(Junior dev)
但他强调,这次的案例并非让AI从零开始写代码,而是分析和调试现有复杂系统。AI在这种场景下展现出的能力,尤其是对旧代码和新代码进行对比分析、理解架构变迁带来的深层影响,确实令人惊叹。他认为,AI需要的“手把手指导”(handholding)程度和初级开发者相似,但AI的迭代速度快得多(几天对比几个月)。如果让他选,一个项目6个月时间,是选30个初级开发者还是一个无限制的AI Agent?他觉得都可以,但如果是30个高级开发者对AI,他肯定选前者。这纯粹是从技术负责人投入的时间和精力角度考虑
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-10-27
2024-09-04
2024-05-05
2024-07-18
2024-06-20
2024-06-13
2024-07-09
2024-07-09
2024-05-19
2024-07-07
2025-05-23
2025-05-16
2025-05-15
2025-05-14
2025-05-14
2025-05-13
2025-05-11
2025-05-08