---
title: "Claude Code 是什么"
description: "Claude Code 不是聊天框，而是能读项目、改文件、跑命令、验证结果的智能体式编程工具。先理解它进入工程现场的工作方式，再开始安装。"
canonical: "https://xiangyugongzuoliu.com/tag/claude-code"
verifiedAt: "2026-05-08"
---

Claude Code 的关键不是“Claude 会写代码”，而是“Claude 进入了你的工程现场”。它能看到项目文件、运行命令、修改代码、根据结果继续判断，这才是它和普通聊天式 AI 的分界线。——Aaron

> [!NOTE]
> **这一章用 10 分钟换什么**：官方概览页（overview）先回答三个问题：Claude Code 是什么、可以从哪些入口使用、适合推进哪些开发任务。本篇把它重写成中文新手路径：先建立正确心智模型，再进入安装和登录。

## 1. 先别把它当“代码聊天框”

很多人第一次理解 Claude Code，会把它放进熟悉的框架里：

```text
ChatGPT / Claude.ai 能回答代码问题
Claude Code 也能回答代码问题
所以 Claude Code = 更懂代码的聊天框
```

这个理解会害你用得很浅。

聊天框的典型工作方式是：你复制代码、粘贴错误、等待回答、自己回到项目里改。AI 只是一个在项目外面的顾问。

