
学会用Claude Code开发专业级软件。
关于AI编程工具的核心见解
在讨论是否使用AI编程工具时,我有这样的见解:
确实,利用AI编写软件已有数月之久,这一过程教会了我很多,并且深刻影响了我对现代软件工程的看法。这里有两个主要的学习点:
- AI既是被过度炒作的也是强大的:当正确运用时,它极其有用,能够极大地提升工作效率。
- AI呼唤开发者深化和升级我们的基本技能集:即工程技术。虽然AI可以帮助开发者更快、更好地生产代码,但如果不谨慎使用,也可能导致更危险的问题,如技术债务、浪费时间和精力。
一个像Claude Code这样的工具可以成为你最好的朋友,也可能是最糟糕的队友——这完全取决于你怎么使用它。
开发者使用AI编码工具的两大常见错误
大多数开发者从一开始就错误地使用AI编码工具,通常会犯以下两个错误之一:
错误一:将所有工作都交给AI。这种做法下的开发者往往过于兴奋,认为“代码是廉价的”。他们不停地构建和发布,结果很快就会发现自己陷入了难以理解的混乱代码中,即使是最先进的通用人工智能(AGI)也难以修复。
错误二:什么都不交给AI。这些开发者担心容易被技术债务淹没,他们不信任Claude Code或与之相关的开发流程。因此,他们试图把所有事情都记在脑子里,最终导致自己不堪重负,感到精疲力竭。
这两种方法都是被动的,对于任何有过团队开发经验的人来说,都知道在这种模式下操作的结果是什么。
打造高效平衡的AI辅助开发之路
我们需要设计一条自己的主动、高效的中间道路,既不是YOLO(你只活一次,指不顾后果地做某事),也不是OH NO(充满担忧)。这条路径应该是自信的,因为你能够信赖你的经验、技能、流程以及工具(按此顺序)。换句话说,就是工程师的道路。
当你选择了工程师的道路,你就能够从Claude Code等工具中获得非凡的结果,比如更快的发展速度、更好的自动化测试、更高的软件质量,更多的乐趣和更少的苦工。最重要的是,你可以腾出时间专注于最有价值的工作:规划、设计和真正的工程实践。
那么,如何在这两者之间找到平衡,建立起信心呢?关键是采取一种深思熟虑的方法,合理分配任务给AI和自身,确保技术债务得到有效管理的同时,也能充分利用AI带来的加速发展和创新机会。
第一步:以工程师的方式分析
- 专业方法的重要性:尤其是在生产环境中或面对现有的代码库时,需要采用专业的处理方式。优秀的工具不能替代工程学,实际上,随着工具的进步,真正掌握工程技术的人与那些仅凭感觉编码的人之间的差距越来越大。
- 软件开发的真实工作:真正的工程师知道软件开发的核心不在于编写代码行,而在于头脑中的工程设计。
- 预防问题:包括防止数据丢失或破坏、确保符合行业或企业标准、避免引入难以察觉的破坏性变更,以及最重要的是,保持对代码库的理解,以免陷入认知丧失的困境。
第二步:以工程师的方式思考
- 了解你的工具:一个真正的工程师应当深入了解他们的工具——它们的优点、适用场景、局限性和可能的失败模式。
- AI作为工具:尽管AI是一种新型且独特的工具,但它仍然只是一个工具。工程师需要有意识地将其融入到专业软件开发过程中,构建使这些工具值得信赖的过程。
核心工程技能
- 沟通:清晰地分享思想、想法、观察和需求。
- 预见:快速识别潜在问题。
- 规划:将大量工作转化为格式良好的产品需求文档(PRD)。
- 分解:将大计划细分为范围明确、迭代的任务。
- 委派:自信地知道什么以及如何分配任务。
- 系统化:建立反馈循环,以产生高质量输出(类型、测试和审查)。
- 并行化:平衡质量保证和编码工作,以达到最高生产力。
这些技能不仅适用于与AI工具合作,也同样适用于与人协作。无论是否使用AI工具,这些基本的工程技能都是生产出安全、有价值的长期代码的关键。通过运用这些技能,开发者可以在提高生产力的同时减少技术债务的风险,确保代码的安全性。
实践真实工程,解锁Claude Code的力量
个人项目实例:作者一直梦想创建一个完美的课程创建工具,专门用于自己的课程开发流程。通过使用Claude Code和Ralph循环(可能是特定的工作流或方法),在业余时间成功完成了超过1000次提交,并解决了500多个问题,最终构建了一个包括全浏览器内视频编辑器、具有14种独特模式的AI写作助手以及多种同步功能的专业级课程创建工具。
从“感觉编码”到“AI英雄”
课程设计目标:帮助开发者学习和更新工程技能,特别是融入了新的AI辅助开发工作流。课程内容包括了解Claude Code的工作原理、其能力和局限性、如何高效地准备和管理工作、确保项目按规范进行、测试输出并在每个步骤中保证质量。
适应现实世界的生产环境:学习如何将Claude Code集成到现有的代码库和程序中,体验正确使用强大的工具如Claude Code如何增强你的能力并加深对代码库的理解。
对比“感觉编码”与“AI英雄”
之前的状态(Vibe Coder):
- YOLO模式
- 沙盒和权限管理不当
- 一团糟的代码基础
- 大量无用或缺乏的测试
- 平庸的用户界面
之后的目标(AI Hero):
- 安全沙盒和明确权限
- 易于导航的代码结构,模块化深入
- 在合理边界上的有用测试
- 真正有品味且具意见性的应用程序
- 设计结构和指导系统,让AI负责实施细节
- 能够信任并有效委派任务给AI
这些基本原则不仅适用于Claude Code,也适用于其他AI编程工具。选择Claude Code是因为作者认为它是当前同类中最好的工具。
通过这样的课程和实践,开发者可以从简单的“感觉编码”转向成为能够充分利用AI力量的“AI英雄”,从而在保持高质量标准的同时提高生产力和创造力。
两周异步群组课程:掌握Claude Code实战技能
我最新的为期两周的异步群组课程为你提供了基于真实世界经验的最佳材料。所有设计都旨在让你能够应用于真实的项目中。
课前准备:了解Claude Code
- LLM基础与计划/清理/执行循环
- 使用CLAUDE.md、自定义技能和渐进式披露来指导
- 通过产品需求文档(PRD)和多阶段计划以及追踪子弹来验证架构决策
- 构建反馈回路以确保你的代理输出可信且高质量
- 使用Ralph循环让代理100%自主运行(同时保持高质量)
- 利用原型设计、研究和软件架构技能来构建真正优秀的产品
完整课程时间表
每周学习、实践和构建的内容 每个星期一,你将获得当周全部课程的访问权限,让你可以自由选择进度和时间安排。快速浏览课程或慢慢消化;复习以确保理解,并在办公时间提出问题!
课前准备:快速上手Claude Code
一旦报名,你会立即获得一系列专为此课程设计的“了解Claude Code”的课程,帮助你在第一天就迅速上手。
如果你是初次接触Claude Code,这将帮助你熟悉CLI代码助手中的关键术语和功能。如果你已经很熟练了,这也是一个有用且轻松的复习!
第一周:基础、指导与规划
本周,我们将建立与AI编码代理协作的工程工具包。
首先,确保你理解LLM的实际限制,以及如何管理它们,同时使用Claude Code成功地在一个生产级代码库中构建新特性。
你将学习上下文窗口的工作原理,为什么仔细管理它们很重要,以及子代理如何帮助你保持上下文窗口的整洁。我们将练习探索大型代码库并使用计划/执行/清除循环。
这些技术结合起来,可以帮助你的代码助手保持在“聪明区”,写出优秀的代码,避免进入“愚蠢区”。
然后,你将学习如何指导代码助手。编写一个AGENTS.md文件,不浪费令牌在不必要的指令上,而是教会你的代理如何根据团队偏好和专业知识调整自己,使用自定义技能和渐进式披露(同时防止令牌浪费)。
第一周学习成果:像高级工程师一样规划和构建特性
- 将全尺寸特性分解为适合上下文窗口大小的部分来构建
- 使用特定技能撰写产品需求文档(PRD)
- 使用追踪子弹在承诺全面构建之前验证架构
- 执行多阶段计划,交付单个代理会话无法处理的大规模特性
第一周将以办公时间结束。带来你的问题,获取直接答案。不能实时参加?提前提交问题并获取录音和文本记录。
第二周:反馈回路、自治与现实模式
第二周在第一周的基础上增加了使AI辅助软件工程既可信又可靠的新系统。
首先,你会发现绿色CI管道在与代理合作时是不可或缺的,并学习哪些类型的测试属于(或不属于)你的代理红绿重构工作流程。你将构建一个自定义“技能”,将团队的质量标准编码到每项任务中,并设置预提交钩子,为代码质量提供确定性的安全网!
然后,自动化你的工程工作流的关键:“拉尔夫·威格姆”循环,一种看似简单但实际上非常强大的模式,允许你的代理完全自主地在应用程序中构建整个特性。
你将学习并练习两种模式下的拉尔夫操作:首先是“人在环中”模式(提示:你是那个人)。HITL模式给你可见性和控制权,当你在学习时。
然后我们将去掉训练轮,在一个安全的沙箱中设置,让Claude Code可以在你离开的情况下完全自主操作,从GitHub Issues积压中提取任务,优先修复和特性,并提交更改到分支。只需一点练习,你就可以让它在你专注于其他重要事项时完成大量工作。
第二周核心收获:清晰掌握AI协作边界
- 如何以及何时运行研究阶段以节省未来会话的时间
- 灵活看板的力量,而不是预先的计划
- 如何确保你的代码库已准备好供AI代理有效导航
第二周的办公时间与Matt一起。同样的格式,更深入的问题。现在你已经有了实际经验,我们可以帮助你将实践与代码库中的真实工作联系起来!
课程核心优势
本课程聚焦于Claude Code CLI,这是我磨练这些技能并取得最佳结果的地方。所以这是教你这些技能的最佳方式!
但一旦在这里掌握了技能,你几乎可以在任何CLI代码助手中使用相同的技术和知识,适用于几乎所有前沿AI模型。
随着这些技能的不断实践,你将对在生产级代码库中使用代码助手产生更好的判断力。
