首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >白话文读懂Claude Code最佳实践指南,学不会退网(bushi

白话文读懂Claude Code最佳实践指南,学不会退网(bushi

作者头像
AIGC新知
发布2025-08-02 12:46:06
发布2025-08-02 12:46:06
4.6K0
举报
文章被收录于专栏:AIGC新知AIGC新知

Hello,朋友们,我是绛烨。

今天来说说claude code。

这是一篇关于Claude Code 最佳实践的分享文章。

原文有点晦涩难懂,我对此进行了修改优化,增加一些截图,配合各位读者朋友进行阅读。

为了更加通俗易懂并且容易入门,我结合了4月份Claude Code 官方出品的一篇文章进行解读,如有谬误,恳请勘误。

本篇文章主要介绍:

  • 介绍Claude Code的概念。
  • 探讨Claude Code内部工作原理。
  • 探讨Claude Code的理想应用场景。
  • 分享Claude Code最佳实践指南。

首先介绍一下原作者。

原分享人(作者)Cal,大约一年半前加入 Anthropic,参与创建了“应用 AI”团队。然后他的的日常工作就是大量地与 Claude 交互,通过提示工程(Prompt Engineering)来挖掘模型的最佳性能。

Cal也是一个疯狂痴迷AI编程的奇人,因为疯狂刷Claude Code的token,使用量飙升到了内部排行榜榜首,依托他对提示工程的理解,成功加入了这个团队,成为核心贡献者之一。

同样的道理:AI时代,抓住机会正确地卷,一切皆有可能。

目前他本人主要负责提示工程、系统提示、工具集成以及效果评估等工作,确保对工具的每一次迭代都能带来真正的提升。

Claude Code 是什么?

Claude Code不知道什么时候火起来的,姑且不论。

很多开发者朋友都在问,它到底是什么?

就像MCP刚出来那会,有人就问,MCP到底是什么?

来自Cal的一个很形象的比喻:

Claude Code 就像你们公司团队里那个总是在默默无闻(Terminal)里完成所有工作(coding)的全栈技术大牛。

Claude Code大牛从不使用图形用户界面(GUI),能力超群。

很多人会问,Claude Code 为什么这么难用(我也觉得)?

根据他们官网的描述,Claude Code 刻意追求低级和开放性,提供接近原始模型的访问,而无需强制执行特定的工作流程。这种设计理念打造了一个灵活、可定制、可脚本化且安全的强大工具。

对于刚接触编码工具的工程师来说,学习难度较高。

但是,如果在你的电脑上拥有了 Claude Code,就如同拥有了一个什么都可以帮你做的全栈大牛(除了不能帮你生娃)。

忍受一下学习的苦,也未尝不可。

深入理解:Claude Code 的工作原理

Cal谈到,在 Anthropic内部,员工比较信奉“可以奏效的简单方案”(The Simple Thing That Works),也就是说,有一些非必要的流程消耗可以砍掉了。

Claude Code 就是非常纯粹的 AI 智能体(AI Agent),因为它只懂得帮你干活,很纯粹,很简单,没有任何心眼子。

核心: AI 智能体

Claude Code为什么这么简单高效呢?

Claude Code作为一个成功的AI智能体,制胜的秘诀在于:

  • 有明确的指令 (Instructions)
  • 装备了强大的工具集 (Powerful Tools):比如说编辑/创建文件、使用CLI或MCP工具、提交commit等。
  • 有循环执行机制 (Loop)

模型会根据指令,在一个循环中持续调用工具,直到它自主判断任务已经完成。

Claude Code 的工具集正是那些终端高手所钟爱的:创建和编辑文件的工具、执行终端命令的工具等。

独特的代码理解方式

与传统编程AI工具不同,Claude Code 在理解代码库时,不进行任何形式的索引或 RAG(检索增强生成)。

它的工作方式更像一个新人加入团队后熟悉项目的过程——通过探索来理解,称之“智能体式搜索”。它会使用glob、grep、find 等命令在代码库中穿梭,阅读文件,理解项目结构和逻辑。

这意味着模型可以先进行一次搜索,然后根据搜索结果判断:“嗯,我可能还需要了解另外几件事。” 于是它会进行更多的搜索,逐步构建起对整个代码库的认知。

完善的辅助系统

在这个核心智能体之上,他们还构建了一些关键部分:

轻量级用户界面:让你能实时观察 Claude Code 的工作过程。

权限系统:在 AI 智能体执行读取等安全操作时自动放行,但在执行写入文件、运行命令等可能具有风险的操作时,会请求人类用户授权,确保安全可控。

安全性与灵活性:由于 Claude Code 只是模型之上的一个轻量级封装,你可以轻松地将其指向通过 AWS、GCP 等云服务商提供的 Claude 模型,以满足不同的安全与合规需求。

Claude Code 使用入门

这部分主要认识一下CLAUDE.md文件,其他更加复杂的用法,,有机会看看。

为什么CLAUDE.md这么重要?

CLAUDE.md 是一个特殊文件,Claude 在发起对话时会自动将其拉入上下文中。

也就是说,它可以存储如下信息:

  • 常用 bash 命令
  • 核心文件和实用函数
  • 代码风格指南、存储库规则
  • 开发者环境设置、测试说明
  • 项目特有的任何意外行为或警告
  • 其他信息

CLAUDE.md 的格式实例如下:

代码语言:javascript
复制
# Bash commands
- npm run build: Build the project
- npm run typecheck: Run the typechecker

# Code style
- Use ES modules (import/export) syntax, not CommonJS (require)
- Destructure imports when possible (eg. import { foo } from 'bar')

# Workflow
- Be sure to typecheck when you’re done making a series of code changes
- Prefer running single tests, and not the whole test suite, for performance

刚启动Claude Code,运行 /init 命令,会自动为你生成一个 CLAUDE.md。

新手用户,可能会误输入指令,导致本地文件被删以及更多系统bug,不过不用担心。

Claude Code默认会请求任何可能修改系统的操作的权限,比如说文件写入、bash 命令、MCP工具等等。

有四种方法可以管理允许的工具:

  • 在会话期间出现提示时, 选择“始终允许” 。
  • 使用/permissions指令启动Claude Code后,可以添加或移除允许列表中的工具。

你可以在里面添加允许的操作,比如添加 Edit 以始终允许文件编辑。

你也可以在Deny里面添加被拒绝执行的命令。

并且你还可以添加多个空间。

Claude Code中配置MCP工具

Claude Code默认通过CLI向导(claude mcp add)来配置MCP工具.

代码语言:javascript
复制
claude mcp add <server-name> -s user -- <command> [args...]

部分SSE服务的,添加方法如下:

代码语言:javascript
复制
# 基础  
claude mcp add --transport sse <名称> <URL>

# 添加SSE服务器  
claude mcp add --transport sse sse-server https://example.com/sse-endpoint

# 添加带自定义请求头的SSE服务器  
claude mcp add --transport sse api-server https://api.example.com/mcp -e X-API-Key=your-key

使用命令行可进行MCP的管理。

代码语言:javascript
复制
# List all configured servers
claude mcp list

# Get details for a specific server
claude mcp get my-server

# Remove a server
claude mcp remove my-server

Claude Code 的应用场景

Claude Code 的应用范围非常广泛,几乎涵盖了软件开发的全周期。

项目探索与上手 (Exploration)

当你加入一个新团队或接触一个开源项目时,往往需要花费大量时间熟悉代码,Claude Code 可以极大缩短这个过程。

你可以直接问它:

这个产品功能是在哪里实现的?

或者

通过 Git 历史,告诉我这段代码在过去几周发生了哪些变化?

成为你的伙伴 (Thought Partner)

在动手编码前,你可以让 Claude Code 扮演大军师的角色。

你可以说:

我准备改造AI-Media2Doc功能,请你先研究一下代码库,为我提供两到三种不同的实现方案,并分析优劣。暂时不要写任何代码。

Claude 会利用其智能体式搜索能力,为你提供决策参考。

高效构建与编码 (Building & Coding)

从零到一:

你可以把它放进一个空目录,让它为你创建一个全新的应用或游戏。

在现有代码库中工作:

它能极大地提升日常开发效率,例如,为现有代码快速添加单元测试。在 Claude Code 团队内部,我们的单元测试覆盖率非常高,这很大程度上归功于此。此外,我们还可以让它自动生成高质量的 Git 提交信息和 PR 描述。

部署与运维 (Deployment & Lifecycle)

通过 Claude Code SDK,你可以“无头模式”(Headless Mode)以编程方式使用它,将其集成到 CI/CD 流程或 GitHub Actions 中,实现自动化工作流。

支持与规模化 (Support & Scaling)

帮助你更快地定位和修复 Bug。

许多团队因为技术债而推迟了大型重构项目(如旧版 Java 升级、PHP 迁移到 React)。Claude Code 这样的工具,使得这类原本望而生畏的项目变得更具可行性。

它精通各类命令行工具,如 Git、Docker、BigQuery 等。当你遇到棘手的 git rebase 冲突时,不必再头痛,直接启动 Claude Code,告诉它情况,让它帮你解决。

最佳实践与高级技巧

基础最佳实践

首先善用 claude.md 文件

这是在不同会话或团队成员间共享状态和指令的核心方式,相当于 Claude 的“长期记忆”。当 Claude 启动时,它会自动读取当前工作目录下的 claude.md 文件,并将其内容作为核心指令。

你可以在里面存放项目特定的信息,如“如何运行单元测试”、“项目目录结构概览”、“团队代码风格指南”等。

你也可以在你的用户主目录(Home Directory)下放置一个全局的 claude.md 来存放通用指令。

智能管理权限

默认情况下,写文件或执行命令需要手动确认。你可以使用“自动接受模式”(快捷键 Shift + Tab)让 Claude 直接执行。

你可以在设置中将某些常用且安全的命令(如 npm run test)配置为始终自动批准,从而减少不必要的中断。

优化集成设置

如果你使用的工具有命令行版本(如 GitHub 的 gh),请务必安装它。这能让 Claude 更方便地与外部服务交互。

如果你的公司有内部命令行工具,记得在 claude.md 文件里告诉 Claude 它的存在和用法。

有效管理上下文

模型拥有 20 万 token 的超大上下文窗口,但在长时间的会话中仍有可能被填满。

当右下角出现上下文即将用尽的警告时,你有两个选择:

/clear:清空当前会话,重新开始。

/compact:它会启动一个内部提示,让模型将当前会话的所有工作总结成一份摘要,然后用这份摘要作为新会话的“种子”,让你无缝地继续工作。

构建高效工作流

先计划,后执行:

不要直接命令“修复这个bug”,而是说:

我遇到了这个bug,请先调查原因,然后给我一个修复计划。

这样你可以在它动手前验证其思路是否正确。

利用待办事项 (To-Do List):在处理复杂任务时,Claude 会生成一个待办事项列表。你可以观察这个列表,如果发现方向不对,可以随时按 Escape 键打断它,并调整计划。

拥抱测试驱动开发 (TDD):让 Claude 进行小范围修改、运行测试、检查代码规范、然后提交。这种小步快跑的方式能确保项目不会偏离轨道。

利用多模态能力:你可以随时粘贴截图,或者让 Claude 读取图片文件(如 mock.png),并根据视觉设计来构建界面。

高级技巧

当你熟练后,可以尝试在 Tmux 或多个终端标签页中同时运行多个 Claude 智能体,让它们并行处理不同任务。

这是一个有趣的挑战,比如我就可以开3个终端同时并行运行。

Escape 键

单击 Escape,随时用它来打断 Claude 的当前操作,并给出新的指示。知道何时打断,是最大化效率的关键。

双击 Escape,双击可以让你撤销到上一次对话,相当于一次“重置”。

无头模式与自动化,探索如何通过编程方式(SDK)在各种场景(如 GitHub Actions)中使用 Claude,将 AI 智能体的能力“撒”向开发工作流的每一个角落。

新功能速览与问答

Claude发布新功能的速度非常快。

你现在可以在 Claude 中输入 /model 来查看并切换当前使用的模型(如从 Sonnet 切换到 Opus)。

工具调用间的思考过程,从 Claude 3(Opus)开始,模型可以在两次工具调用之间进行“思考”。你会看到用浅灰色文本显示的思考过程,这对于理解其决策路径和调试非常有帮助。

Claude Code与 VS Code 和 JetBrains 的集成为你带来更流畅的体验。

其实现在就可以在VS Code里面直接使用了,用起来崽爽。

现场问答 (Q&A)

问:一个项目里可以有多个 claude.md 文件吗?

答: 在同一个目录下不行。

Claude 启动时只读取当前工作目录下的 claude.md。为避免在单一代码库(Monorepo)中上下文爆炸,它不会默认读取子目录的 claude.md。

但你可以在主 claude.md 中用 @ 符号引用其他文件,或者在启动 Claude 时,鼓励它去搜索并阅读相关子目录中的 claude.md。

问:我让 Claude 遵守 claude.md 里的指令(比如不留注释),但它不听怎么办?

答: 这是一个典型的模型行为问题,尤其在旧模型上更常见。好消息是,新一代模型(如 Opus)在遵循指令方面的能力已大幅提升。

问:可以实现多智能体并行执行,并让它们共享上下文吗?

答: 目前我们的理念是专注于打造一个极度强大的单一智能体。对于多智能体协作,今天的最佳实践是通过文件进行状态同步。你可以让一个智能体将其中间结果或状态写入一个共享文件(如 ticket.md),然后让另一个智能体去读取这个文件,从而实现间接的协作。未来我们可能会探索更原生的多智能体协作功能。

参考:

1、Claude Code:代理编码的最佳实践

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIGC新知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Claude Code 是什么?
  • 深入理解:Claude Code 的工作原理
    • 核心: AI 智能体
    • 独特的代码理解方式
    • 完善的辅助系统
  • Claude Code 使用入门
    • 为什么CLAUDE.md这么重要?
    • Claude Code中配置MCP工具
  • Claude Code 的应用场景
    • 项目探索与上手 (Exploration)
    • 成为你的伙伴 (Thought Partner)
    • 高效构建与编码 (Building & Coding)
      • 从零到一:
      • 在现有代码库中工作:
    • 部署与运维 (Deployment & Lifecycle)
    • 支持与规模化 (Support & Scaling)
  • 最佳实践与高级技巧
    • 基础最佳实践
      • 首先善用 claude.md 文件
      • 智能管理权限
      • 优化集成设置
      • 有效管理上下文
      • 构建高效工作流
    • 高级技巧
      • Escape 键
  • 新功能速览与问答
  • 现场问答 (Q&A)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档