Sanity 公司资深工程师深度分享使用 Claude Code 的工作流改进和真实收获。通过具体案例展示 AI 编程工具对效率的实际提升。
我解决代码问题的方法在职业生涯中发生了四次转折:
前 5 年,我在阅读书籍和 SDK 文档。
然后是 12 年的搜索引擎查找众包答案。
最近 18 个月用 Cursor 做 AI 辅助编码
以及最近 6 周用 Claude Code 做完整 AI 委托
每次转变的发生速度都比前一次快。转向 Claude Code?对我来说,只需几小时的使用就能提高生产力。
以下是我现在的工作流,去掉炒作后的样子。我主要用 AI "与它一起思考",在朝着最终进入生产环境的代码开发时。
忘掉一次性完美代码生成的承诺吧。作为工程师,你的工作是为问题找到最佳解决方案,而不仅仅是写一堆代码。
Claude 建立关于你系统的上下文
你识别实际挑战
代码通常完全错误
然后你从这次尝试中吸取教训并反馈给它。
Claude 理解了细微差别
你已定义具体方案
一半的时间里,它仍然无法使用
Claude 实现了我们可以迭代和完善的东西
你不断审查和纠正方向
这成为你的起点,而不是最终代码
这不是失败;这是过程!期望第一次就完美,就像期望初级开发者在没有上下文的情况下完成复杂功能一样。
最大的挑战是什么?AI 无法在会话之间保留学习(除非你花时间手动给它"记忆")。所以通常,每次对话都从零开始。
创建一个项目特定的上下文文件,包括:
得益于 MCP 集成,我现在可以将 AI 连接到:
没有这个上下文,你一遍遍解释相同的约束。有了它,你直接从第二次尝试开始,而不是第一次。
我现在并行运行多个 Claude 实例,这就像管理一个小型开发团队,他们每天早上都重置记忆。
写代码是工作的一部分,审查代码也是。采用 AI 也改进了我的代码审查流程。
在 Sanity,我们的政策是工程师对他们交付的代码负责,即使是 AI 生成的。我想确保我交付:
他们很少知道哪些代码是 AI 生成的
质量标准保持不变
关键要点:我现在对"我的代码"更挑剔,因为我没有手打大量代码。没有感情依恋意味着更好的审查。
我们正在测试使用 Cursor 的 Slack 触发 agent,用于简单任务:
但潜力?想象 agent 在你睡眠时处理你积压工作中的小工单。我们在 Sanity 正积极探索这一点,在跨团队分享学习,找出有效的东西。
让我们谈钱。我的 Claude Code 使用成本对我的公司来说,是他们每月支付给我薪资的不小比例。
但为了这笔投资:
ROI 很明显,但要为一位全力投入 AI 开发的资深工程师预算每月 1000-1500 美元。随着工程师 AI 技能的提高,他们在 AI 支出上也会变得更高效,这也是合理的,但要给他们时间。
AI 辅助开发并不总是顺利的。以下是我发现的持续挑战:
学习问题 AI 不从错误中学习。你一遍遍修复相同的误解。你的解决方案:更好的文档和更明确的说明。
信心问题 AI 自信地写出破损代码,声称它很棒。总是验证,特别是对于:
上下文限制问题 大型代码库会压倒 AI 上下文窗口。将问题分解成更小的块,提供聚焦的上下文。
最难的部分?放弃对代码的所有权。但现在我不再关心"我的代码";它只是要审查和完善的输出。
这种超然实际上相当解放!
如果明天出现更好的 AI 工具,我会立即切换。代码不是珍贵的;我们解决的问题才是。
如果我从工程师的角度给出建议,如果你是考虑 AI 采用的技术领导者:
适应新 AI 工作流的工程师会发现自己拥有工具箱中的新锐刀:他们正成为编排者,处理多个 AI agent,同时专注于架构、审查和复杂问题解决。
选择一个小的、定义明确的功能。给 AI 三次实现它的尝试机会。像你在指导初级开发者一样审查输出。
就这样。不需要巨大的转变,不需要流程过度改革。只需一个功能、三次尝试和诚实的审查。
未来不是关于 AI 替代开发者。而是关于开发者工作更快、创造更好的解决方案,并利用可用的最佳工具。
👋 来自开发者教育团队的 Knut:如果你很好奇为什么 Sanity 使 AI 辅助开发特别有效:这都是基于代码的配置。模式、工作流,甚至编辑 UI 都定义在 TypeScript 中,这意味着 AI 工具实际上可以理解和生成整个堆栈。没有点击 web UI 来配置东西。如果你想更深入,这里有一门关于那个特定工作流的课程。
回到我们的常规内容。