首次尝试95%都是垃圾:一位工程师使用Claude Code的6周之旅
最近 AI 很火,各个行业都希望把 AI 整合进来,提升生产效率,但是毕竟是新的东西,没有好的模板可以套,自己一点点摸索又很费时间和资源。作为开发者,我最近也在探索把 AI 整合到生产实践中,试图找到一个可行的提效套路,看了作者这篇文章觉得挺有借鉴意义的,随手翻译了,分享给大家
直到18个月前,我写的每一行代码都亲力亲为。如今,AI负责我80%的初始实现,而我则专注于架构设计、Code Review以及同时协调多个开发线程。
这并非又一篇“AI将改变一切”的陈词滥调。本文旨在探讨将AI整合到生产开发工作流中混乱的现实:什么方法真正有效,什么会浪费你的时间,以及为何将AI视为“一个不会学习的初级开发者”成了我取得成功的心智模型。
一、我的四次编码转变
我的代码问题解决方法在职业生涯中经历了四次转变:
- 头5年,我埋头阅读书籍和SDK文档。
- 接着12年,依赖谷歌搜索别人的答案。
- 之后18个月,使用Cursor进行AI辅助编码。
- 而最近6周,使用Claude Code进行完全的AI委托编码。
每次转变,都比上一次解决编码问题更快。使用Claude Code,我只用了几个小时就变得高效起来。
二、AI辅助开发的实际体验(对我而言)
以下是我当前工作流的真实面貌,去除了所有炒作成分。我主要把AI当成“共同思考的伙伴”,与它协作产出最终投入生产的代码。
1. 通常需要三次尝试
忘掉一次性生成完美代码的承诺。工程师的职责是为问题寻找最佳解决方案,而不仅仅是编写一堆代码。
首次尝试(垃圾率95%)
- Claude构建关于系统的上下文
- 开发者识别出真正的挑战所在
- 代码通常完全错误
然后,将此次尝试的收获喂回给Claude。
第二次尝试(垃圾率50%)
- Claude理解了细微差别
- 开发者已定义了具体方法
- 仍有一半情况无法使用
第三次尝试(最终可用)
- Claude实现了一个我们可以迭代和优化的版本
- 开发者进行 code review 和错误纠正
- 初稿实现
虽然我们还没有得到可以直接生产可应用的代码,这并非失败,而是过程!我们要知道,期望首次尝试就完美,就如同期望一位初级开发者,在没有上下文的情况下,就能搞定一个复杂功能一样。
2. 上下文问题(及其解决方案)
最大的挑战?AI无法在会话之间保留学习成果(除非您花时间手动赋予它“记忆”)。因此,通常每次对话都需要从头开始。
我的解决方案:
Claude.md 文件
创建一个项目专用的上下文文件,包含:
- 项目架构
- 代码风格偏好
- 陷阱与变通方案
- 相关文档链接
工具集成
得益于MCP(Model Context Protocol),我现在可以将AI连接到:
- Linear(用于获取任务单上下文)
- Notion 或 Canvas(用于获取文档)
- 非生产数据库(仅只读权限!用于获取数据和数据结构)
- 实际代码库
- Github(从旧的PR中获取有用的背景信息)
没有这些上下文,就得反复解释相同的约束条件。有了它,可以直接从第二次尝试开始,而非第一次。
3. 管理多个AI“开发者”
我现在并行运行多个Claude实例,这就像管理一个每天早晨都会重置记忆的小型开发团队。
关键策略:
- 切勿并行处理相同的问题(容易迷失方向,混淆正在解决的不同问题)
- 在Linear(或您使用的任何项目管理工具)中跟踪一切
- 明确标记经过人工编辑的代码(AI会混淆它写的代码和您修改的代码)
4. 三步Review流程
编写代码只是工作的一部分,review代码亦然。采用AI也改进了我的代码审查流程。
Claude先行审查
- 捕捉缺失的测试覆盖
- 发现明显的Bug
- 提出改进建议
这为我和同事节省了时间和额外的审查次数。
我的个人 Code Review
在Sanity,我们的原则是工程师对其交付的代码负责,即使是AI生成的代码。我希望确保我交付的是:
- 可维护的代码
- 稳健的架构设计
- 正确的业务逻辑
- 可集成性良好
团队日常 Code Review
- 他们很少知道哪些代码是AI生成的
- 质量门槛保持不变
关键要点:我现在对“我写的代码”更加挑剔,因为其中很多并非我亲手键入。没有情感依恋意味着更好的Code Review。
5. 后台智能体的早期实验
我们正在测试使用Cursor的Slack触发智能体来处理简单任务:
- 2次成功修复业务逻辑
- 1次处理CSS布局失败
当前局限性:
- 无法访问私有NPM包
- 它会提交未签名的Commit
- 绕过了正常的跟踪流程
但潜力呢?想象一下智能体在您睡觉时处理积压的小任务。我们正在Sanity积极探索这一点,并在团队间分享经验,以摸索出有效的方法。
6. 真实成本(含数字)
我们来谈谈钱,我使用Claude Code的成本占公司支付我月薪的不小比例。
但这项投资带来了:
- 我的功能交付速度快了2-3倍
- 我可以管理多个开发线程
- 我在模板代码和重复性代码上花费时间几乎为 0
投资回报率(ROI)是显而易见的,但需要为全力投入AI开发的资深工程师预算每月1000-1500美元的费用。同样可以合理预期,工程师随着熟练度提高,使用AI的效率会更高,这只是时间问题。
7. 实际会遇到的问题
AI辅助开发并非一帆风顺,以下是我遇到的一些持续挑战:
学习问题
AI不会从错误中学习,需要反复修正相同的误解,解决方案是:配置更好的文档和更明确的指令。
自信问题
AI会自信地编写有问题的代码,并声称其很棒。务必进行验证,尤其是对于:
- 复杂的状态管理
- 性能关键部分
- 安全敏感代码
上下文限制问题
大型代码库会超出AI的上下文窗口限制。将问题分解成更小的块,并提供具体的上下文。
8. 从代码到问题的情感转变
最困难的部分?放下对代码的所有权。现在我不再关心“我写的代码”了,它只是需要Review和优化的输出。
这种超然实际上非常解放!
- 更快地删除不良解决方案
- 更客观的代码审查
- 重构时零 ego(自我)
如果明天出现更好的AI工具,我会立即切换。代码并不珍贵,我们解决的问题才是。
三、这对团队意味着什么(给技术负责人的建议)
如果要从工程师的角度给出建议,如果您是考虑采用AI的技术领导者:
- 让团队中的工程师采用和测试不同的AI解决方案: AI辅助编码是一项需要通过实践来学习的技能。
- 从重复的任务开始: 这是AI能立即发挥作用的领域。
- 为实验预留预算: 第一个月会很混乱。
- 调整Coe Review流程: AI生成的代码需要不同的Review。
- 用文档记录一切: 优质的上下文是效率倍增器。
适应新AI工作流的工程师会发现工具箱中多了一把利刃:他们正在成为协调者,处理多个AI智能体,同时专注于架构、审查和复杂问题解决。
四、下一步(作为开发者)
挑选一个小的、定义明确的功能。给AI三次尝试来实现它。然后,像指导初级开发者一样对输出的代码进行 Code Review。
就这样,不需要巨大的转型,不需要流程大修。只需一个功能,三次尝试,一次坦诚的Code Review。
未来不在于AI取代开发者,而在于开发者工作得更快,创造更好的解决方案,并利用可用的最佳工具。
参考文献:
First attempt will be 95% garbage: A staff engineer’s 6-week journey with Claude Code
本文标题:首次尝试95%都是垃圾:一位工程师使用Claude Code的6周之旅
文章作者:Canace
发布时间:2025-09-13
最后更新:2025-09-13
原始链接:https://canace.site/translateUseClaudeCode/
版权声明:转载请注明出处
分享