Claude Code 安装与配置
安装 Claude Code
系统需要满足以下最低要求:
操作系统:Linux (Ubuntu 18.04+, CentOS 7+) macOS 10.15+, Windows 10+
网络连接:稳定的互联网连接
存储空间:至少 500MB 可用磁盘空间
安装Node.js
在开始安装前,请先检查您的 Node.js 版本:
node --version
npm --version
安装Git
在开始安装前,请先检查您的 git 版本:
git --version
- Linux /macOS 安装
- Windows 安装
手动配置 环境变量
ANTHROPIC_AUTH_TOKEN sk-
ANTHROPIC_BASE_URL https://api.qnaigc.com
ANTHROPIC_MODEL glm-4.5-air
一、基础操作:命令与配置是起点
- 吃透帮助命令,解锁所有可能
想快速上手?从
claude --help 开始。这个命令会列出所有可用参数和命令,比如 -p 用于非交互式输出、 -c 继续最近的对话、 --model 指定模型等。记住常用参数能让操作效率翻倍,比如用 claude -r 恢复历史会话,或 --output-format json 导出结构化结果。命令 | 解释 | 使用场景 |
/clear | 清空上下文 | 如果需要重新开始,或者是感觉 AI 已经无法解决问题 |
/compact | 压缩对话 | 重开对话,但是不希望丢掉之前的记忆 |
/cost | 花费 | max 不需要看,API 用户可以看到 |
/logout /login | 登录登出 | 切换账号等操作 |
/model | 切换模型 | 200 刀可以切换使用 opus 模型 100 刀没有选择 |
/status | 状态 | 查看当前 CC 的状态 |
/doctor | 检测 | 检测 CC 的安装状态 |

- 与 IDE 无缝衔接,编码不切换窗口
在 VS Code、Cursor等 IDE 中使用 Claude Code,只需两步:
- 安装插件 :搜索 “Claude Code”,认准 Anthropic 官方版本,点击安装即可。
- 快速启动:用快捷键Cmd+Escape(可自定义)唤醒,或点击 IDE 界面中的 Claude Code 图标,右侧会直接显示工作区,支持选中代码自动传入上下文、diff 对比代码修改,甚至用Alt+Cmd+K一键推送选中内容到提示框。
二、核心模式:按场景切换,效率拉满
- 自动编辑模式:免确认批量操作
适合无需逐次确认的文件创建、修改场景。按下Shift+Tab一次即可开启,此时 Claude 会自动执行编辑操作,无需手动确认。比如提示 “创建一个酷炫的 todolist 应用”,它会直接生成文件并修改,省去反复确认的时间。

- Plan 模式:前期规划神器
面对项目搭建或复杂问题时,用Shift+Tab两次开启 Plan 模式。它会先梳理方案框架,比如要做 “像素风格的移动端 todolist”,会自动规划技术栈、页面结构、适配方案等,确认后再动手。若不满意可直接说 “重新规划”,直到符合预期。

- Yolo 模式:全权限放手干
重构代码、启动新项目或修复复杂 bug 时,用
claude --dangerously-skip-permissions进入 Yolo 模式。此时 Claude 拥有更高权限,可直接执行更多操作(需注意安全,建议在沙箱环境使用)。进入后仍能用 Shift + Tab 调整模式,灵活切换权限粒度。三、CLAUDE.md:全局记忆的核心
和聊天机器人交流时,我们知道 “系统提示词” 很重要,会持续影响 AI 的行为。那么 CC 中, CLAUDE.md 也是类似的地位。一个典型的工作流是:
可以看到 CLAUDE.md 就是一个持续发挥作用的全局变量。而且 CC 往里写入时一般做了充分的缩略,所以可读性很好。
CLAUDE.md 注意事项
- 文件不要太长,毕竟 CC 会默认读入这个文件
- 会话时为了省事,说 claude.md 时 CC 也可以懂
- 文件里适合放提醒事项,比如 “要求 CC 每次宣布成功时都要带上证据文件链接”,以及 “代理服务端口是 9890” 。然后会话时,可以要求 CC “查询 claude.md 相关部分”。
- 官方的 "#" 进文档据 GPT 说有个 bug 不稳定。


四、会话管理:避免失控,高效推进
- 随时暂停与回滚
- 工作中按Esc可暂停当前操作,比如发现 Claude 安装依赖超时、思路跑偏时,及时中断能减少无效操作。
- 按Esc两次可回退到历史对话节点(注意无 redo 功能,回退前确认)。
- 代码不满意?直接说 “回滚到上次的代码”,Claude 会自动恢复之前版本。
- 应对历史溢出
当会话提示 “Context left until auto-compact: 3%”,说明历史记录快满了。此时会自动触发压缩(约 150 秒),也可手动用/compact命令续命,避免对话中断。

- 恢复与查看历史
- 用
claude -c直接进入上次对话;
- 用
claude -r选择历史会话恢复,适合中途退出后继续工作。


