Claude Code 是 Anthropic 于 2025 年推出的官方命令行编程代理(CLI Agent),运行在 macOS、Linux 与 Windows(WSL)终端内,把「读代码、改文件、执行命令、运行测试、提交变更」整条研发循环交给一个可审计的 AI 代理。与网页聊天工具不同,它不再是「人类复制报错、模型返回片段、人类手工应用」的循环,而是在你的仓库内自主读取与修改,每次有副作用的操作都先征求批准。它使用 Claude 订阅账号 OAuth 登录或 Anthropic API 密钥认证,并支持通过 MCP(Model Context Protocol,模型上下文协议,一种让 AI 代理连接外部工具与数据源的开放标准)扩展任意外部工具与数据源。 本篇基于官方文档整理,按「速览卡 → 安装 → 快速上手 → 核心能力 → 生产部署 → 选型对比 → 应用场景 → 常见误区 → 面试题 → 学习资源」的顺序展开。读完你可以在本机跑通第一个任务,并评估它在团队与 CI 中的落地方式。

岗位关联

掌握 Claude Code,等于把可审计、可脚本化、可嵌入 CI 的自主编码代理纳入个人工具链,这是 2025 年 AI 工程与 DevOps 岗位的高频实操技能。

目录
  1. 为什么需要 Claude Code:聊天窗无法触及仓库,终端代理接管研发循环
  2. 安装与环境配置:3 步就绪
  3. 快速上手:5 分钟跑通第一个任务
  4. 核心能力详解:5 大支柱
  5. 生产部署与监控:从上线到运维
  6. 版本迭代
  7. AI 应用场景
  8. 常见误区
  9. 面试题
  10. 参考来源
工具类型
终端 AI 编码代理(Anthropic 官方 CLI)
开发商
Anthropic(美国·旧金山)
开源协议
商业专有;CLI 免费使用(需 Claude 订阅或 API 计费)
GitHub Stars
无
主要语言
TypeScript / Node.js(以 npm 包发行)
当前版本
2.0(2025-09 发布)
安装方式
npm 全局安装或官方安装脚本
上手难度
★★☆☆☆(低)
适合人群
开发工程师、DevOps/SRE、AI 应用工程师
同类工具
GitHub Copilot CLI、OpenAI Codex CLI、Aider
托管服务
无

速览卡是工具类内容的固定首屏模块:30 秒判断「这工具是什么、能不能商用、适不适合我」。

为什么需要 Claude Code:聊天窗无法触及仓库,终端代理接管研发循环

传统 AI 辅助开发依赖浏览器聊天窗口,模型看不到完整项目结构,无法执行测试验证自己的改动。工程师要手工复制报错信息、粘贴要修改的文件片段,再把模型回复的代码合并进项目。涉及跨文件重构、跑完测试看结果再迭代的场景时,这套「复制—粘贴—手工应用」的循环严重拖慢节奏,上下文也随对话增长而失真。

Claude Code 以终端为驻地,直接获得当前目录的文件系统与命令执行能力。它自己读文件、做定点编辑、跑 bash、执行测试,看到失败再迭代修复,整个过程不需要人工搬运信息。它遵循权限模型:默认每个有副作用的操作(改文件、跑命令)都先征求你同意;会话上下文可通过 -c/--resume 跨多次启动继续,CLAUDE.md 文件则沉淀项目特定的规范与约定,让新会话自动继承。

与 LangChain、LlamaIndex 这类「构建 Agent 的框架」不同,Claude Code 是一个开箱即用的 Agent 产品:你不需要写编排代码,只需要下指令。它的定位介于「个人结对编程助手」与「可在 CI 中运行的自动化代理」之间,这也是它与编排框架最本质的气质差异——前者消费模型能力,后者让你生产模型应用。

安装与环境配置:3 步就绪

前置条件:npm 方式需要 Node.js 18+;支持 macOS 10.15+、Ubuntu 20.04+/Debian 10+;Windows 在 WSL 2 中运行。

