你试过让AI帮你修bug,结果它给你的方案反而需要你自己去debug吗?
我一开始对Claude Code的态度是怀疑的。倒不是“我讨厌AI”那种情绪,而是“被太多炒作工具溜过,知道它们大多数只是把挫败感换了个位置”。但今年1月,我做了个决定:30天,一个真实项目,不挑软柿子捏。用的是一个中等规模的Rails 8应用,SaaS产品,技术栈很标准:PostgreSQL、Sidekiq后台任务、一些API集成、Hotwire前端。代码库大约4万行Ruby,有些一年多没碰过的遗留角落。这篇文章就是30天之后的真实记录,好用的地方、撞墙的地方,都摊开来讲。
![]()
先给结论:它在三个场景下表现亮眼,在另外两个场景下完全指望不上。如果你也在考虑把这类工具嵌入日常开发流程,下面的清单应该能帮你省下不少试错时间。
一、机械重复的活,它干得比人快,而且不出情绪
第一周我基本是在喂一些体力活:给已有方法补写RSpec测试、生成数据库迁移文件、重构重复度高的控制器代码。Claude Code处理这些任务顺畅到让我有点意外。终端里的自动补全式建议和GitHub Copilot不是一个路数——它似乎更愿意跨文件抓上下文。我让它为一个复杂的结算流程生成一个服务对象,它甚至自己找到了代码库某个concern里定义的一个货币格式化辅助方法,全程不需要我提醒。那种感觉就像来了个实习生,已经提前翻了一遍项目文档。
二、补文档和写测试,这货是真能救命
整个30天里最大的效率提升来自这里。我们有个财务计算模块,里面塞满了那种明显是“一行流爱好者”留下的方法,没注释、没测试。我把整个模块扔给它,要求它用大白话解释每个方法是干什么的,然后给每个方法生成RSpec用例。大概15分钟,它交活了。原来那个只有一行`def calculate_proration(amount, days_used, days_in_period)`的方法,它写出了边界值、四舍五入、全周期等多个测试。如果人工来做,光是理解那段代码的逻辑就要花不少时间,再写测试起码两小时起步。这种场景里,Claude Code相当于把最枯燥但又不能出错的工作给自动化了。
三、上下文理解确实多走了一步
说它比Copilot“多看了两眼”并不过分。同样是在编辑器里给建议,它会关联到项目里其他文件已经存在的工具方法。这意味着你不需要把所有用到的helper都显式地引给它看。但这还不是亮点本身,亮点是它这种“主动查找”的行为减少了打断——你不用停下来去切文件、找定义,它自己就把那一块上下文带过来了。对专注力的保护,可能是这个工具被低估的价值。
然而,从第五天开始,它的短板就赤裸裸地暴露了。
四、一碰到真实运行环境,它就彻底抓瞎
那天我让它帮忙追踪一个后台任务里出现的性能问题。我把相关代码给它看了,它给出的分析在代码层面是站得住脚的,还提了几条优化建议。但问题是,它看不到实际的查询计划,连不上数据库的行为,更不可能把任务执行慢和具体的数据库状态关联起来。这就是它最让我泄气的地方:它只能在代码的平面上滑行,一但问题需要运行时信息才能定位,它给的那点分析就只能算“不错的猜测”。诊断这件事,最后还是得靠人来串联起线上那些日志和指标。
五、别把它当资深开发,当个极度听话的初级开发反而好用
撞了墙之后我调整了用法。我不再期待它能独立“诊断”或“决策”,而是把指令切成足够细的块——像带新人一样。我说“你读这个方法,用中文解释它在做什么”,它解释得很好;我说“根据这个解释,给这个方法写三个测试用例,覆盖正常情况、边界情况和异常情况”,它给出明确可用的测试。这种交互模式里,它给人的感觉是理解力很强,但缺乏主动性。不过话说回来,一个不抱怨、不敷衍、随时领任务就开始干的“初级开发”,已经能吃掉不少日常工单了。
这30天下来,我最大的感受是:Claude Code把AI辅助编程的“能”与“不能”的边界画得很清晰。它能大幅压缩那些低决策成本的重复劳动,比如补测试、写迁移、解释老旧代码。但一旦工作内容需要结合线上状态、需要经验判断、需要跨系统推理,它就立刻退回成一个提词器,而不是一个合作者。对我而言,这反而让用它这件事变得没什么心理负担——你知道什么时候可以放手交给它,也知道什么时候必须自己握紧方向盘。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.