五、资源监控与批量任务:把控节奏不浪费
- 实时监控 token 用量
想知道每天 / 每小时消耗多少资源?运行
npx ccusage@latest查看按天用量,或npx ccusage blocks --live实时监控消耗速度。若速度过快,可手动处理 git commit 等费 token 的操作,避免超额。
- 批量任务高效处理
需要执行几十个重复任务(比如批量生成文档章节)用脚本式用法:
- 把任务按行写入TASK.md(一行一个任务);
- 运行命令:
catTASK.md| while IFS= read -r line; do echo $line; claude -p "$line" --debug; done
可加timeout防止单个任务卡死,同时用
--allowedTools "Edit"限制权限,避免意外操作。注意不要并发执行,否则可能触发限额封禁。六、避坑与进阶:让 Claude 更 “听话”
- 给足自由,也要做好防护
- 开启auto-accept edits(Shift+Tab切换)让 Claude 自动编辑文件,配合 git 版本控制,不怕误操作。
- 执行 Bash 命令时,用 Docker 隔离环境,或用 btrfs 文件系统做快照,既能放开权限,又能快速回滚。
- 避免在会话目录存放 ssh key 等敏感信息,防止跨机操作风险。
- 严防 “虚假成果”
Claude 偶尔会 “吹牛”,比如未完成测试就宣称成功。可在CLAUDE.md中加入规则:“每次宣称成功必须附证据文件链接”,并定期反问:“真的完成了?有证据吗?” 发现问题及时让其修正。
掌握这些技巧,能让 Claude Code 从 “工具” 变成“高效搭档”,无论是日常编码、项目管理还是批量处理,都能大幅提升效率。记住:核心是按需切换模式、用好全局记忆,再加上适当的监控和防护,就能发挥它的最大价值。
Claude Code最佳实践
前言
Claude Code ,一个用于智能体编程的命令行工具。 作为一个内部实验性项目,Claude Code为Anthropic的工程师和研究人员提供了一种更原生的方式来将Claude集成到他们的编程工作流程中。
Claude Code被有意设计为 low-level(低级别) 且 unopinionated(无特定偏好) ,提供接近原始模型的访问权限,而不强制使用特定的工作流程。 这种设计哲学创造了一个灵活、可定制、可脚本化且安全的强大工具。 虽然功能强大,但这种灵活性为初次接触智能体编程工具的工程师带来了学习曲线 —— 至少直到他们形成自己的最佳实践。
本文档概述了已被证明有效的通用模式,无论是对于Anthropic的内部团队,还是对于在各种代码库、语言和环境中使用Claude Code的外部工程师。 此列表中的内容都不是一成不变的,也不普遍适用;请将这些建议视为起点。我们鼓励您进行实验,找到最适合您的方法!
寻找更详细的信息?我们在 claude.ai/code 的综合文档 涵盖了本文提到的所有功能,并提供了额外的示例、实现细节和高级技术。
一、自定义您的设置
Claude Code是一个智能体编程助手,会自动将上下文拉入提示中。这种上下文收集会消耗时间和令牌,但您可以通过环境调优来优化它。
1 创建CLAUDE.md文件
CLAUDE.md是一个特殊文件,Claude在开始对话时会自动将其拉入上下文。这使其成为记录以下内容的理想场所:
- 常用bash命令
- 核心文件和实用函数
- 代码风格指南
- 测试说明
- 代码库规范(例如,分支命名、合并与变基等)
- 开发环境设置(例如,pyenv使用、哪些编译器有效)
- 项目特有的任何意外行为或警告
- 您希望Claude记住的其他信息
CLAUDE.md文件没有要求的格式。我们建议保持简洁且人类可读。例如:
您可以将CLAUDE.md文件放置在几个位置:
- 代码库的根目录,或您运行claude的任何地方(最常见的用法)。将其命名为CLAUDE.md并将其检入git,这样您就可以在会话间和团队成员间共享(推荐),或将其命名为CLAUDE.local.md并将其添加到.gitignore中
- 您运行claude的目录的任何父目录。这对于monorepo最有用,您可能从root/foo运行claude,并在root/CLAUDE.md和root/foo/CLAUDE.md中都有CLAUDE.md文件。这两个文件都会自动拉入上下文
- 您运行claude的目录的任何子目录。这与上述相反,在这种情况下,当您处理子目录中的文件时,Claude会按需拉入CLAUDE.md文件
- 您的主文件夹(~/.claude/CLAUDE.md),这会将其应用到所有您的claude会话
当您运行/init命令时,Claude会自动为您生成一个CLAUDE.md文件。
2 调优您的CLAUDE.md文件
您的CLAUDE.md文件会成为Claude提示的一部分,因此应该像任何经常使用的提示一样进行精心完善。一个常见的错误是添加大量内容而不迭代其有效性。请花时间实验并确定什么能产生模型最佳的指令遵循效果。
您可以手动向CLAUDE.md添加内容,或按#键给Claude一个指令,它会自动将其纳入相关的CLAUDE.md中。许多工程师在编码时频繁使用#来记录命令、文件和风格指南,然后在提交中包含CLAUDE.md的更改,以便团队成员也能受益。
在Anthropic,我们偶尔会通过提示词改进器运行CLAUDE.md文件,并经常调优指令(例如,添加"重要"或"您必须"的强调)以提高遵循度。
使用 # 来创建 claude.md

规则会累加



3 管理Claude的允许工具列表
默认情况下,Claude Code会为任何可能修改您系统的操作请求权限:文件写入、许多bash命令、MCP工具等。我们有意采用这种保守的方法设计Claude Code,以优先考虑安全性。您可以自定义允许列表,许可您知道安全的额外工具,或允许容易撤销的潜在不安全工具(例如,文件编辑、git commit)。
有四种方式管理允许的工具:
- 当在会话期间出现提示时选择"始终允许"。
- 在启动Claude Code后使用 /permissions 命令向允许列表添加或移除工具。例如,您可以添加Edit以始终允许文件编辑,Bash(git commit:*)以允许git提交,或mcp__puppeteer__puppeteer_navigate以允许使用Puppeteer MCP服务器导航。
- 手动编辑您的.claude/settings.json或~/.claude.json(我们建议将前者检入源代码控制以与团队分享)。
- 使用 --allowedTools CLI标志进行会话特定的权限设置。