步骤一·安装:使用 npm 全局安装官方包,或运行官方原生安装脚本(脚本会自动处理 Node.js 运行时,适合版本较旧的机器)。

步骤二·认证:个人开发环境直接运行 claude,首次启动会输出一个浏览器授权链接,用 Claude 账号(Pro/Max/Team)完成 OAuth 登录;CI 或脚本环境没有浏览器交互,改用 ANTHROPIC_API_KEY 环境变量注入 API 密钥。

步骤三·验证:执行 claude --version 确认版本,再运行一条非交互提示词验证认证链路是否打通。

bash15 行
# 前置检查node -v   # 需要 18.0 及以上 # 方式一:npm 全局安装(推荐)npm install -g @anthropic-ai/claude-code # 方式二:官方原生安装脚本(自动管理运行时)curl -fsSL https://claude.ai/install.sh | bash # 登录方式 A:交互式 OAuth(个人开发)claude   # 首次运行会输出浏览器授权链接 # 登录方式 B:环境变量注入 API 密钥(CI/脚本)export ANTHROPIC_API_KEY="sk-ant-api03-..."claude -p "你好,用一句话说明你的能力"   # 非交互验证

快速上手:5 分钟跑通第一个任务

最小可用流程的思路:选一个真实的小项目,先用交互模式完成一次「提问—批准—看到结果」的完整闭环,再切换到非交互模式验证脚本化调用。

步骤一:cd 进入项目目录,运行 claude 启动交互式 REPL。步骤二:输入自然语言任务,例如「描述这个仓库的功能与模块划分」,代理会提出读取文件的请求,按回车批准即可。步骤三:让它执行一个小改动,并跑测试验证,例如「把日志输出改为 JSON 格式,然后运行 go test」。步骤四:在会话中执行 /init 生成 CLAUDE.md 沉淀项目规范,之后新会话自动加载。步骤五:退出后体验会话管理——claude -c 继续最近会话,claude --resume <会话ID> 恢复指定会话。

进阶技巧:Claude Code 提供官方 SDK,可在 Node.js 服务里以代码方式调用代理能力,适合把终端能力嵌入自研工具链。

bash6 行
cd ~/workspace/my-serviceclaude "这个仓库怎么启动?入口在哪里?"    # 交互模式直接带问题启动claude                                   # 或进入 REPL 后输入任务claude -p "统计本仓库 Go 文件行数并输出 top5"  # 非交互一次性任务claude -c                                # 继续最近一次会话claude --resume 2f4a...                  # 恢复指定会话
javascript11 行
// Claude Code SDK:在 Node 服务中以代码方式调用import { query } from "@anthropic-ai/claude-code"; const res = await query("Review the latest commit and list potential bugs", {  options: {    cwd: "/path/to/repo",           // 工作目录    permissionMode: "acceptEdits",  // 允许自动编辑    model: "sonnet",                // 指定模型  },});console.log(res.text);              // 终端文本输出

核心能力详解:5 大支柱

支柱一·代理式编码循环。代理内置 Read(读文件)、Edit(定点编辑)、Bash(执行命令)、Glob/Grep(检索)等工具,能在「读代码→改代码→跑测试→看报错→再修」的循环里自主迭代。遇到编译错误时,它会自己查看日志定位原因并重试,不需要人把报错粘贴给模型。

支柱二·CLAUDE.md 项目记忆。放在项目根目录的记忆文件,每个会话启动时自动加载,可用 @other.md 语法引用仓库内其他文档。适合写入架构约定、启动命令、测试命令与代码风格要求;/init 命令会扫描仓库自动生成初始版本。

支柱三·MCP 扩展生态。通过 claude mcp add <名称> <启动命令> 一条命令接入 MCP 服务器,将浏览器、数据库、工单系统、监控平台等外部能力接入代理;项目级配置写入 .mcp.json,claude mcp list 查看已接入服务器,claude mcp remove 移除。

