---
title: "项目介绍"
description: "Claude Code 是运行在终端中的 agentic coding system。理解它的设计定位、架构选择和核心能力。"
keywords: ["Claude Code", "AI 编程助手", "Agentic Coding", "终端 AI"]
og:image: "https://ccb.agent-aura.top/docs/images/og-cover.png"
---

## 一句话定义

Claude Code 是一个**运行在本地终端中的 agentic coding system**。它不是给建议的聊天机器人——它直接在你的项目目录中读代码、改文件、跑命令、调试程序，拥有完整的 shell 能力。

## 设计定位

理解 Claude Code 的关键在于三个词：

| 定位 | 含义 | 设计影响 |
|------|------|----------|
| **Terminal-native** | 原生 CLI 应用，不是 IDE 插件也不是 Web 界面 | 拥有完整 shell 访问权，但需要自建权限模型和安全沙箱 |
| **Agentic** | AI 自主决定调用什么工具、传什么参数、何时停止 | 不是"一问一答"，而是多轮自主决策循环 |
| **Coding system** | 面向软件工程全流程设计 | 工具集覆盖文件操作、命令执行、代码搜索、任务管理 |

### 为什么选择终端

终端不是限制，而是一个有意为之的架构选择。它带来了独特的能力，也带来了对应的代价：

**优势：**
- **完整的 shell 访问** — 可以运行任何命令行工具，无需为每个能力写插件
- **项目原生** — 直接在项目目录工作，天然理解文件系统结构和 git 状态
- **可组合性** — 管道模式（`echo "..." | claude -p`）允许嵌入 CI/CD 和自动化流程
- **低延迟** — 没有 Electron 开销，React/Ink 渲染的 TUI 响应极快

**代价：**
- 用户需要适应命令行界面
- 没有 GUI 意味着无法直接展示图片、图表等富内容
- 权限管理的复杂度远高于 IDE 插件（因为能力边界更大）

### 与同类工具的架构差异

| 工具 | 架构模式 | 工具执行方式 | 安全边界 |
|------|----------|-------------|----------|
| **Claude Code** | Terminal-native agentic loop | 直接 shell 执行 | 自建权限模型 + 沙箱 |
| Cursor / Copilot | IDE-integrated autocomplete + chat | LSP / IDE API | IDE 沙箱天然隔离 |
| Aider | CLI chat → git patch | 文件操作为主 | 通过 git diff 约束变更范围 |
| ChatGPT / Claude.ai | Cloud chat + artifacts | 沙箱容器 | 云端容器隔离 |

核心区别：Claude Code 把 AI 放在了**与用户相同的权限层级**上。这既是它最强大的地方，也是安全设计最复杂的挑战。

## 端到端：一次任务的生命周期

当你在终端中输入 `bun run dev 有个 TypeScript 报错，帮我修一下` 时，系统经历了什么？

```
用户输入 → REPL 捕获 → 上下文组装 → API 调用 → 流式响应
                                                    ↓
                                              解析工具调用
                                                    ↓
                                          权限检查 → 执行工具
                                                    ↓
                                          结果回传 → 再次调 API
                                                    ↓
                                              循环直到完成
```

具体到这个报错修复场景，一次典型的 agentic loop：

| 步骤 | AI 自主决策 | 工具调用 | 设计考量 |
|------|------------|----------|----------|
| 1 | 先复现报错 | `Bash("bun run dev 2>&1 | head -30")` | AI 自行决定先诊断再修复，而非直接改代码 |
| 2 | 定位到问题文件 | `Read("src/utils/foo.ts")` | 读取而非猜测，保证修改基于最新代码 |
| 3 | 搜索相关类型定义 | `Grep("interface Foo", "src/")` | 跨文件理解依赖关系 |
| 4 | 修改代码 | `FileEdit(old, new)` | 精确替换而非全文重写，保留 git 历史可追溯 |
| 5 | 验证修复 | `Bash("bun run dev 2>&1 | head -10")` | 自主验证是 agentic 系统的关键闭环 |

每一步都是 AI 自主决策的。它决定用哪个工具、传什么参数、何时停止——这就是 "agentic" 的含义。

## 核心设计原则

这些原则贯穿整个系统的设计：

**1. 能力优先，安全兜底**

系统设计的第一步是"让 AI 能做什么"，然后才是"如何限制它"。这导致工具系统非常强大（完整 shell），但需要配套的权限模型（每次敏感操作可配置为需用户确认）。

**2. 本地优先**

所有代码执行都在本地机器上，不经过云端沙箱。这意味着：
- 用户对数据有完全控制权
- 可以访问本地文件系统、网络、硬件
- 但也需要自己承担安全风险

**3. 流式一切**

从 API 响应到工具执行结果，所有数据都以流的方式处理。这让用户可以在 AI 思考的同时看到进展，也使得长时间运行的任务可以中途取消。

**4. 上下文工程**

系统花大量精力在"给 AI 看什么"上——自动收集 git 状态、项目结构、CLAUDE.md 指令、历史记忆等。上下文的质量直接决定 AI 的表现。

## 它不是什么

理解边界和了解能力一样重要：

- **不是 IDE 插件** — 没有图形界面，不依赖任何 IDE
- **不是 API wrapper** — 它有自己的工具系统、权限模型、上下文工程、会话管理
- **不是聊天机器人** — 输出不是纯文本建议，而是实际的文件修改和命令执行
- **不是无脑执行器** — 每个敏感操作都有权限检查，系统内置规划模式用于复杂任务

## 接下来

- **架构总览** — 了解系统的模块划分和数据流
- **Agent Loop** — 深入理解核心循环的工作机制
- **工具系统** — 了解 AI 拥有哪些工具及其设计考量