Claude Code 的工作方式不同。官方 [概览页（overview）](https://code.claude.com/docs/en/overview) 把它定义为智能体式编程工具（agentic coding tool）：它能读取代码库、编辑文件、运行命令，并和你的开发工具集成。换成中文开发者更好理解的话：

> [!IMPORTANT]
> **一句话定义**：Claude Code 是一个进入项目目录工作的编程 Agent（智能体），不只是回答代码问题，而是围绕项目目标连续读、想、改、跑、验证。

这就是第一章要建立的心智模型。

## 2. “进入工程现场”到底意味着什么

假设你有一个登录 bug。

用普通聊天式 AI，你通常这样做：

```text
复制报错
复制相关代码
问 AI 为什么错
把答案搬回 IDE
再跑测试
再复制新的报错
```

用 Claude Code，你可以在项目目录里启动：

```bash
cd your-project
claude
```

然后直接说。比如你可以用中文提出一个足够具体的任务：

```text
过期银行卡用户的结账流程现在有问题。
请检查 src/payments/ 里的支付逻辑，重点看 token refresh（令牌刷新）相关部分。
先写一个能复现问题的失败测试，再修复它。
```

这类提示词不需要很长，但要同时说明问题现象、排查范围和验收方式。

它的工作链路会变成：

```mermaid
flowchart TD
    Ask["你描述目标"]
    Read["Claude 读项目上下文"]
    Plan["推理下一步"]
    Act["改文件 / 跑命令"]
    Verify["看测试或命令结果"]
    Adjust["继续修正"]

    Ask --> Read --> Plan --> Act --> Verify --> Adjust
    Adjust --> Read

    style Read fill:#e0f2fe,stroke:#0284c7,stroke-width:2px
    style Act fill:#fef3c7,stroke:#f59e0b,stroke-width:2px
    style Verify fill:#dcfce7,stroke:#22c55e,stroke-width:2px
```

官方 [工作原理页（How Claude Code works）](https://code.claude.com/docs/en/how-claude-code-works) 把这个过程叫智能体循环（agentic loop）：获取上下文（gather context）、执行动作（take action）、验证结果（verify results）。三步不是线性跑一遍，而是会反复循环。

这张图的重点不是节点名，而是角色分工：

| 环节 | 你要抓住什么 |
|------|--------------|
| 描述目标 | 给目标、约束和验收标准，不是逐行指挥 |
| 读上下文 | 让 Claude 先理解项目结构、相关文件和现有约定 |
| 改文件 / 跑命令 | 行动必须落在项目现场，而不是只输出建议 |
| 看结果再修正 | 失败测试、lint、构建输出会反过来改变下一步 |

> [!TIP]
> **新手判断法**：如果你的工作还停留在“复制代码给 AI，再手动搬回项目”，你还没有真正用到 Claude Code 的核心能力。

## 3. 它能访问什么

Claude Code 能做事，是因为它有工具。

官方工作原理文档（how-it-works）里把工具分成几类：文件操作、搜索、执行命令、Web（网页能力）、代码智能。新手先记这张表：

| 能力 | 它能做什么 | 你要注意什么 |
|------|------|------|
| 文件操作 | 读文件、改代码、创建文件、重命名 | 看 diff，不要让它碰密钥 |
| 搜索 | 按文件名、正则、内容搜索代码库 | 让它先探索，再动手 |
| 执行命令 | 跑测试、构建、lint、git、脚本 | 高影响命令要审 |
| Web / 外部资料 | 查文档、抓网页、接 MCP | 外部系统要配权限 |
| 代码智能 | 诊断类型错误、跳转定义、找引用 | 依赖 IDE / LSP / 插件能力 |

在终端里运行 `claude` 后，它主要能看到：

- **当前项目**：当前目录和子目录里的文件。
- **终端环境**：你能跑的构建工具、Git、包管理器、脚本。
- **Git 状态**：当前分支、未提交改动、最近提交历史。
- **`CLAUDE.md`**：项目规则、约定、偏好。
- **Auto memory（自动记忆）**：它在工作中自动保存的项目经验。
- **扩展能力**：MCP、Skills（技能）、Subagents（子 Agent）、Hooks（钩子）、插件等。

> [!WARNING]
> **边界提醒**：能访问不等于应该访问。项目密钥、生产配置、个人凭据和远程发布动作，都应该用 Permissions（权限）、Hooks（钩子）、Sandbox（沙箱）或人工审查设边界。

## 4. 它可以做哪些事

官方概览页列了很多用法。不要把它理解成“生成代码”，更准确是“推进开发任务”：

- 探索项目：`这个项目是做什么的？`
- 修 bug：`找出 session 过期时登录失败的原因并修复`
- 加功能：`给用户注册表单加输入校验`
- 补测试：`给 auth 模块写测试，跑测试，并修复失败用例`
- 整理文档：`更新 README，让它和当前的安装/启动流程一致`
- Git 工作流：`帮我把改动 commit 一下，写一条描述清楚的 message`
- 批量维护：`修复全项目的 lint 错误`
- 代码审查：`检查这几个改动文件有没有安全问题`

第一轮不适合直接交给它的任务也要说清：

- 没有验收标准的大范围重构。
- 需要生产权限、真实客户数据或支付操作的任务。
- 你自己还没想清楚边界，却要求它“一次性全自动做完”的任务。

关键不是命令写得多漂亮，而是给出目标、约束和验收。

弱提示（不要这样写）：

```text
修一下。
```

更好的提示：

```text
先读 src/auth 和 tests/auth。
bug 是：已过期的 session 没有跳到登录页。
请先写一个能复现问题的失败测试，再实现修复，然后跑相关测试命令。
不要改数据库 schema。
```

> [!IMPORTANT]
> **第一性原理**：Claude Code 做得好不好，不只取决于模型能力，也取决于你有没有给它清晰的工程目标和验证标准。

## 5. 入口不止终端，但终端最完整

官方概览页当前列了多个入口：Terminal（终端）、VS Code、Desktop app（桌面应用）、Web（网页）、JetBrains，也提到 CI/CD、Slack、Chrome、Mobile（移动端）、Remote Control（远程控制）等集成。

这些入口连接的是同一个 Claude Code 底层能力。差别不在“哪个才是真的 Claude Code”，而在代码运行在哪里、你用什么界面审查 diff、能不能离开本机继续任务。

官方还在持续扩展跨设备、定时和外部触发能力：

- **定时任务三种粒度**：`Routines`（云端常驻，电脑关机也跑）/ `Desktop scheduled tasks`（本机直访本地文件）/ `/loop`（CLI 会话内重复一段提示）。
- **跨设备会话**：`Remote Control`（手机或浏览器接管本地会话）/ `Dispatch`（手机派发任务到桌面应用）/ `claude --teleport`（把 web 或 iOS 长任务拉回终端）/ `/desktop`（终端会话转到桌面应用做 diff 视觉审查）。
- **外部触发**：`Channels`（Telegram / Discord / iMessage / 自定义 webhook 推送进会话）/ `GitHub Actions` / `GitLab CI/CD`（PR 评论或 issue 触发 Claude Code）/ Slack `@Claude`（团队 chat 转 PR）。

第一章只建立入口判断，细节放到平台章节。

新手先按这张表选：

| 入口 | 适合什么 | 新手建议 |
|------|------|------|
| Terminal CLI（终端命令行） | 本地项目、完整工具链、Git、构建和测试 | 第一优先 |
| VS Code / Cursor | 看 inline diff（行内差异）、引用当前编辑器上下文 | 熟悉 IDE 后再接 |
| JetBrains | IntelliJ、PyCharm、WebStorm 用户 | JetBrains 项目可用 |
| Desktop app（桌面应用） | 视觉 diff（图形化差异）、多会话、桌面任务 | 需要图形审查时用 |
| Web（网页） | 无本地设置、长任务、云端仓库 | 适合远程和异步任务 |
| Mobile / Remote Control（移动端 / 远程控制） | 离开电脑后继续看任务 | 不是第一入口 |
| CI/CD / Slack | 自动审查、issue triage（问题分诊）、团队触发 | 团队成熟后用 |

> [!TIP]
> **新手路线**：先从终端命令行学会基本循环，再把 VS Code、Desktop、Web 当成不同场景下的补充入口。

## 6. 第一轮会话该怎么开始

官方快速开始页（quickstart）建议从一个真实项目目录开始，而不是空目录。

最小路径是：

```bash
cd your-project
claude
```

第一次会要求登录。登录后，不要马上让它大改代码。先问一个探索问题：

```text
这个项目是做什么的？
```

然后问更具体的结构问题：

```text
认证流程是在哪里实现的？
```

再让它提出计划：

```text
请给我一个计划：在注册表单上加输入校验。先不要动文件。
```

最后才允许执行：

```text
按计划实施。跑相关测试。提交前先给我看 diff。
```

这条路径背后的原因很简单：Claude Code 是 Agent，Agent 会自己探索和行动。你越早让它理解项目边界，后面越少返工。

```mermaid
flowchart TD
    Start["进入真实项目目录"]
    Explore["先问项目是什么"]
    Locate["定位相关模块"]
    Plan["先要计划"]
    Execute["批准执行"]
    Verify["运行测试 / 看 diff"]

    Start --> Explore --> Locate --> Plan --> Execute --> Verify

    style Plan fill:#fef3c7,stroke:#f59e0b,stroke-width:2px
    style Verify fill:#dcfce7,stroke:#22c55e,stroke-width:2px
```

这条最小路径的价值在于降低误操作：

| 步骤 | 为什么不能跳过 |
|------|----------------|
| 进入真实项目目录 | Claude 需要看到真实文件和项目规则 |
| 先问项目是什么 | 先确认它读到的上下文是否正确 |
| 定位相关模块 | 避免它在无关目录里猜测实现 |
| 先要计划 | 把研究和改代码拆开，方便你审方向 |
| 批准执行 | 高影响动作仍然由你决定 |
| 运行测试 / 看 diff | 用结果验证，而不是只相信回答 |

## 7. 它不是全自动替你负责

Claude Code 很强，但它不是“交出去就不用管”的按钮。

官方工作原理页里强调，你可以随时打断并调整方向（interrupt and steer）。它会自主推进，但仍然响应你的输入。这个设计很重要：Claude Code 不是替你做最终判断，而是把机械探索、改动和验证加速。

你仍然要负责：

- 判断任务是否该做。
- 审查关键 diff。
- 审查权限弹窗和高影响命令。
- 判断测试是否足够。
- 确认是否提交、推送、部署。

按动作风险划分，可以这样看：

- 搜索文件通常可以自动放行，因为它是只读操作。
- 改普通源码可以给条件信任，因为能看 diff，也能回滚。
- 跑测试 / lint 通常可以自动放行，因为风险低且可验证。
- 改 `.env` / secrets 不应该自动放行，因为涉及凭据。
- `git push` / deploy 应该人工确认，因为会影响远程状态。
- 数据库写入 / 删除应该严格限制，因为可能不可逆。

> [!CAUTION]
> **不要把“能自动行动”理解成“可以自动负责”**：Claude Code 能跑命令，不代表每个命令都应该自动放行。后面的 [Permissions 章节](/docs/claude-code/official/01-core-capabilities/permissions) 会专门解决这个边界。

## 8. 这章和后面章节的关系

这一章只解决一个问题：Claude Code 到底是什么。

后面的入门篇会逐步落到操作：

- **安装和更新**：怎么把 CLI 装到本机，并保持版本正确。
- **登录与认证**：用订阅、Console、企业云或第三方提供商登录。
- **选择平台与集成**：CLI、Desktop、IDE、Web、Mobile 怎么选。

理解篇会继续补底层概念：

- **上下文**：Claude 一次能看到多少东西。
- **记忆**：跨会话怎么记住项目习惯。
- **Skills（技能）/ Subagents（子 Agent）/ MCP**：能力怎么扩展。
- **Hooks（钩子）/ Permissions（权限）**：自动化和安全边界怎么管。

> [!TIP]
> **一句话收束**：先把 Claude Code 当成“在项目现场循环工作的 Agent”，再去学安装、配置和扩展。顺序反了，就容易把它用成普通聊天框。

## 9. 本章自检

试着用自己的话回答：

1. Claude Code 和普通聊天式 AI 的核心差别是什么？对应 §1-§2。
2. 智能体循环（agentic loop）的三步是什么？为什么它会循环？对应 §2。
3. Claude Code 在终端里主要能访问哪几类上下文？对应 §3。
4. 为什么新手应该先从终端命令行入口开始，而不是一上来混用所有入口？对应 §5。
5. 哪些动作适合自动放行，哪些动作应该人工确认？对应 §7。

> [!IMPORTANT]
> **过关标准**：你能说清 Claude Code 不是“帮你写代码的聊天框”，而是“带工具、上下文和权限边界的本地编程 Agent”。

<details id="glossary">
<summary><b>本篇术语速查表</b></summary>

- **Claude Code**：Claude 编程 Agent（智能体），Anthropic 面向软件工程现场的智能体式编程工具（agentic coding tool）。
- **Agentic coding tool**：智能体式编程工具，能读上下文、调用工具、采取行动并验证结果的编程工具。
- **Agentic loop**：智能体循环，获取上下文（gather context）、执行动作（take action）、验证结果（verify results）反复推进任务。
- **Terminal CLI**：终端命令行入口，最完整的本地 Claude Code 使用入口。
- **Context**：上下文，当前会话里 Claude 能看到并用于判断的信息。
- **Tool**：工具，Claude 用来读文件、搜索、编辑、运行命令、联网的能力。
- **`CLAUDE.md`**：项目说明文件，每次会话开头加载的项目规则和偏好。
- **Auto memory**：自动记忆，Claude 在工作中保存的项目经验和偏好。
- **Permission**：权限，控制 Claude 能不能执行某类工具调用的规则。
- **Checkpoint**：检查点，文件改动前的本地快照，用于回退 Claude 的编辑。

</details>

## 官方来源

- [Claude Code overview](https://code.claude.com/docs/en/overview)
- [Quickstart](https://code.claude.com/docs/en/quickstart)
- [How Claude Code works](https://code.claude.com/docs/en/how-claude-code-works)

## 接下来去哪

<Cards>
  <Card href="/docs/claude-code/official/00-getting-started/install" title="安装和更新 Claude Code" description="理解产品定位后，下一步是按官方推荐方式安装 CLI，并知道 native installer、Homebrew、WinGet 的差别。" />
  <Card href="/docs/claude-code/understanding/01-what-is-claude-code" title="深度理解：Claude Code 是什么" description="如果想看更完整的心智模型，去理解篇第一章，把 AI 进入项目现场这一点讲透。" />
  <Card href="/docs/claude-code/official/00-getting-started/platforms" title="选择平台与集成" description="如果你已经装好了，直接看 CLI、Desktop、IDE、Web、Mobile 这些入口该怎么选。" />
</Cards>

如果只记一个判断：**Claude Code 的起点不是“问 AI 一段代码”，而是“让 Agent 进入项目现场，在你的边界内完成开发循环”。**