支柱四·权限与安全模型。--permission-mode 支持 default(逐项询问)、acceptEdits(自动接受文件编辑)、plan(只读规划)、bypassPermissions(跳过确认)四种模式;支持工具级 allowlist/denylist;Hooks 体系(PreToolUse、PostToolUse、Notification 等)可在工具调用前后插入自定义脚本做审计与拦截。

支柱五·自动化与嵌入。-p 非交互模式配合 --output-format text/json/stream-json 供脚本与程序解析;SDK 的 query 接口可在 Node 服务内调用;官方 GitHub Action 把代理接入 PR 流程;ANTHROPIC_BASE_URL 环境变量可指向企业网关,统一计量与管控。

生产部署与监控:从上线到运维

部署方式一·GitHub Actions 集成。anthropics/claude-code-action 可在 PR 打开或更新时自动审查变更、修复失败的测试并提交修复 commit,开发者只做最终 review。CI 中通过 ANTHROPIC_API_KEY 密钥注入认证:

部署方式二·自建调度与服务嵌入。定时任务或事件触发时执行 claude -p "任务描述" --max-turns 40 --output-format json,通过退出码判断成功失败,失败由调用方重试;需要长期运行的场景用 SDK 的 query 嵌入 Node.js 服务,--append-system-prompt 注入企业规范。

可观测性。非交互模式用 --output-format stream-json 消费逐条事件流,实时跟踪代理行为;会话内执行 /cost 查看 token 消耗;用 CLAUDE_CODE_MAX_OUTPUT_TOKENS 限制单次输出上限防止失控;通过 SessionStart/SessionEnd Hook 把会话元数据推送到日志平台,实现成本与行为的统一审计。

<p class="para-label">避坑清单:</p>

<ul class="dash-list"><li>Node 版本过低会导致 CLI 直接启动失败:npm 方式需 Node.js 18+,安装前先执行 node -v;版本过旧时改用官方原生安装脚本,脚本会自动处理运行时。</li><li>CI 中裸用 --dangerously-skip-permissions 等于把任意命令执行权交给模型:应先以 plan 只读模式做审查,或配置工具 allowlist/denylist 与 Hooks 审计,再考虑放宽权限。</li><li>不要把 ANTHROPIC_API_KEY 写进代码或镜像:本地个人环境用 OAuth 登录即可免密钥,CI 用平台 Secrets 注入;必要时设置 ANTHROPIC_BASE_URL 指向公司网关统一计量。</li><li>大仓库一次性全量读入会迅速耗尽上下文与费用:在 CLAUDE.md 中圈定模块边界,用 Glob/Grep 定向检索,按需打开文件,并用 --max-turns 限制代理循环轮数。</li></ul>

yaml23 行
# .github/workflows/claude-review.ymlname: Claude Code PR Reviewon:  pull_request:    types: [opened, synchronize]jobs:  review:    runs-on: ubuntu-latest    permissions:      contents: write      pull-requests: write    steps:      - uses: actions/checkout@v4        with:          fetch-depth: 0      - name: Claude Code        env:          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}        uses: anthropics/claude-code-action@v1        with:          claude_code_command: |            claude -p "审查本次 PR 的变更,修复发现的 bug 并输出审查结论。"          github_token: ${{ secrets.GITHUB_TOKEN }}
维度Claude CodeGitHub Copilot CLIOpenAI Codex CLIAider
定位Anthropic 官方终端代理,Claude 全系模型深度集成GitHub 生态终端代理,多模型可选(GPT/Claude/Gemini)OpenAI 开源的终端编码代理开源结对编程 CLI,多模型后端
编排范式交互 REPL + 非交互 print + 子代理委派(2.0)会话式 + exec 非交互执行模式交互 REPL + codex exec 非交互模式聊天式 + 每次改动自动 git commit
类型约束无强类型约束,工具驱动(读/写/bash)无无无(diff 编辑流程)
学习曲线中:slash 命令、CLAUDE.md、权限模式需适应低:GitHub 账号即用中:审批流与 config 文件低:类聊天,自动提交
生态集成MCP、官方 SDK、GitHub Actions、VS Code/JetBrains 扩展GitHub 全家桶、VS Code、多模型OpenAI 模型、MCP、Codex 云代理多模型、git 原生、可脚本化
生产部署非交互 + GitHub Action + SDK 直接进 CI/服务exec 模式可用于脚本,CI 支持有限exec 模式与云端代理支持 CI可脚本化,主要面向个人
License商业专有(CLI 免费,需订阅/API)商业专有(Copilot 订阅)Apache 2.0(客户端开源)Apache 2.0
适合谁深度用 Claude、需权限审计与 CI 集成的团队已购 Copilot 订阅的 GitHub 用户OpenAI 用户、偏好开源客户端追求模型自由度的个人开发者

