Claude Code: Claude Code 简介与工作原理
最后更新:2026-08-31
Claude Code 是 Anthropic 推出的 AI 编程 Agent——它不是聊天机器人,而是一个能读取文件、运行测试、修改代码并根据反馈迭代的智能体。

💡 提示:Claude Code 的核心区别在于"Agent"而非"Chat"。聊天工具只回答问题,Agent 会自主执行操作——读文件、跑命令、改代码、验证结果,形成完整的工作闭环。
📋 前置知识:零基础可学,了解基本命令行操作即可
1. 你将学到
- Claude Code 的定位:Agent 而非 Chat
- 本地代码仓库中的工作方式
- 核心架构与权限模型
- 与传统 AI 编程工具的对比
- 适用场景与局限性
关于代码示例的输出
本课程的代码示例采用确定性/非确定性分离模式,这是 AI Agent 工具教程的行业最佳实践:
| 标记 | 含义 | 你的输出 |
|---|---|---|
| 输出: | 确定性结果(安装、配置、计数等) | 应与示例基本一致 |
| 交互流程: | Agent 行为流程(LLM 调用、工具选择等) | 实际文本会不同,但流程相似 |
| 验证方法: | 练习题的检查方式 | 按描述步骤验证 |
💡 为什么不一样? 传统编程
1 + 1 = 2(永远相同),Agent 工具 agent.chat("分析代码") = ???(每次不同)。这是 AI Agent 工具的本质特性,不是 Bug。
2. 一个开发团队的真实故事
(1) 痛点:AI 编程工具效率瓶颈
Alice 是一家中型互联网公司的技术负责人。她的团队尝试了多种 AI 编程工具:
- ChatGPT:回答不错,但代码需要手动复制粘贴到项目
- GitHub Copilot:自动补全方便,但只能做局部补全,无法理解整体项目
- Cursor:IDE 集成好,但 Agent 能力受限,复杂重构做不了
产品经理 Bob 的需求越来越复杂:
"我们需要把整个认证模块从 Session 迁移到 JWT,涉及 20+ 文件,还要确保所有测试通过。"
(2) Claude Code 的解法
Alice 安装了 Claude Code,一句话启动迁移:
BASH
claude "将认证模块从 Session 迁移到 JWT,确保所有测试通过"
Claude Code 自主完成了:
- 读取项目结构,定位所有认证相关文件
- 逐个修改认证逻辑
- 运行测试套件
- 根据失败结果修复代码
- 循环迭代直到所有测试通过
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 的本质区别
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 的工作循环:
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 是加速工具,擅长重复性工作和已知模式的实现,但架构设计、需求分析、复杂决策仍需要人类。
📖 小节
- Claude Code 是 Agent 工具而非聊天工具,核心能力是自主操作代码
- 工作循环:读取 → 分析 → 执行 → 验证 → 迭代
- 高权限但多层安全控制,可配置自动/手动确认
- CLI 运行,不依赖 IDE,在终端中直接工作
- 适合多文件重构、bug 修复、测试编写等复杂任务
📝 作业
- 基础题(难度⭐):列举 Claude Code 与 ChatGPT 在编程辅助方面的三个核心区别。
- 进阶题(难度⭐⭐):为你的项目选择 AI 编程工具,写出选择理由(参考对比表格)。
- 挑战题(难度⭐⭐⭐):设计一个工作流,说明哪些任务适合用 Claude Code,哪些适合用 Copilot,给出决策依据。