Claude Code(一)介绍与安装
记录初次接触 Claude Code 的过程,包括它与 Cursor 的核心区别、安装配置方式以及基本工作流程。
Claude Code是什么
Claude Code 是 Anthropic 推出的基于 CLI(命令行界面)的下一代 AI 编程助手。不同于传统的 IDE 插件,它作为一个独立的 Agent 运行在终端中,能够直接访问本地文件系统、执行 Shell 命令、管理 Git 版本控制,并理解整个代码库的上下文结构。我从2024年9月开始持续使用Cursor IDE,直到2025年12月才开始真正尝试 CLI Agent 的工作方式。
它不只是在帮我写代码,而是在”代理”我进行开发。我可以直接告诉它”修复这个报错”或者”重构这个模块”,它会自动分析报错信息、定位文件、修改代码、运行测试验证,直到问题解决。
flowchart TD
A[用户指令] --> B[分析需求并制定计划]
B --> C[执行相应操作]
C --> D[进行验证与调整]
D --> E[交付最终结果]
C -.->|git commit| F[版本控制]
C -.->|npm install| G[包管理]
C -.->|pytest| H[测试执行]
style A fill:#e1f5fe
style E fill:#f1f8e9
Claude Code的核心能力
虽然官方文档把它描述成agentic coding tool,它不仅具有强大的编码能力,还能理解整个项目上下文、自主执行终端命令、Git操作、调用外部工具。基于多模态能力,也可以处理图片识别、语音交互等任务。
| 功能场景 | 具体表现 | 核心价值 |
|---|---|---|
| 全项目理解 | 能够通过 ls, grep, glob 等工具自主探索文件结构,阅读代码依赖,分析配置文件。 | 它的上下文不仅限于我打开的文件,而是整个工程的架构逻辑。 |
| 终端自主权 | 可以直接执行 Bash 命令,包括安装依赖 (npm install)、运行构建 (make build)、执行测试 (pytest)。 | 打通了”编写代码”到”验证代码”的闭环,拥有了执行力。 |
| 任务规划 | 面对复杂需求(如”重构认证模块”),能拆解为多个步骤(Plan -> Act -> Verify),并维护任务列表。 | 具备了任务拆解能力,遇到错误时会根据报错信息尝试自主修正,而不是把问题抛回给我。 |
| 版本控制集成 | 理解 Git 状态,能查看 git diff,分析变更,甚至帮我撰写 Commit Message 和提交代码。 | 将”写代码”和”提交代码”整合到了单一的对话流中,保持心流不被打断。 |
与Cursor的区别
Cursor 的本质依然是一个极其强大的 IDE 编辑器(Fork 自 VS Code),它的优势在于无缝的编辑器体验,通过LLM大模型极其顺滑地预测我的下一个按键,或者通过 Composer 窗口进行多文件编辑。它的核心交互依然离不开”光标”和”编辑器窗口”,就像一个坐在旁边的副驾驶。
相比之下,Claude Code 彻底抛弃了 GUI 的束缚。我不再是操作一个编辑器,而是在与一个拥有 Shell 权限的 AI 结对编程。Cursor 擅长”写”(Writing),而 Claude Code 擅长”做”(Doing)。Cursor 适合在这个文件里快速实现一个函数,而 Claude Code 适合在整个项目中从头搭建一个功能、修复一个棘手的跨文件 Bug 或进行一次大规模重构。
| 维度 | Cursor (IDE + AI) | Claude Code (CLI Agent) |
|---|---|---|
| 核心形态 | 基于 VS Code 的定制编辑器 | 运行在终端的命令行工具 |
| 交互逻辑 | 补全(Tab)、聊天(Cmd+L)、内联编辑(Cmd+K) | 对话式指令 (Prompt -> Action -> Result) |
| 上下文范围 | 打开的文件、引用的代码块、向量索引 | 整个文件系统、终端输出、Git 历史 |
| 操作权限 | 主要是读写文件 | 读写文件 + 执行任意系统命令 |
| 适用场景 | 快速编码、浏览代码、即时修改 | 复杂重构、Debug调试、自动化脚本编写、脚手架生成 |
| 思维模式 | 辅助驾驶 (Copilot) | 代理执行 (Agent) |
quadrantChart
title "AI编程工具位置对比"
x-axis "代码编写" --> "项目执行"
y-axis "局部优化" --> "全局管理"
"Cursor": [0.2, 0.8]
"Claude Code": [0.8, 0.2]
"GitHub Copilot": [0.3, 0.3]
"Tabnine": [0.1, 0.1]
安装
官方提供了多种安装途径,我选择了 Native Install(原生安装脚本)。相比于常见的 npm install -g,原生安装包内置了独立的运行时环境,避免了因本地 Node.js 版本差异导致的兼容问题,升级维护也更稳定。
1
2
# 官方推荐的安装命令(示例)
curl -sL https://code.claude.com/install.sh | bash
由于众所周知的网络原因,在国内网络环境下安装或使用时,大概率会遇到连接超时或区域限制的问题。
仅仅开启系统代理软件(VPN)往往是不够的,终端(Terminal)的流量默认可能不走系统代理。我必须在 Shell 中显式 export 代理变量,否则安装和使用过程中会频发连接超时错误。
通常需要在终端显式声明代理环境变量,确保流量正确转发:
1
2
3
4
5
6
# 替换为自己的代理端口,通常是 7890 或 10808
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
# 建议执行以下命令验证代理是否生效
curl -I https://www.google.com
模型配置
- Anthropic 原生模型 (Claude 4.5 Sonnet)
- 这是 Claude Code 的默认且最佳体验配置。直接登录即可使用,无需复杂设置,原生支持开箱即用。
- OpenAI (GPT-5.x)
- 虽然可以通过适配层使用 GPT-4o,但实际使用下来的感受是:模型定价较高。对于高频的 Agent 交互(通常伴随着大量的 Input Token 读取)来说,成本控制是不得不考虑的因素。
- DeepSeek (V3.1)
- DeepSeek 也是很多人的选择。在配置时,通常需要指向兼容 OpenAI 格式的端点。实测下来,DeepSeek-V3 能满足日常代码分析需求,对于常见 Bug 的定位也很准确。但在处理跨多个文件的复杂逻辑或需要长上下文推理的任务时,稳定性稍逊于 Claude 4.5 Sonnet。
- xAI Grok (Grok 4.1 Fast) + LiteLLM
- 这是一个非常有趣的非官方方案。由于 Grok 的 API 格式不兼容 Anthropic 标准,我们需要引入
LiteLLM作为中间代理。 - 我目前用的就是这套方案,日常编码任务基本够用。但 LiteLLM 毕竟是代理转发工具,部分高级参数映射可能不完全。Grok 的推理速度和代码能力总体表现不错。
- 这是一个非常有趣的非官方方案。由于 Grok 的 API 格式不兼容 Anthropic 标准,我们需要引入
- Google Gemini 3 (Pro/Flash) + LiteLLM
- Gemini 的超长上下文理论上适合全库分析,但现阶段通过 LiteLLM 接入的兼容性问题较多,常出现参数校验错误。如果想用 Gemini,直接使用 Gemini CLI 是更稳定的选择。
- 其他模型
- 目前不推荐使用对 Tool Use(工具调用)支持不完善的模型。Claude Code 强在依赖于自家模型准确输出特定格式的工具调用指令,如果模型遵循指令能力较弱,会导致 Agent 反复尝试或卡死。
Anthropic 的风控极其严格,大陆及港澳地区 IP 直连会被立即封号,且申诉极难通过。务必确保终端流量走在靠谱的海外节点上,并保持网络环境稳定。
使用
在终端中进入项目根目录,输入以下命令启动:
1
claude
首次运行时,它会对当前目录进行索引(Indexing),建立对项目结构的基本认知。这个过程很快,索引完全在本地构建。就绪后进入交互式的 REPL(Read-Eval-Print Loop)环境,可以用自然语言描述任务。
Claude Code 具有执行终端命令的权限(如
rm,git push)。虽然它在执行敏感操作前会请求批准,但在授予权限(输入y)之前,我都会仔细阅读它打算执行的命令,避免误删文件。
工作流示范
以下是我最常用的两种工作方式:
沉浸式代码探索 (Exploration)
当我接手一个遗留项目或面对复杂的开源库时,传统的做法是手动翻阅文件,试图在脑海中构建依赖关系图。而在 Claude Code 中,我可以直接提问:
1
2
> "请解释一下 `auth` 模块的认证流程是如何实现的?"
> "找出所有使用了 `User` 模块的地方,并检查是否有潜在的类型安全问题。"
它会自动运行 grep、阅读相关文件、分析引用关系,最后给出完整的分析报告。
交互式重构与修复 (Refactoring & Fixing)
我不再需要手动在一个个文件中复制粘贴。
1
2
> "运行测试,修复所有失败的用例。"
> "把 `src/utils` 下的大文件拆分成多个小的工具函数文件,并为它们补充单元测试。"
Claude Code 会生成一个执行计划(Plan),告诉我它准备读哪些文件、改哪些代码。在我批准后,它会像一个熟练的工程师一样,自动执行编辑、运行测试、根据报错再次修正代码,直到测试全部通过。我只需要扮演 “Tech Lead” 的角色进行 Code Review 和验收。
总结
从 Cursor 切换到 Claude Code 之后,我对”AI 辅助编程”的理解发生了变化。Cursor 让我在写单个文件时更高效,而 Claude Code 让我可以把一个完整的任务(调试、重构、脚手架生成)交出去,自己只负责验收。
两者并不对立,我现在的做法是:日常快速编辑用 Cursor,涉及多文件改动或需要执行终端命令的任务交给 Claude Code。模型成本和网络访问的问题确实存在,但在摸清配置之后,这两点都可以找到可接受的解决方案。
下一篇预告:Claude Code(二)环境配置 - 了解 Claude Code 的详细配置项