选型建议:已在 Claude 生态且需要把代理嵌入 CI 与内部工具链,优先 Claude Code——权限模型、Hooks 与 SDK 最完整;完全开源偏好或多模型切换选 Aider 或 Codex CLI;GitHub Copilot 订阅用户且需求偏轻量,Copilot CLI 零新增成本即可起步。

版本迭代

Claude Code 于 2025 年 2 月以研究预览(Research Preview)形式首次公开,5 月随 1.0 正式版转为 GA,9 月通过 2.0 完成从「单会话代理」到「Agent 原生」的架构升级。版本主线围绕 MCP 扩展、权限安全与多代理协作三条线演进。

版本时间变化提升
0.1.x(Research Preview)2025-02终端编码代理首次公开预览提供读文件、编辑、执行命令的代理循环与权限询问机制
1.0(GA)2025-05正式发布完善 MCP 支持与 Hooks 事件,权限模式(acceptEdits/plan/bypassPermissions)固化,面向团队使用
2.02025-09Agent 原生重构子代理委派与发现机制、SDK 2.0、知识门控、原生安装自动更新
结论

Claude Code 未公布独立的第三方基准分数,版本差异主要体现在能力边界与工程化程度:1.0 解决「能否稳定用于日常开发」,2.0 解决「能否把代理能力嵌入团队工具链与多 Agent 协作」。需要 CI 内嵌、权限审计与团队级治理的团队应直接采用 2.0,其 CLI 命令与 1.x 基本兼容,升级成本主要在 Hooks 配置与新 Slash 命令的适配。

AI 应用场景

存量代码库理解与架构文档生成

阶段:代码理解与文档生成

解决的问题:接手陌生仓库时,人工梳理模块关系、启动链路与依赖边界通常需要数小时。Claude Code 直接在仓库内遍历结构、读关键文件、跑构建命令验证,再按你的模板产出文档。

具体案例:新成员对约 20 万行的中型服务执行 claude -p "分析仓库架构,输出 docs/architecture.md",原本 1~2 天的梳理工作压缩到单个会话(约 10~20 分钟),生成后可继续要求它补充模块边界与风险点,文档比人工整理更贴近实际代码。

CI 中的自动代码审查与测试修复

阶段:Agent 编排与自动化运维

解决的问题:测试失败或 PR 批注需要人在不同工具之间来回切换上下文修复,开发节奏被打断。把审查与修复委派给代理,人只做最终把关。

具体案例:用 anthropics/claude-code-action 在 GitHub Actions 中监听 PR,向代理传入「审查变更并修复失败的测试」,它会自动生成补丁并提交修复 commit,开发者只做 review。典型回归修复从单次 30 分钟级的人工处理降到 5 分钟级,且修复附带的解释说明降低了 review 成本。

内部系统查询与操作(MCP 扩展)

阶段:MCP 集成与 Agent 工具调用

解决的问题:故障排查需要在终端、监控、数据库、工单系统之间来回切换。通过 MCP 把内部系统接入代理会话,让它自己查单号、看流水线日志、定位失败步骤。

具体案例:执行 claude mcp add jira npx @your-team/jira-mcp 把工单系统接进会话,直接要求「查看 INC-2041 关联的构建日志,定位失败的测试并给出修复路径」,代理串联多个工具完成排查链路,减少人工上下文切换约三分之二的操作步骤。

常见误区

