Claude Code: Claude Code 简介与工作原理

最后更新:2026-08-31

Claude Code 是 Anthropic 推出的 AI 编程 Agent——它不是聊天机器人,而是一个能读取文件、运行测试、修改代码并根据反馈迭代的智能体。

Claude Code

💡 提示:Claude Code 的核心区别在于"Agent"而非"Chat"。聊天工具只回答问题,Agent 会自主执行操作——读文件、跑命令、改代码、验证结果,形成完整的工作闭环。

📋 前置知识:零基础可学,了解基本命令行操作即可

1. 你将学到


关于代码示例的输出

本课程的代码示例采用确定性/非确定性分离模式,这是 AI Agent 工具教程的行业最佳实践:

标记 含义 你的输出
输出: 确定性结果(安装、配置、计数等) 应与示例基本一致
交互流程: Agent 行为流程(LLM 调用、工具选择等) 实际文本会不同,但流程相似
验证方法: 练习题的检查方式 按描述步骤验证
💡 为什么不一样? 传统编程 1 + 1 = 2(永远相同),Agent 工具 agent.chat("分析代码") = ???(每次不同)。这是 AI Agent 工具的本质特性,不是 Bug。


2. 一个开发团队的真实故事

(1) 痛点:AI 编程工具效率瓶颈

Alice 是一家中型互联网公司的技术负责人。她的团队尝试了多种 AI 编程工具:

产品经理 Bob 的需求越来越复杂:

"我们需要把整个认证模块从 Session 迁移到 JWT,涉及 20+ 文件,还要确保所有测试通过。"

(2) Claude Code 的解法

Alice 安装了 Claude Code,一句话启动迁移:

BASH
claude "将认证模块从 Session 迁移到 JWT,确保所有测试通过"

Claude Code 自主完成了:

  1. 读取项目结构,定位所有认证相关文件
  2. 逐个修改认证逻辑
  3. 运行测试套件
  4. 根据失败结果修复代码
  5. 循环迭代直到所有测试通过
TEXT 📖 仅展示
Files modified: 23
Tests run: 47
Tests passed: 47
Iterations: 3
Time: ~8 minutes

3. Claude Code 是什么

(1) 核心定义

Claude Code 是一个 命令行 AI Agent,直接在你的本地代码仓库中工作:

特性 说明
定位 AI 编程 Agent,非聊天工具
运行环境 本地终端 / IDE 终端
工作方式 读取文件 → 分析 → 修改 → 验证 → 迭代
权限模型 高权限,可读写文件、执行命令
模型 Claude Sonnet / Opus

(2) Agent 与 Chat 的本质区别

100%
graph LR
    A[用户指令] --> B[Chat 模式]
    A --> C[Agent 模式]
    B --> B1[生成回答]
    B1 --> B2[用户手动执行]
    C --> C1[理解意图]
    C1 --> C2[读取上下文]
    C2 --> C3[执行操作]
    C3 --> C4[验证结果]
    C4 --> C5{成功?}
    C5 -->|否| C2
    C5 -->|是| C6[汇报结果]
维度 Chat 工具 Agent (Claude Code)
交互方式 一问一答 自主迭代
代码操作 输出代码片段 直接修改项目文件
上下文 用户手动提供 自动读取项目文件
验证 用户手动验证 自动运行测试/命令
错误处理 用户自行修正 自主修正并重试

▶ 示例 1: Chat vs Agent 对比

BASH
# Chat 方式:用户需要多步操作
# 1. 问 AI 怎么修 bug
# 2. 复制代码
# 3. 粘贴到文件
# 4. 运行测试
# 5. 测试失败,回到第1步

# Agent 方式:一句话搞定
claude "修复 user.service.ts 中的空指针异常,确保测试通过"

4. Claude Code 如何工作

(1) 工作流程

Claude Code 的工作循环:

100%
graph TB
    U[用户输入] --> P[意图解析]
    P --> R[读取项目上下文]
    R --> A[规划操作步骤]
    A --> E[执行操作]
    E --> V[验证结果]
    V --> S{成功?}
    S -->|是| RPT[汇报结果]
    S -->|否| A

(2) 权限与安全

Claude Code 拥有高权限,但提供多层安全控制:

权限级别 操作范围 确认方式
读取 读取任何项目文件 自动允许
写入 修改项目文件 首次确认/自动
执行 运行 shell 命令 需确认(可配置自动)
网络 安装包、访问 API 需确认

