Claude Code best practices:https://www.youtube.com/watch?v=gv0WHhKelSE
双语字幕版:https://www.bilibili.com/video/BV1EqhJzmEqE/
引言:开启 Claude Code 之旅
大家好,欢迎来到“Claude Code 最佳实践”分享会。在接下来的时间里,我将首先宏观地介绍 Claude Code 的概念,然后深入探讨其内部工作原理。理解工具的原理是高效使用的基础,因此在了解这些之后,我们将一同探讨 Claude Code 的理想应用场景,并分享我们从内部实践和用户反馈中总结出的最佳实践,以帮助您最大化地发挥其潜力。
自我介绍与缘起
在正式开始前,请允许我做个简单的自我介绍。我叫 Cal,大约一年半前加入 Anthropic,参与创建了“应用 AI”团队。我们团队的使命是帮助客户与合作伙伴,基于 Claude 构建出色的产品和功能。这意味着我的日常工作就是大量地与 Claude 交互,通过提示工程(Prompt Engineering)来挖掘模型的最佳性能。
我本人也是一名编程爱好者,常常有很多新奇的想法并动手实践,但坦白说,我有很多项目都只是开了个头。去年底,我偶然听同事提起一个很酷的新工具,也就是 Claude Code 的前身。一个周五晚上,我下载并试着用它来构建我构思已久的一款笔记应用。
结果,整个周末的体验彻底颠覆了我对编程和软件工程的认知。我几乎是笔记本不离手,痴迷地看着 Claude Code 工作——我只需按下回车,切换到浏览器刷新,一个功能强大、结构复杂的应用就在我眼前逐步成型。我借助它所取得的进展,远超我独自一人所能达到的程度,这让我大开眼界。
有趣的是,我当时一边享受着编码的乐趣,一边又有些担心,因为我知道这会消耗大量的 token,生怕会因此惹上麻烦。但我不知道的是,Claude Code 团队内部有一个排行榜,追踪所有员工对该工具的使用情况。那个周末过后,我一路飙升到了榜首。
这让我有机会结识了 Claude Code 团队的早期成员,并凭借我对提示工程的理解,成功加入了这个团队,成为核心贡献者之一。我目前主要负责提示工程、系统提示、工具集成以及效果评估等工作,确保我们对工具的每一次迭代都能带来真正的提升。
第一章:Claude Code 是什么?—— 一个心智模型
当别人问我 Claude Code 是什么时,我喜欢用这样一个比喻:
Claude Code 就像你团队里那个总是在终端(Terminal)里完成所有工作的技术奇才。
他从不使用图形用户界面(GUI),能力超群。这让我想起我做初级工程师时的导师 Tony。每当我遇到难题求助于他,他总能迅速切换到终端,用一连串我看不懂的 Bash 命令和 Vim 操作轻松解决问题,每次都让我惊叹不已。
在你的电脑上拥有 Claude Code,就如同拥有了一个随时待命的 “Tony”。
第二章:深入内部:Claude Code 的工作原理
在 Anthropic,我们信奉“能奏效的简单方案”(The Simple Thing That Works)。Claude Code 正是这一理念的体现,它是一个我们认为非常纯粹的 AI 智能体(AI Agent)。
核心:纯粹的 AI 智能体
一个 AI 智能体,其核心构成可以概括为:
明确的指令 (Instructions)
强大的工具集 (Powerful Tools)
循环执行机制 (Loop)
模型会根据指令,在一个循环中持续调用工具,直到它自主判断任务已经完成。Claude Code 的工具集正是那些终端高手所钟爱的:创建和编辑文件的工具、执行终端命令的工具等。
独特的代码理解方式:智能体式搜索 (Agentic Search)
与传统编程AI工具不同,Claude Code 在理解代码库时,不进行任何形式的索引或 RAG(检索增强生成)。
它的工作方式更像一个新人加入团队后熟悉项目的过程——通过探索来理解。我们称之“智能体式搜索”。它会使用你我都会用的 glob
、grep
、find
等命令在代码库中穿梭,阅读文件,理解项目结构和逻辑。
这意味着模型可以先进行一次搜索,然后根据搜索结果判断:“嗯,我可能还需要了解另外几件事。” 于是它会进行更多的搜索,逐步构建起对整个代码库的认知。
完善的辅助系统
在这个核心智能体之上,我们还构建了一些关键部分:
轻量级用户界面:让你能实时观察 Claude Code 的工作过程。
权限系统:在 AI 智能体执行读取等安全操作时自动放行,但在执行写入文件、运行命令等可能具有风险的操作时,会请求人类用户授权,确保安全可控。
安全性与灵活性:由于 Claude Code 只是模型之上的一个轻量级封装,你可以轻松地将其指向通过 AWS、GCP 等云服务商提供的 Claude 模型,以满足不同的安全与合规需求。
第三章:释放潜能:Claude Code 的应用场景
Claude Code 的应用范围非常广泛,几乎涵盖了软件开发的全周期。
项目探索与上手 (Exploration):当你加入一个新团队或接触一个开源项目时,往往需要花费大量时间熟悉代码。Claude Code 可以极大缩短这个过程。你可以直接问它:“某个功能是在哪里实现的?”或者“通过 Git 历史,告诉我这段代码在过去几周发生了哪些变化?”
成为你的思想伙伴 (Thought Partner):在动手编码前,你可以让 Claude Code 扮演军师的角色。例如,你可以说:“我准备实现这个功能,请你先研究一下代码库,为我提供两到三种不同的实现方案,并分析优劣。暂时不要写任何代码。” Claude 会利用其智能体式搜索能力,为你提供决策参考。
高效构建与编码 (Building & Coding):
部署与运维 (Deployment & Lifecycle):通过 Claude Code SDK,你可以“无头模式”(Headless Mode)以编程方式使用它,将其集成到 CI/CD 流程或 GitHub Actions 中,实现自动化工作流。
支持与规模化 (Support & Scaling):
终端工具大师 (Master of CLI Tools):记住,它精通各类命令行工具,如 Git、Docker、BigQuery 等。当你遇到棘手的 git rebase
冲突时,不必再头痛,直接启动 Claude Code,告诉它情况,让它帮你解决。
第四章:最大化效率:最佳实践与高级技巧
基础最佳实践
善用 claude.md
文件:
作用:这是在不同会话或团队成员间共享状态和指令的核心方式,相当于 Claude 的“长期记忆”。当 Claude 启动时,它会自动读取当前工作目录下的 claude.md
文件,并将其内容作为核心指令。
内容建议:你可以在里面存放项目特定的信息,如“如何运行单元测试”、“项目目录结构概览”、“团队代码风格指南”等。你也可以在你的用户主目录(Home Directory)下放置一个全局的 claude.md
来存放通用指令。
智能管理权限:
优化集成设置:
有效管理上下文:
构建高效工作流:
先计划,后执行:不要直接命令“修复这个bug”,而是说“我遇到了这个bug,请先调查原因,然后给我一个修复计划”。这样你可以在它动手前验证其思路是否正确。
利用待办事项 (To-Do List):在处理复杂任务时,Claude 会生成一个待办事项列表。你可以观察这个列表,如果发现方向不对,可以随时按 Escape
键打断它,并调整计划。
拥抱测试驱动开发 (TDD):让 Claude 进行小范围修改、运行测试、检查代码规范、然后提交。这种小步快跑的方式能确保项目不会偏离轨道。
利用多模态能力:你可以随时粘贴截图,或者让 Claude 读取图片文件(如 mock.png
),并根据视觉设计来构建界面。
高级技巧
同时运行多个 Claude 实例:当你熟练后,可以尝试在 Tmux 或多个终端标签页中同时运行多个 Claude 智能体,让它们并行处理不同任务。这是一个有趣的挑战。
Escape
键是你的超能力:
无头模式与自动化:这是我们最兴奋的领域。探索如何通过编程方式(SDK)在各种场景(如 GitHub Actions)中使用 Claude,将 AI 智能体的能力“撒”向开发工作流的每一个角落。
第五章:新功能速览与问答
最新功能
我们发布新功能的速度非常快,保持关注很重要。
/model 命令:你现在可以在 Claude 中输入 /model
来查看并切换当前使用的模型(如从 Sonnet 切换到 Opus)。
工具调用间的思考过程:从 Claude 3(Opus)开始,模型可以在两次工具调用之间进行“思考”。你会看到用浅灰色文本显示的思考过程,这对于理解其决策路径和调试非常有帮助。
IDE 深度集成:我们与 VS Code 和 JetBrains 的集成为你带来更流畅的体验。
你可以在我们公开的 Claude Code GitHub 项目中找到更新日志,建议每周查看。
现场问答 (Q&A)
问:一个项目里可以有多个 claude.md
文件吗?
问:我让 Claude 遵守 claude.md
里的指令(比如不留注释),但它不听怎么办?
问:可以实现多智能体并行执行,并让它们共享上下文吗?
谢谢大家。