误区我以为它就是把 claude.ai 的对话框搬到命令行,本质还是我问它答,只是省去复制粘贴报错而已。

正解它是自主代理而非聊天界面:默认拥有读取仓库、编辑文件、执行 bash、运行测试的工具权限,能在「读代码→改代码→跑测试→看报错→再修」的循环里自主迭代。每次有副作用的操作会先征求批准,但决策与执行链路由模型自主完成。「只答不做」是普通聊天工具的定位,不是 Claude Code 的。

为何常见:首次使用时交互形式与聊天相似,容易忽略幕后它是通过工具调用而非纯文本回答来工作的。

误区每次批准太烦,CI 里用 --dangerously-skip-permissions 把所有弹窗关掉最省事。

正解该参数会跳过全部权限确认,等于把仓库读写与任意命令执行全权交给模型。一旦提示词被误导或模型在长循环中出错,可能执行强制推送、删除目录等破坏性操作。生产环境应组合使用工具 allowlist/denylist、plan 只读模式和 Hooks 审计,而不是一刀切关掉权限。

为何常见:本地个人项目「跑通优先」的心态,加上部分教程为演示方便直接使用该参数,弱化了它的风险等级。

误区200K 上下文这么大,把 monorepo 所有文件读一遍模型就完全理解了。

正解窗口再大也会被海量文件耗尽,且 token 费用与延迟随之上升。正确做法:在 CLAUDE.md 中说明模块边界,用 Glob/Grep 定向检索,按需打开相关文件;对长任务用 --max-turns 限制循环,避免它在无关文件上反复试探。

为何常见:「窗口大 = 不用管上下文」的直觉忽略了费用、准确率与速度之间的权衡,也忽略了模型的注意力在超长上下文下会稀释。

误区它是「写代码的工具」,不搞传统软件开发的人用不上。

正解它是通用终端代理:可用于生成运维脚本、解析日志、批量改配置文件、生成技术文档、审查 PR、编写 SQL、通过 MCP 查询内部系统。官方将其定位为终端里的多任务工作代理,「Code」只反映其最早落地的场景。

为何常见:工具名里的 Code 和大量编程示例形成了刻板印象,忽略了 MCP 扩展带来的能力边界外移。

误区Ctrl+C 退出后对话就丢了,下次得重新交代一遍项目背景和需求。

正解claude -c 可继续最近一次会话,claude --resume <会话ID> 可恢复指定会话;配合项目根目录的 CLAUDE.md,新会话启动即自动加载项目规范与约定,不需要重复口述背景。

为何常见:早期研究预览阶段会话持久化较弱,「关了就丢」的印象停留在旧版本,滞后于 1.0/2.0 的会话管理能力。

面试题

Q1. Claude Code 的官方 npm 包安装命令是?

单选题 · easy

  • A.npm install -g claude-code
  • B.npm install -g @anthropic-ai/claude-code← 正确答案
  • C.pip install claude-code
  • D.npm install claude-ai

答案:B。官方包名带 scope,为 @anthropic-ai/claude-code。A 的 claude-code 和 D 的 claude-ai 都不是官方包名;C 的 pip 属于 Python 生态,而 Claude Code 基于 Node.js 发行。

Q2. 本地运行 Claude Code 的最低 Node.js 版本要求是?

单选题 · easy

  • A.14.x
  • B.16.x
  • C.18.x← 正确答案
  • D.22.x

答案:C。官方要求 Node.js 18 及以上。14/16 过低会导致 CLI 启动失败;22 是更高版本但并非最低要求。本机 Node 过旧时,可改用官方原生安装脚本自动处理运行时。

Q3. 在 shell 脚本中执行一次性非交互查询,应该使用哪个参数?

单选题 · easy

  • A.claude --print “任务描述”← 正确答案
  • B.claude --repl “任务描述”
  • C.claude --daemon “任务描述”
  • D.claude --server “任务描述”

答案:A。--print(简写 -p)是官方非交互模式,执行完自动退出,适合脚本与 CI。--repl、--daemon、--server 都不是真实 CLI 参数;交互式 REPL 直接运行 claude 即可进入。

