返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

逆天! Claude Opus几小时攻破C 大神4年死磕Bug

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 21:04 |阅读模式 打印 上一主题 下一主题


reddit上一位网名为“ShelZuuz”的C++大神。这位老哥不是一般人——30多年的C++开发经验,各个大厂都待过(FAANG:脸书、亚马逊、苹果、网飞、谷歌)的Staff Engineer,团队里那种别人搞不定、困扰一周的难题,他站着就能给解决了的“定海神针”式人物

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">但就是这样一位大神,刚刚却被Anthropic的Claude Opus上了一课,甚至直言“今天我被Claude Opus 4彻底折服了”

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">事情是这样的:ShelZuuz面临一个困扰了他长达四年的“白鲸”Bug。这个Bug源于四年前一次大规模的系统重构,涉及约60,000行代码。重构解决了很多老问题,但也引入了这个新麻烦——在某个特定Shader以特定方式使用时,会出现一个棘手的边缘案例。原本能正常工作的功能,重构后就歇菜了

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">ShelZuuz断断续续投入了大约200个小时,尝试了各种方法,都未能揪出这个“幽灵”。这Bug虽然烦人,但又没到十万火急、必须停下一切来解决的程度,就这么一直拖着,成了他的心病

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 8px;color: rgb(63, 63, 63);">Claude Opus登场,数小时破案

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">转机出现在他决定试试最新的Claude Opus(在Claude Code环境中运行)。他把新旧两版代码都喂给了Claude,让它去分析问题到底出在哪儿

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">结果,仅用了几个小时,大约30轮提示和一次重启,Claude Opus就找到了症结所在!

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">最令人拍案叫绝的是,Claude的诊断直指核心:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">旧代码能正常工作,仅仅是因为旧架构下的一个“巧合性设计”;而新的架构在重构时,并没有考虑到这个“巧合”所形成的隐性依赖。这意味着,这不仅仅是一个简单的逻辑引入错误,而是新架构设计未能兼容旧有的边缘情况。AI竟然能理解这种深层次的、因历史原因造成的架构性问题,简直了!

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 8px;color: rgb(63, 63, 63);">“破案”细节:AI的侦探式工作流

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">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坚持认为有用、但实际与核心问题无关的冗余修改

“众神”折戟,Claude Opus一枝独秀

ShelZuuz提到,他之前也尝试过用GPT-4.1、Gemini 2.5 pro 以及“Claude 3.7”来解决这个Bug,但这些模型都没能取得任何进展。唯独Claude Opus(他使用的是Claude Max订阅,每月100美元固定费用,通常在Claude Code中提供Opus模型)最终“破案”

AI是初级还是高级?大神的辩证视角

有趣的是,尽管Claude Opus这次表现逆天,ShelZuuz依然坚持自己之前的观点:在编写新代码方面,AI(包括Claude)目前仍相当于一个“初级开发者”(Junior dev)

但他强调,这次的案例并非让AI从零开始写代码,而是分析和调试现有复杂系统。AI在这种场景下展现出的能力,尤其是对旧代码和新代码进行对比分析、理解架构变迁带来的深层影响,确实令人惊叹。他认为,AI需要的“手把手指导”(handholding)程度和初级开发者相似,但AI的迭代速度快得多(几天对比几个月)。如果让他选,一个项目6个月时间,是选30个初级开发者还是一个无限制的AI Agent?他觉得都可以,但如果是30个高级开发者对AI,他肯定选前者。这纯粹是从技术负责人投入的时间和精力角度考虑


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