4 如果使用GitHub,安装gh CLI
Claude知道如何使用gh CLI与GitHub交互,用于创建问题、打开Pull Request、读取评论等。没有安装gh时,Claude仍然可以使用GitHub API或MCP服务器(如果您已安装)。
CC提示词:帮我安装gh CLI,之后重启CC终端,然后执行gh --version
或者执行命令安装:winget install --id GitHub.cli
gh登录授权:gh auth login 获取github token
二、为Claude提供更多工具
Claude可以访问您的shell环境,您可以在其中为它构建便利脚本和函数集合,就像您日常开发时自己会为自己做的那样。
它还可以通过MCP和REST API利用更复杂的工具。
1 与bash工具一起使用Claude
Claude Code继承了您的bash环境,让它可以访问您的所有工具。
虽然Claude了解常见实用程序如unix工具和gh,但它不会在没有指令的情况下了解您的自定义bash工具:
- 告诉Claude工具名称和使用示例
- 告诉Claude运行 --help 来查看工具文档
- 在CLAUDE.md中记录常用工具
2 与MCP一起使用Claude
Claude Code既是MCP服务器又是客户端。作为客户端,它可以连接到任意数量的MCP服务器以通过三种方式访问它们的工具:
- 在项目配置中(在该目录中运行Claude Code时可用)
- 在全局配置中(在所有项目中可用)
- 在检入的.mcp.json文件中(对在您代码库中工作的任何人都可用)。例如,您可以将Puppeteer和Sentry服务器添加到您的.mcp.json中,这样在您代码库工作的每个工程师都可以开箱即用地使用这些。
使用MCP时,使用claude --mcp-debug标志启动Claude也会有帮助,以帮助识别配置问题。
管理您的服务器
配置完成后,您可以使用以下命令管理您的 MCP 服务器:
示例:使用 Sentry 监控错误
与远程 MCP 服务器进行身份验证
许多基于云的 MCP 服务器需要身份验证。Claude Code 支持 OAuth 2.0 进行安全连接。
1添加需要身份验证的服务器
例如:
2在 Claude Code 中使用 /mcp 命令
在 Claude Code 中,使用命令:
然后按照浏览器中的步骤登录。
将 Claude Code 用作 MCP 服务器
您可以将 Claude Code 本身用作其他应用程序可以连接的 MCP 服务器:
您可以通过将此配置添加到 claude_desktop_config.json 在 Claude Desktop 中使用此功能:
3 使用自定义斜杠命令
创建项目提示词:在当前工作空间创建一个超级马里奥html5小游戏项目,项目名为英文,创建完成后使用gh命令推送到github
提issue提示词: 给当前目录下cc-project项目提一个issue,要求用中文,使用gh命令
对于重复的工作流程 —— 调试循环、日志分析等 —— 将提示模板存储在.claude/commands文件夹内的Markdown文件中。当您输入/时,这些会通过斜杠命令菜单变得可用。您可以将这些命令检入git,使其对团队的其他成员可用。
自定义斜杠命令可以包含特殊关键字$ARGUMENTS来从命令调用传递参数。
例如,这里是一个可以用来自动拉取和修复Github问题的斜杠命令:
将上述内容放入.claude/commands/fix-github-issue.md中,使其在Claude Code中作为/project:fix-github-issue命令可用。然后您可以使用/project:fix-github-issue 1234来让Claude修复问题#1234。类似地,您可以将自己的个人命令添加到 ~/.claude/commands文件夹中,以便在所有会话中使用。
三、尝试常见工作流程
Claude Code不强制特定的工作流程,为您提供了按照自己的方式使用它的灵活性。 在这种灵活性提供的空间内,我们的用户社区中已经出现了几种有效使用Claude Code的成功模式:
1 探索、规划、编码、提交
这种多功能工作流程适合许多问题:
- 要求Claude阅读相关文件、图像或URL ,提供一般指引("阅读处理日志记录的文件")或具体文件名("阅读logging.py"),但明确告诉它暂时不要编写任何代码。
这是工作流程中应该考虑大量使用子智能体的部分,特别是对于复杂问题。告诉Claude使用子智能体来验证细节或调查它可能有的特定问题,特别是在对话或任务的早期,往往能在不损失效率的情况下保持上下文可用性。
- 要求Claude制定解决特定问题的计划 。我们建议使用"think"一词来触发扩展思维模式,这为Claude提供额外的计算时间来更彻底地评估替代方案。这些特定短语直接映射到系统中递增的思维预算级别:"think" < "think hard" < "think harder" < "ultrathink"。每个级别为Claude分配越来越多的思维预算。
如果这一步的结果看起来合理,您可以让Claude创建一个文档或GitHub问题,记录其计划,这样如果实施(第3步)不是您想要的,您可以重置到这个位置。
- 要求Claude在代码中实施其解决方案 。这也是一个可以要求它在实施解决方案的各个部分时明确验证其解决方案的合理性的好地方。
- 要求Claude提交结果并创建拉取请求 。如果有需要,这也是让Claude更新任何README或变更日志以说明它刚才所做工作的好时机。
第1-2步至关重要 —— 没有它们,Claude倾向于直接跳到编码解决方案。虽然有时这正是您想要的,但要求Claude首先进行研究和规划显著改善了需要深度前期思考的问题的性能。
2 编写测试,提交;编码,迭代,提交
这是Anthropic最喜欢的工作流程,用于可以通过单元测试、集成测试或端到端测试轻松验证的更改。测试驱动开发(TDD)在智能体编程中变得更加强大:
- 要求Claude基于预期的输入/输出对编写测试 。明确说明您正在进行测试驱动开发,这样它就会避免创建mock实现,即使对于代码库中尚不存在的功能也是如此。
- 告诉Claude运行测试并确认它们失败 。明确告诉它在这个阶段不要编写任何实现代码通常是有帮助的。
- 要求Claude在您满意时把测试提交到git 。
- 要求Claude编写通过测试的代码 ,指示它不要修改测试。告诉Claude继续直到所有测试通过。Claude通常需要几次迭代来编写代码、运行测试、调整代码并再次运行测试。
在这个阶段,可以要求它使用独立的子智能体验证实现没有过度拟合测试
- 在您满意更改后要求Claude提交代码到git 。
Claude在有明确目标进行迭代时表现最佳 —— 有视觉设计图、测试用例或其他类型的输出。通过提供像测试用例这样的预期输出,Claude可以进行更改、评估结果,并逐步改进直到成功。
3 编写代码,截图结果,迭代
与测试工作流程类似,您可以为Claude提供视觉输入:
- 为Claude提供拍摄浏览器截图的方法 (例如,使用 Puppeteer MCP服务器 、 iOS模拟器MCP服务器 ,或手动复制/粘贴截图到Claude中)。
- 通过复制/粘贴或拖放图像为Claude提供视觉输入 ,或给Claude图像文件路径。
- 要求Claude在代码中实现设计 ,拍摄结果截图,并迭代直到其结果与模拟匹配。
- 在您满意时要求Claude提交 。
像人类一样,Claude的输出通过迭代往往会显著改善。虽然第一版可能很好,但经过2-3次迭代后通常看起来会好得多。为Claude提供查看其输出的工具以获得最佳结果。
4 安全YOLO模式
您可以使用
claude --dangerously-skip-permissions 绕过所有权限检查,让Claude不受干扰地工作直到完成。 这对修复代码检查错误或生成样板代码等工作流程效果很好。让Claude运行任意命令是有风险的,可能导致数据丢失、系统损坏,甚至数据泄露(例如,通过提示注入攻击)。为了最小化这些风险,请在没有互联网访问的容器中使用
--dangerously-skip-permissions 。您可以遵循这个使用Docker Dev Containers的 参考实现 。5 代码库问答
在接触新代码库时,使用Claude Code进行学习和探索。您可以向Claude提出与其他项目工程师进行结对编程时相同类型的问题。Claude可以智能地搜索代码库来回答一般性问题,例如:
在Anthropic,以这种方式使用Claude Code已经成为我们核心的入职工作流程,显著改善了入门时间并减少了对其他工程师的负担。无需特殊提示!只需提问,Claude就会探索代码来找到答案。
6 使用Claude与git交互
Claude可以有效处理许多git操作。许多Anthropic工程师使用Claude进行90%以上的 git 交互:
● 搜索 git 历史 来回答诸如"v1.2.3中包含了哪些更改?"、"谁拥有这个特定功能?"或"为什么这个API被设计成这样?"等问题。 明确提示Claude查看git历史来回答此类查询会有帮助。
● 编写提交消息 。Claude会自动查看您的更改和最近的历史,以考虑所有相关上下文来编写消息
● 处理复杂的git操作 ,如恢复文件、解决变基冲突以及比较和移植补丁
7 使用Claude与GitHub交互
Claude Code可以管理许多GitHub交互:
● 创建拉取请求 :Claude理解"pr"简写,并将根据差异和周围上下文生成适当的提交消息。
● 实施简单代码审查评论的一次性解决方案 :只需告诉它修复PR上的评论(或者也可以给它更具体的指令),完成后推送回PR分支。
● 修复失败的构建 或代码检查警告
● 分类和整理Open的Issues ,要求Claude循环遍历开放的GitHub Issues
这让开发者无需记忆如何使用 gh 命令行,也能自动化进行常规任务。
8 使用Claude处理Jupyter笔记本
Anthropic的研究人员和数据科学家使用Claude Code来读取和编写Jupyter笔记本。Claude可以解释输出(包括图像),并提供探索和与数据交互的快速方式。 这里没有固定的提示词或工作流程,但我们推荐的工作流程是在VS Code中并排打开Claude Code和.ipynb 文件。
在向同事展示之前,您还可以要求Claude清理或对Jupyter笔记本进行美学改进。 具体地要求它“把笔记本或数据可视化变"美观"”,往往能有助于提醒它正在为人类观看体验进行优化。
四、优化您的工作流程
以下建议适用于所有工作流程:
1 在指令中要具体
Claude Code的成功率随着更具体的指令而显著提高,特别是在首次尝试时。预先给出明确的方向减少了后续需要修正方向的必要。
例如:
差 | 好 |
为foo.py添加测试 | 为foo.py编写新的测试用例,覆盖用户已注销的边缘情况。避免使用模拟 |
为什么ExecutionFactory有这么奇怪的api? | 查看ExecutionFactory的git历史并总结其api是如何形成的 |
添加日历小部件 | 查看首页上现有小部件的实现方式,了解模式以及代码和接口如何分离。HotDogWidget.php是一个很好的开始示例。然后,遵循模式实现一个新的日历小部件,让用户选择月份并向前/向后翻页选择年份。从头构建,不使用代码库中已使用的库之外的其他库。 |
Claude可以推断意图,但它不会读心术。“具体的指令”能够帮助Claude更好地满足你的期望。
2 给Claude提供图像
可以通过以下方式给Claude添加图像:
● 粘贴截图 (专业提示:在macOS中按 cmd+ctrl+shift+4 截图到剪贴板,然后按 ctrl+v 粘贴。注意这不是通常在mac上用来粘贴的cmd+v,并且无法远程工作。)
● 拖放 图像直接到提示输入中
● 提供图像的文件路径
这在将设计图作为UI开发参考点以及用于分析和调试的可视化图表时特别有用。 如果您不向上下文中添加视觉内容,您仍然可以明确告诉Claude视觉吸引力的重要性,这也会有帮助。
3 提及您希望Claude查看或处理的文件
使用tab补全快速引用代码库中任何地方的文件或文件夹,帮助Claude找到或更新正确的资源。
4 给Claude提供网址
在提示中粘贴特定的网址供Claude获取和阅读。为了避免对相同域名(例如docs.foo.com)的权限提示,使用
/permissions 将域名添加到您的允许列表中。5 尽早且经常地修正方向
虽然自动接受模式(shift+tab切换)让Claude自主工作,但通过成为积极的协作者并指导Claude的方法,您通常会得到更好的结果。您可以通过在开始时向Claude彻底解释任务来获得最佳结果,但您也可以随时纠正Claude的方向。
这四个工具有助于修正方向:
● 要求Claude在编码前制定计划 。明确告诉它在您确认其计划看起来不错之前不要编码。
● 按Escape中断 Claude在任何阶段(思考、工具调用、文件编辑),保留上下文以便您可以纠偏或扩展指令。
● 双击Escape跳回历史 ,编辑之前的提示词,并探索不同的方向。您可以编辑提示词并重复直到获得您要寻找的结果。
● 要求Claude撤销更改 ,通常与选项#2结合使用以采取不同的方法。
虽然Claude Code偶尔会在第一次尝试时完美解决问题,但使用这些修正工具通常能更快地产生更好的解决方案。
6 使用 /clear 保持上下文聚焦
在长时间会话期间,Claude的上下文窗口可能会充满不相关的对话、文件内容和命令。这可能会降低性能,有时会分散Claude的注意力。在任务间频繁使用 /clear 命令来重置上下文窗口。
7 为复杂工作流程使用检查清单和草稿板
对于具有多个步骤或需要详尽解决方案的大型任务 —— 如代码迁移、修复大量代码检查错误或运行复杂构建脚本 —— 通过让Claude使用Markdown文件(或甚至GitHub Issue功能)作为检查清单和工作草稿板来提高性能:
例如,要修复大量代码检查问题,您可以执行以下操作:
- 告诉Claude运行代码检查命令 并将所有结果错误(包括文件名和行号)写入Markdown检查清单
- 指示Claude逐一解决每个问题 ,修复并验证后勾选并移至下一个
8 向Claude传递数据
向Claude提供数据有几种方法:
● 复制和粘贴 直接到您的提示中(最常见的方法)
● 管道输入到Claude Code (例如, cat foo.txt | claude ),特别适用于日志、CSV和大数据
● 告诉Claude通过bash命令、MCP工具或自定义斜杠命令拉取数据
● 要求Claude读取文件 或获取URLs(也适用于图像)
大多数时候会组合使用这些方法。例如,您可以管道输入日志文件,然后告诉Claude使用工具拉取额外上下文来调试日志。
五、使用无头模式自动化您的基础设施
Claude Code包含 ,可用于CI、预提交钩子、构建脚本和自动化等非交互式上下文。 使用
-p 标志与提示词来启用无头模式,并使用 --output-format stream-json 进行流式JSON输出。注意无头模式不在会话间持续。您必须每次会话都触发它。
Claude Code的 -p 参数是无头模式(非交互模式),用法如下:
基本语法:
claude -p "你的提示内容"
主要特点:
- 直接执行查询后退出,不进入交互模式
- 支持多种输出格式:text、json、stream-json
- 可以通过管道接收输入
常用示例:
# 直接提问
claude -p "解释这个函数的功能"
# JSON格式输出
claude -p "分析代码,使用中文输出" --output-format json
claude -p "分析代码,使用中文输出" --output-format stream-json --verbose
# 通过管道传入文件内容
cat file.js | claude -p "优化这段代码"
# 结合其他参数
claude -p "查询内容" --max-turns 1
这种模式特别适合脚本自动化和CI/CD流程中使用。
1 使用Claude进行问题分类
无头模式可以支持由GitHub事件触发的自动化,例如在您的代码库中创建新问题时。例如,公共 Claude Code代码库 使用Claude检查传入的新问题并分配适当的标签。
2 使用Claude作为代码检查器
Claude Code可以提供超出传统代码检查工具检测范围的 主观代码审查 ,识别诸如拼写错误、过时注释、误导性函数或变量名等问题。
六、通过“多Claude协作”工作流来更进一步
除了独立使用外,一些最强大的应用涉及并行运行多个Claude实例:
1 让一个Claude编写代码;使用另一个Claude进行验证
一种简单但有效的方法是让一个Claude编写代码,而另一个审查或测试它。与多个工程师合作类似,有时拥有独立的上下文是有益的:
- 使用Claude编写代码
- 运行 /clear 或在另一个终端中启动第二个Claude
- 让第二个Claude审查第一个Claude的工作
- 启动另一个Claude(或再次 /clear )来阅读代码和审查反馈
- 让这个Claude根据反馈编辑代码
您可以对测试做类似的事情:让一个Claude编写测试,然后让另一个Claude编写通过测试的代码。您甚至可以让Claude实例通过给它们单独的工作草稿板并告诉它们写入哪一个和从哪一个读取来彼此通信。
这种分离通常比让单个Claude处理所有事情产生更好的结果。
2 拥有代码库的多个checkout
与等待Claude完成每个步骤不同,Anthropic的许多工程师所做的是:
- 在单独的文件夹中 创建3-4个git checkout
- 在单独的终端标签中打开每个文件夹
- 在每个文件夹中启动Claude 执行不同的任务
- 轮流检查各个Claude进度 并批准/拒绝权限请求
3 使用git工作树
这种方法在多个独立任务中表现出色,为多个检出提供了轻量级的替代方案。Git工作树允许您从同一代码库将多个分支检出到单独的目录中。每个工作树都有自己的工作目录和隔离的文件,同时共享相同的Git历史和reflog。
使用git工作树使您能够在项目的不同部分同时运行多个Claude会话,每个都专注于自己的独立任务。例如,您可能让一个Claude重构您的身份验证系统,而另一个构建完全不相关的数据可视化组件。由于任务不重叠,每个Claude都可以全速工作,无需等待其他的更改或处理合并冲突:
1 创建工作树 :
git worktree add ../project-feature-a feature-a2 在每个工作树中启动Claude :
cd../project-feature-a && claude3 根据需要创建额外的工作树 (在新终端标签中重复步骤1-2)
提示词:切换到dev分支,创建两个工作树:tree-a、tree-b,然后tree-a完成一个新增a.md文件的任务,tree-b完成一个新增 b.md文件的任务,之后将这两个工作树推送到github
一些提示:
● 使用一致的命名约定
● 为每个工作树维护一个终端标签
● 如果您在Mac上使用iTerm2, 设置通知 以便在Claude需要注意时收到提醒
● 为不同的工作树使用单独的IDE窗口
● 完成后清理: g
it worktree remove ../project-feature-aGit 工作树 案例
另一个窗口
4 使用自定义工具的无头模式
claude -p (无头模式)将Claude Code以编程方式集成到更大的工作流程中,同时利用其内置工具和系统提示。使用无头模式有两种主要模式:
- 扇出: 处理大型迁移或分析(例如,分析数百个日志中的情感或分析数千个CSV):
1 让Claude编写脚本生成任务列表。例如,生成需要从框架A迁移到框架B的2k文件列表。
2 循环遍历任务,为每个任务以编程方式调用Claude,给它一个任务和一组可以使用的工具。例如: claude -p "将foo.py从React迁移到Vue。完成后,如果成功则必须返回字符串OK,如果任务失败则返回FAIL。" --allowedTools Edit Bash(git commit:\*)
3 运行脚本多次并完善您的提示以获得所需的结果。
- 管道: 将Claude集成到现有的数据/处理管道中:
1 调用 claude -p "<您的提示>" --json | your\_command ,其中 your\_command 是处理管道的下一步
2 就这样!JSON输出可以帮助提供结构以便更容易的自动化处理。
对于这两个用例,使用 \--verbose 标志调试Claude调用会很有帮助。我们通常建议在生产中关闭详细模式以获得更清洁的输出。
Claude Code企业级应用实战
前言
在 AI 技术日新月异的今天,开发者们正经历着一场前所未有的效率革命。面对日益复杂的开发需求和快速迭代的技术栈,借助 AI 工具提升开发效率已不再是选择题,而是必选项。
AI 编程之旅始于 GitHub Copilot 的早期版本。记得当时虽然惊艳于它 "自动补全" 的能力,但受限于上下文理解深度和代码质量,实际应用中常常是 "有点作用,但不多"。随后出现的 Cursor、Warp 等新一代 AI 编程工具虽然引起了我的关注,却因种种原因未能深入体验。
直到最近尝试 Claude Code,才真正体会到 AI 编程助手的巨大潜力。它不仅能够精准理解开发意图,更能提供符合工程规范的高质量代码建议,甚至在算法优化、代码重构等方面展现出令人惊喜的专业性。这种体验上的质变,让我意识到 AI 编程工具已经从简单的 "代码补全" 进化到了真正的 "智能协作" 阶段。
本次将分享企业级开发中使用 Claude Code 的深度体验,包括其核心优势、适用场景以及使用技巧,希望能为同样关注 AI 编程工具发展的开发者提供有价值的参考。
什么是 Claude Code
Claude Code 是 Anthropic 推出的本地化 AI 编程助手,专为开发者设计。它不是一个简单的代码补全工具,而是一个能理解你的项目、执行复杂任务、自动化开发流程的智能编程伙伴。
核心特点
技术搭档式协作
● 能读懂整个代码库结构,理解项目架构和业务逻辑
● 主动分析代码依赖关系,提供符合项目规范的代码建议
● 根据项目上下文智能推断开发意图,减少重复沟通
CLI 交互方式
● 通过自然语言描述需求(如 "修复这个 bug"、"重构这段代码")
● 支持复杂任务分解,自动执行多步骤操作
● 提供实时反馈,让开发过程透明可控
深度集成开发流程
● 不仅能写代码,还能管理 Git 版本控制
● 调用本地工具链,执行构建、测试等任务
● 根据你的代码习惯和项目规范优化输出
与其他 AI 编程工具的对比
特性 | Claude Code | GitHub Copilot | Cursor |
项目理解深度 | 能分析整个代码库,理解项目架构 | 主要关注当前文件上下文 | 有限的项目理解能力 |
自动化程度 | 可直接执行任务,端到端自动化 | 仅提供代码建议,需手动采纳 | 半自动化,需要更多人工介入 |
模型优化 | 原厂优化,稳定性高,响应快速 | 第三方集成,性能依赖网络 | 第三方集成,稳定性一般 |
本地化支持 | 完全本地化,数据安全性高 | 云端服务,有数据隐私顾虑 | 混合模式,部分功能依赖云端 |
适用人群
个人开发者
● 希望通过 AI 加速日常编码工作
● 需要深度项目理解和上下文感知
● 重视代码质量和开发效率的平衡
技术团队
● 期望自动化重复性任务(代码审查、文档生成、测试编写)
● 需要统一的代码规范和最佳实践
● 寻求提升团队整体开发效率的解决方案
技术管理者
● 寻求安全、本地化的 AI 编程方案
● 关注开发成本控制和效率提升
● 需要可度量的生产力提升工具
一句话总结 :Claude Code 是一个能真正 "动手" 帮你编程的 AI 助手,而不仅仅是给你建议。
快速开始
安装和配置 Claude Code 非常简单,详细步骤请参考官方文档:
实战案例分享
案例一:效率提升 3-5 倍的大型项目改造
项目背景
在一个实际的功能改造项目中,使用 Claude Code 完成了原本需要 3-5 天的工作量。这是一个典型的企业级应用改造案例,涉及前后端多个模块的协同修改。
项目规模详情 :
● 代码总量 :约 20 万行(中等规模代码库)
● 技术栈 :
○ 前端:React 19 + TypeScript + Ant Design
○ 后端:Spring Boot 3.0
○ 插件:基于微内核架构的业务插件系统
● 改造范围 :
○ 3 个前端子应用的 UI 组件升级
○ 后端 API 接口的版本迁移
○ 2 个核心业务插件的适配改造
● 传统预估工时 :3-5 人日
实施过程
- 需求分析阶段(10 分钟)
使用自然语言向 Claude Code 描述变更需求
AI 自动理解项目结构和依赖关系
- 代码修改阶段(4 小时)
● 自动完成 90% 的代码编写
● 实时提供 API 兼容性检查
● 智能识别潜在的破坏性变更
- 人工介入(2 小时)
● AI 只完成了 90% 的代码,人工介入改动剩下 10%,完善一些边缘案例
● 由于代码改动很多,代码审查大约花了一小时。
● 测试所有相关功能和改动点
项目成果
这次功能开发的具体成果:
代码变更统计 :
● 涉及文件:52 个
● 代码改动:约 800 行
效率提升分析 :