Q4. 在项目根目录放什么文件,可以让每个新会话自动继承项目规范与约定?

单选题 · mid

  • A.AGENTS.md
  • B.CLAUDE.md← 正确答案
  • C.ANTHROPIC.md
  • D.PROMPTS.md

答案:B。CLAUDE.md 是 Claude Code 的项目记忆文件,会话启动时自动加载,并可用 @path 语法引用仓库内其他文档。AGENTS.md 是通用 Agent 规范,不会被 Claude Code 自动读取;C、D 不是官方文件名。

Q5. 下列哪条命令能正确地把一个 MCP 服务器加入 Claude Code?

单选题 · mid

  • A.claude mcp add db_server npx mcp/db← 正确答案
  • B.claude plugin add db_server
  • C.claude install mcp db_server
  • D.claude --mcp add db_server

答案:A。claude mcp add <名称> <启动命令> 是官方 MCP 接入命令,添加后可用 claude mcp list 查看、claude mcp remove 移除。其余三个子命令均不存在于官方 CLI。

Q6. 关于会话管理,下列哪些操作是官方支持的?

多选题 · mid

  • A.claude -c 继续最近一次对话会话← 正确答案
  • B.claude --resume 会话ID 恢复指定会话← 正确答案
  • C.claude --restart 重置后创建新会话
  • D.claude --duplicate 复制最近会话

答案:AB。-c/--continue 与 --resume 分别对应「继续最近会话」和「按会话 ID 恢复」,是官方会话管理入口。--restart 与 --duplicate 不是真实参数,新建会话直接运行 claude 即可。

Q7. 在 CI 环境中运行非交互 Claude Code,通常优先使用哪种认证方式?

单选题 · mid

  • A.OAuth 浏览器登录后复制 Token
  • B.通过 ANTHROPIC_API_KEY 环境变量注入密钥← 正确答案
  • C.在 GitHub Secrets 中存 OAuth 刷新令牌
  • D.不认证直接调用本地模型

答案:B。CI 无浏览器交互,官方推荐以 ANTHROPIC_API_KEY 或 ANTHROPIC_AUTH_TOKEN 环境变量注入凭据,配合平台 Secrets 管理。OAuth 适合本地交互使用;本地模型不在官方支持范围内。

Q8. claude -p 的输出格式参数 --output-format 支持哪些合法值?

多选题 · hard

  • A.text 输出为纯文本← 正确答案
  • B.json 输出结构化结果← 正确答案
  • C.stream-json 流式事件← 正确答案
  • D.yaml 输出键值数据

答案:ABC。官方支持 text、json、stream-json 三种输出格式。text 适合人读,json 适合程序单次解析,stream-json 以逐条事件流输出,适合长任务实时消费。yaml 不是合法取值。

Q9. 下列哪些属于 Claude Code 2.0 引入或强化的核心能力?

多选题 · hard

  • A.Agents 子代理委派与发现机制← 正确答案
  • B.官方发布全新 SDK 2.0← 正确答案
  • C.知识门控约束子目标执行← 正确答案
  • D.支持完全离线本地推理模式

答案:ABC。2.0 把架构迁移到 Agent 原生:CLI 与 SDK 支持发现和委派子代理,SDK 升级到 2.0 并提供新 API,同时引入知识门控控制子任务的执行条件。离线推理不在官方路线图中,Claude Code 依赖云端 Claude 模型。

Q10. 关于 CLAUDE.md 的加载与作用范围,下列说法正确的是?

单选题 · hard

  • A.会话启动时自动加载,仅对当前仓库生效← 正确答案
  • B.只在用户手动执行 /load 时被读取
  • C.只能存放个人信息,不能包含技术规范
  • D.文件内容每次使用后自动写回覆盖

答案:A。CLAUDE.md 放在项目根目录,会话启动自动注入;子目录也可放 CLAUDE.md 提供分模块规范。它不需要手动加载,也不限制内容类型;Claude Code 不会自动改写该文件。

参考来源