▶ 示例 2: Claude Code 工作过程

BASH
$ claude "在 src/utils/ 下新建 date.ts,实现常用日期格式化函数并写测试"

# Claude Code 的自主工作过程:
# 1. Reading src/utils/ directory structure...
# 2. Reading existing utils for style consistency...
# 3. Creating src/utils/date.ts with formatDate(), relativeTime(), etc.
# 4. Creating src/utils/__tests__/date.test.ts
# 5. Running: npm test -- src/utils/__tests__/date.test.ts
# 6. 2 tests failing... fixing edge cases
# 7. Running: npm test -- src/utils/__tests__/date.test.ts
# 8. All 6 tests passed ✓

5. 与其他 AI 编程工具对比

工具 类型 工作范围 Agent 能力 模型
Claude Code CLI Agent 全项目 Claude
GitHub Copilot IDE 插件 单文件补全 GPT 系列
Cursor IDE + Agent IDE 内 多模型
Aider CLI Agent 全项目 多模型
Codex CLI CLI Agent 全项目 GPT 系列
OpenCode CLI Agent 全项目 多模型

▶ 示例 3: Alice 的工具评估

PYTHON
def evaluate_tool(tool_name, agent_score, scope_score, multi_file):
    score = agent_score * 0.4 + scope_score * 0.3 + (1 if multi_file else 0) * 0.3
    return round(score, 2)

tools = {
    "Claude Code": {"agent": 9, "scope": 9, "multi_file": True},
    "Copilot": {"agent": 3, "scope": 4, "multi_file": False},
    "Cursor": {"agent": 6, "scope": 7, "multi_file": True},
    "Aider": {"agent": 7, "scope": 8, "multi_file": True},
}

for name, scores in tools.items():
    result = evaluate_tool(name, scores["agent"], scores["scope"], scores["multi_file"])
    print(f"{name}: {result}")

6. 综合示例:项目级别重构

BASH
# 场景:Alice 需要将 Express 项目迁移到 Fastify

$ claude "将整个项目从 Express 迁移到 Fastify:
1. 替换所有路由定义
2. 更新中间件语法
3. 修改启动脚本
4. 确保所有测试通过
5. 更新 package.json 依赖"

# Claude Code 自主执行:
# → Scanning 45 files for Express patterns...
# → Converting route definitions (32 routes)...
# → Updating middleware (8 files)...
# → Running test suite: 89/89 passed ✓
# → Updating package.json...
# → Removing Express dependencies...
# → Final test run: 89/89 passed ✓

❓ 常见问题

Q Claude Code 和 Claude.ai 有什么区别?
A Claude.ai 是网页聊天界面,只输出文字回答;Claude Code 是 CLI Agent,能直接操作你的代码项目。两者底层模型相同,但交互模式完全不同。
Q Claude Code 会偷偷上传我的代码吗?
A Claude Code 会将代码上下文发送到 Anthropic API 进行推理,但 Anthropic 声称不会用 API 数据训练模型。敏感项目建议使用本地模型方案。
Q 没有网络能用 Claude Code 吗?
A 不能。Claude Code 需要连接 Anthropic API,离线无法工作。
Q Claude Code 支持哪些编程语言?
A 理论上支持所有编程语言——它能读写任何文本文件、执行任何 shell 命令。对 TypeScript/Python/Go 等主流语言支持最佳。
Q Claude Code 和 Aider 哪个好?
A Claude Code 集成度更高、Agent 能力更强,但只支持 Claude 模型;Aider 支持多模型、更灵活。选哪个取决于你是否需要多模型支持和 IDE 集成。
Q Claude Code 会取代程序员吗?
A 不会。Claude Code 是加速工具,擅长重复性工作和已知模式的实现,但架构设计、需求分析、复杂决策仍需要人类。

📖 小节


📝 作业

  1. 基础题(难度⭐):列举 Claude Code 与 ChatGPT 在编程辅助方面的三个核心区别。
  2. 进阶题(难度⭐⭐):为你的项目选择 AI 编程工具,写出选择理由(参考对比表格)。
  3. 挑战题(难度⭐⭐⭐):设计一个工作流,说明哪些任务适合用 Claude Code,哪些适合用 Copilot,给出决策依据。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