● AI 完成度 :90% 的代码由 AI 编写
● 人工介入 :仅需完善 10% 的边缘案例
● 开发时间 :4 小时完成全部编码
● 总体效率 :1 天完成原计划 3-5 天的工作量,效率提升 3-5 倍
添加自定义命令
案例二:会议中的高效编码
这是一个创新的工作模式,充分利用了 Claude Code 的异步处理能力。
场景描述
在一次长达 2 小时的产品规划会议中,我需要参加但不是主要发言者。传统情况下,这段时间的编码产出几乎为零。
实施方法
会议开始前(5 分钟):
1 准备好需要开发的功能清单
2 为每个功能编写简单的需求描述
3 设置好测试环境
会议进行中:
并行工作流程:
●Claude Code 在后台持续工作
●我专注于会议内容,记录关键决策
●每隔一段时间快速检查 AI 进度
●必要时提供方向性指导
成果展示
会议结束时的成果:
●完成了几个大块的 UI 调整,增强了搜索功能
●提交了 3 个 Git commits
这种方式实现了时间的最大化利用,将原本 "低产出" 的会议时间转化为高效的开发时间。
开会时
另一个开始制作demo,会议结束就可以展示
案例三:Playwright MCP增强Bug修复
通过安装 Playwright 等 MCP(Model Context Protocol)插件,Claude Code 的能力得到了显著增强。
场景描述
一个复杂的前端交互 Bug,涉及特定浏览器环境下的异步状态管理问题。传统调试方法需要反复修改代码、刷新页面、观察结果。
自动化修复流程
- 问题定位(自动化)
Claude Code 的执行
●运行 Playwright 尝试复现问题
●收集日志,分析错误原因
●尝试修复,并验证结果
●继续分析日志并迭代优化
●修复完成,提供错误报告
效率对比
传统方式 | Claude Code + Playwright |
手动复现:5 分钟 | 自动复现:5 分钟 |
尝试修复:2 小时 | 迭代修复:10 分钟 |
回归测试:5 分钟 | 自动测试:5 分钟 |
总耗时:2 小时 10 分钟 | 总耗时:20 分钟 |
案例四:快速理解和改造开源项目
项目背景
需要基于一个复杂的开源项目(约 5 万行代码)进行二次开发,添加特定功能。
实施步骤
- 安全扫描(10 分钟)
结果:未发现高危漏洞,该项目可以使用。
- 架构分析(10 分钟)
Claude Code 输出:
●可视化的架构图
●核心模块功能说明
●关键代码路径标注
●扩展点识别
- 功能开发(2 小时)
需求:添加备份还原功能,支持自动备份和手动备份的功能。
Claude Code 的实施:
●分析现有 UI 布局,找到合适的位置进行添加
●开始 绘制 UI,添加后端 API
●审查代码,优化代码
成果总结
通过 Claude Code,将原本需要好几天的学习和开发时间压缩到了 3 小时,并且保证了代码质量。
案例五:多任务并行开发
工作环境设置
硬件配置:
●双显示器或超宽显示器
●充足的内存(建议 32GB 以上)
软件配置:
●4 个独立的项目工作区
●每个工作区一个 Claude Code 实例
●统一的任务管理工具
并行任务示例
显示器 1 - 左上:前端功能开发
显示器 1 - 右上:后端 API 开发
显示器 1 - 左下:性能优化
显示器 1 - 右下:文档编写
工作流程
1任务分配(10 分钟)
a明确每个任务的目标和验收标准
b分配给不同的 Claude Code 实例
c设置任务优先级
2巡回检查(每 30 分钟)
a快速查看每个任务的进度
b处理 AI 遇到的决策点
c调整任务方向
3集成验证(任务完成后)
a合并各任务的代码
b运行集成测试
c处理冲突和依赖
产出效果
一个工作日(8 小时)的产出:
●完成 4 个中等复杂度的功能模块
●编写配套的测试用例
●更新所有相关文档
●相当于传统模式下好几天的工作量
11个技巧让Claude Code成功率翻倍
基于这段时间的使用,总结了以下可以提高 Claude Code 成功率的方法:
- 应对 AI 幻觉:果断重启
当发现 Claude Code 无论怎么修改都无法解决问题时,很可能是出现了 "幻觉"。AI 可能陷入了错误的解决思路,继续尝试只会浪费时间。
识别幻觉的信号:
●反复修改同一段代码但问题依旧
●给出的解决方案越来越复杂
●开始建议一些明显不合理的修改
正确的处理方法:
●立即停止当前对话(使用 /clear 命令)
●回滚到上一个稳定版本(git reset --hard)
●总结已尝试的错误方案,形成 "负面清单"
●重新开始,明确告知 AI 避免这些错误方向
示例:
- 版本控制是生命线
养成良好的版本管理习惯,这是使用 AI 编程工具的基础保障。
最佳实践:
●原子化提交:每完成一个小功能就提交
●有意义的提交信息:描述清楚做了什么改动
●分支策略:为每个新功能创建独立分支
●标签管理:为重要版本打标签
推荐的 Git 工作流:
版本控制的好处:
●随时可以回到稳定状态
●清晰的开发历史记录
●方便代码审查和问题定位
●避免因 AI 修改导致的不可逆错误
- 善用 Plan Mode 规划先行
Claude Code 的 Plan Mode(按 Alt+m 进入)是提高成功率的利器。它让 AI 先思考再行动,避免盲目修改。
Plan Mode 的优势:
●生成详细的实施计划
●列出可能的风险点
●提供多种解决方案
●预估所需时间
使用示例:
关键点:
●仔细审查计划,确保方向正确
●可以要求 AI 调整或细化某些步骤
●确认后再让 AI 执行
●执行过程中可以随时调整
- 需求文档决定成功率
在开始编码前,先让 AI 编写详细的 Product Specs(产品规格说明书)。好的文档是成功的一半。
Product Specs 应包含:
功能规格:
●详细的功能描述
●用户故事和使用场景
●输入输出定义
●边界条件处理
技术规格:
●技术架构设计
●数据模型定义
●API 接口规范
●性能指标要求
实施细节:
●开发步骤分解
●测试策略
●部署方案
●回滚计划
示例结构:
建议:
●创建专门的 docs 目录管理这些文档
●使用版本控制追踪文档变更
●定期更新文档与代码保持同步
- 建立项目规则记忆
充分利用 Claude Code 的本地配置文件 .claude/CLAUDE.md,让 AI 越用越懂你的需求。
配置文件示例:
项目级配置:
在项目根目录创建 .claude/project.md:
- 全程使用中文交流和文档
虽然 Claude Code 支持多语言,但统一使用中文可以提高沟通效率。
设置方法:
修改全局配置:
编辑 .claude/CLAUDE.md 文件:
命令行提示:
好处:
●降低理解成本
●避免语言切换的认知负担
●更准确地表达需求
●方便团队协作
- 免授权模式:提升工作流畅度
当你的代码仓库已经由 Git 管理,且没有敏感内容时,可以使用 Bypass 模式大幅提升效率。
启动命令:
Bypass 模式的特点:
●无需反复确认授权
●异步任务执行
●更流畅的工作体验
●接近完全自动化
风险提示:
●Claude 可能会修改你未预期的文件
●可能会执行一些系统命令
●建议只在个人项目中使用
●重要项目请做好备份
使用建议:
●确保有完善的 Git 备份
●定期检查 Claude 的操作日志
●发现异常立即中止
- 多用 /clear 即时清理上下文
保持上下文窗口的清洁是提高效率的关键。
清理时机:
●完成一个独立任务后
●切换到不相关的新任务
●发现 AI 开始混淆概念
清理策略:
好处:
●提高 AI 的响应速度
●减少无关信息干扰
●避免上下文溢出
●保持对话的专注性
- 智能的审查工作流
建立高效的 AI 辅助代码审查流程,确保代码质量。
三层审查模型:
第一层:功能验证(30% 时间)
●运行代码,测试功能是否正常
●检查是否满足需求
●验证边界条件
第二层:AI 自审(20% 时间)
AI 通常能发现:
●性能优化机会
●代码重复
●潜在的 bug
●不符合规范的地方
第三层:人工详审(50% 时间)
重点关注:
●业务逻辑正确性
●安全性问题
●代码可维护性
●架构合理性
审查检查清单:
●功能是否完整实现
●是否有明显的性能问题
●错误处理是否完善
●是否有安全漏洞
●代码是否易于理解
●是否符合项目规范
- 合理设定 AI 参与度
不要期望 AI 生成 100% 完美的代码,合理的期望值能带来更好的体验。
AI 擅长的领域(90%):
●样板代码生成
●CRUD 操作实现
●常见设计模式应用
●测试用例编写
●文档生成
●代码重构
需要人工介入的领域(10%):
●复杂的业务逻辑决策
●UI 细节的像素级调整
●特定的性能优化
●架构级别的设计决策
●与外部系统的特殊集成
最佳协作模式:
效率最大化原则:
●及时止损,不在细节上死磕
●发挥各自优势
●保持灵活的协作方式
- 良好架构和命名的重要性
清晰的代码结构和命名规范能显著提高 AI 的理解能力和代码生成质量。
命名规范的重要性:
在一个实际项目中,我发现前端部分仅用 10 分钟就完成了全部功能,而后端却耗费了 2 小时。深入分析发现,后端某些地方概念模糊,不同功能使用了相同的命名,导致 AI 产生理解偏差。
安全风险&代码审查新挑战&总结
安全风险
大型软件项目通常包含一些敏感代码,不宜提交给 AI 进行分析,例如:
●许可证验证逻辑
●防破解机制
●核心算法实现
●商业机密代码
为保护这些关键代码,可通过配置忽略文件来限制 AI 的访问权限。配置后,AI 将无法读取指定的文件或目录,从而有效保护代码安全。
代码审查的新挑战
当 AI 在几小时内产出 800 行代码变更时,审查工作变得更加重要但也更具挑战性。
挑战:
●代码量大,容易遗漏问题
●AI 生成的代码风格可能不一致
●难以追踪修改的原因
解决方案:
只能做到 逐行 审查,确保每一行代码都能理解
记住:AI 生成的代码等同于你编写的代码,你需要为其负责。
对开发者的影响
角色转变:
●从编码者到架构师
●从实现者到审查者
●从执行者到决策者
核心竞争力:
●业务理解能力
●架构设计能力
●问题分析能力
●创新思维能力
职业建议:
●拥抱 AI 工具,提升效率
●专注于 AI 无法替代的能力
●持续学习,保持技术敏感度
●培养 "人机协作" 的工作模式
总结
Claude Code 不仅是一个工具,更是开发模式的一次革新。它让我们能够专注于真正重要的事情:架构设计、业务理解和创新思考,而将重复性的编码工作交给 AI。
在使用 Claude Code 的过程中,我深刻体会到:
●效率的飞跃:原本需要数天的工作可以在数小时内完成
●创造力的解放:不再被繁琐的实现细节所困扰
●学习的加速:通过 AI 的代码和解释快速掌握新技术
●可能性的扩展:一个人可以完成原本需要团队的项目
在这个 AI 重构开发流程的时代,拥抱变化、善用工具,将是每个开发者保持竞争力的关键。希望本文的分享能够帮助更多开发者开启高效的 AI 辅助编程之旅。
最后的建议:
●保持开放的心态,勇于尝试新工具
●建立自己的最佳实践,不断优化工作流程
●分享经验,与社区共同成长
●记住:AI 是工具,创造力依然属于人类
📎 参考文章
- 一些引用
- 引用文章
欢迎您在底部评论区留言,一起交流~
Loading...
