Hacker News 中文摘要

RSS订阅

一位工程师与Claude Code的探索之旅 -- A staff engineer's journey with Claude Code

文章摘要

文章讲述了一位工程师在六周内使用Claude Code进行AI辅助编程的经历。他提到,过去18个月中,AI已经承担了他80%的初始代码编写工作,而他则专注于架构设计和代码审查。文章强调了将AI视为“不会学习的初级开发者”的成功心态,并分享了他从手动编码到AI辅助编程的四个职业阶段转变,每个阶段的过渡速度都在加快。最终,他通过Claude Code实现了对AI的全面委托,这一转变仅用了几个小时。

文章总结

标题:首次尝试95%是垃圾:一位资深工程师与Claude Code的六周之旅

在过去的18个月里,我从亲自编写每一行代码,转变为如今AI负责80%的初始实现,而我则专注于架构设计、代码审查以及同时推进多个开发任务。这篇文章并非关于“AI将改变一切”的泛泛之谈,而是深入探讨了将AI整合到生产开发流程中的实际挑战:哪些方法有效,哪些浪费时间,以及为何将AI视为“不会学习的初级开发者”成为我成功的关键思维模式。

我的代码问题解决方法的四次转变

  1. 前5年:通过阅读书籍和SDK文档学习。
  2. 接下来的12年:依赖谷歌搜索获取众包答案。
  3. 过去18个月:使用Cursor进行AI辅助编程。
  4. 最近6周:全面委托Claude Code进行AI编程。

每次转变的速度都比前一次更快,而转向Claude Code仅用了几个小时就让我进入高效状态。

当前的工作流程

我主要将AI用作“思考伙伴”,与它一起协作,最终生成生产代码。通常需要三次尝试才能得到可用的代码:

  1. 首次尝试(95%垃圾率):Claude了解系统背景,我识别实际挑战,生成的代码通常完全错误。
  2. 第二次尝试(50%垃圾率):Claude理解细节,我定义了具体方法,但仍有半数代码不可用。
  3. 第三次尝试(最终可用):Claude实现了一个可以迭代和优化的版本,我不断审查和调整,这成为我们的起点,而非最终代码。

上下文问题及其解决方案

AI无法在会话之间保留学习内容,因此每次对话都从零开始。我的解决方案是创建项目特定的上下文文件(Claude.md),包含架构决策、代码库中的常见模式、陷阱和解决方法,以及相关文档链接。此外,通过工具集成,AI可以连接到Linear、Notion、Canvas、非生产数据库和GitHub,获取更多背景信息。

管理多个AI“开发者”

我现在并行运行多个Claude实例,就像管理一个每天重置记忆的小型开发团队。关键策略包括:不在同一问题空间并行化、在Linear中跟踪所有内容、明确标记人工编辑的代码。

三步审查流程

  1. Claude先审查:捕捉缺失的测试覆盖、发现明显错误、提出改进建议。
  2. 我审查关键部分:确保代码库可维护、架构决策合理、业务逻辑正确、集成点良好。
  3. 团队正常审查:他们通常不知道哪些代码是AI生成的,但质量标准保持不变。

早期实验与背景代理

我们正在测试通过Slack触发的代理,使用Cursor处理简单任务。虽然目前存在一些限制,如无法访问私有NPM包、绕过正常跟踪等,但潜力巨大,未来可能让代理在夜间处理积压的小任务。

实际成本与收益

我的Claude Code使用成本占公司支付我月薪的相当比例,但带来的回报是:我以2-3倍的速度交付功能,能够同时管理多个开发任务,且无需在样板代码和重复代码上浪费时间。

常见问题与挑战

  1. 学习问题:AI不会从错误中学习,需要反复修复相同的误解。
  2. 信心问题:AI自信地编写有问题的代码,尤其是在复杂状态管理、性能关键部分和安全敏感代码中。
  3. 上下文限制问题:大型代码库会超出AI的上下文窗口,需要将问题分解并提供聚焦的上下文。

从代码到问题的情感转变

最难的部分是放弃对代码的所有权,但这种剥离实际上非常解放:更快删除不良解决方案、更客观的代码审查、重构时零自我。如果明天出现更好的AI工具,我会立即切换。代码并不珍贵,我们解决的问题才是。

给技术领导者的建议

  1. 让工程师测试不同的AI解决方案:AI辅助编程是一项需要练习的技能。
  2. 从最重复的任务开始:这是AI立即发光的地方。
  3. 为实验预留预算:第一个月会很混乱。
  4. 调整审查流程:AI代码需要不同的审查方式。
  5. 记录一切:良好的上下文是效率的倍增器。

未来并非AI取代开发者,而是开发者更快地工作,创造更好的解决方案,并利用最佳工具。选择一个小的、定义明确的功能,给AI三次尝试实现它的机会,像指导初级开发者一样审查输出。无需大规模变革,只需一次尝试、三次迭代和诚实的审查。

评论总结

评论内容总结:

  1. 迭代式开发与代码质量

    • furyofantares 提出了一种迭代式开发方法,先通过初步提示生成代码,再通过多次迭代优化代码质量。
      • 引用:“I start by putting a little effort into a prompt and into providing context, but not a ton - and see where Claude Code gets with it.”
      • 引用:“Then I revert everything else and start with a totally blank context, except that file.”
    • swframe2 强调通过分步实现和测试来避免垃圾代码。
      • 引用:“Don’t ask for large / complex change. Ask for a plan but ask it to implement the plan in small steps.”
      • 引用:“Ask the model to write code to visualize the problem and solution.”
  2. AI辅助编程的效率与局限性

    • lordnacho 分享了使用Claude进行高效编程的经验,认为AI可以显著改变工作方式。
      • 引用:“I just keep an eye on what it tries, and it’s completely changed how I code.”
      • 引用:“I can be sitting in a meeting while I tell Claude what to do.”
    • resonious 则认为AI在架构设计上表现不佳,更适合处理基础任务。
      • 引用:“I always build the foundation. That way I know how things work fundamentally.”
      • 引用:“They’re really good at following suit, but very bad at architecture.”
  3. 代码审查与团队协作

    • dakiol 提出了AI生成代码后如何进行代码审查的问题,认为大规模代码变更难以审查。
      • 引用:“You don’t want to submit dozens of file changes because nobody would review it.”
      • 引用:“It’s way easier to let the agent code the whole thing if your prompt is good enough.”
    • block_dagger 对从Cursor切换到Claude的原因表示好奇,认为Cursor在处理大型代码库时更优。
      • 引用:“Curious about what they can do with Claude that can’t be done with Cursor.”
      • 引用:“I find Cursor to be superior for the very large codebases I work in.”
  4. 成本与AI采用

    • albingroen 和 rester324 对AI工具的高成本表示担忧,认为在许多国家或公司中难以获得预算支持。
      • 引用:“So we’re supposed to start paying $1k-$1,5k on top of already crazy salaries?”
      • 引用:“Maybe in the US most companies are willing to allocate you 1000 or 1500 USD/month/engineer.”
  5. AI的实际应用范围

    • ale 质疑AI工具的实际应用范围,认为其目前仅限于简单的重构和模板任务。
      • 引用:“What kind of staff engineer has ‘80% of their code’ written by a ‘junior developer who doesn’t learn’?”
      • 引用:“These agents are supposedly parallelizing a lot of the work.”

总结:评论中既有对AI辅助编程效率的肯定,也有对其局限性和成本的担忧。迭代式开发、分步实现和代码审查是讨论的焦点,同时AI在架构设计和高成本问题上的局限性也引发了广泛讨论。