# Lesson 1: cc4pm 全景：四大模块与产品思维

## 本课目标

- 理解 Claude Code 与聊天机器人的本质区别
- 掌握代理循环（Agentic Loop）的工作原理
- 了解 cc4pm 的全景：四大模块与 Claude Code 扩展体系
- 通过演示案例亲眼观察代理循环的运作

> **互动版**：打开 [lesson-1-panorama.html](lesson-1-panorama.html)，用可视化方式探索四大模块、体验代理循环动画。

## 核心内容

### 1. Claude Code 不是聊天机器人

这是你需要建立的第一个认知。

ChatGPT、Claude.ai 这类工具是聊天界面——你问一句，它答一句。Claude Code 完全不同。它是一个**代理式编码环境（Agentic Coding Environment）**，运行在你的终端里，能够：

- **主动读取**你项目中的文件和代码
- **主动运行**命令行工具、测试、构建脚本
- **主动修改**你的代码文件
- **自主决策**下一步做什么——读哪个文件、运行什么命令、改哪行代码

> 聊天机器人：你问，它答。
> 代理式编程：你说目标，它**自己去搞定**。

这意味着你的角色发生了根本性的转变：

```
传统方式：你是执行者
  你写代码 → 你调试 → 你提交 → 你找 AI 帮忙改一段

代理方式：你是指挥者
  你描述目标 → Claude 自己探索代码库 → 自己写代码
  → 自己运行测试 → 自己修复问题 → 你审核结果
```

你不需要告诉 Claude "打开 src/utils.js，找到第 42 行"。你只需要说"修复登录验证的 bug"，Claude 会自己去找相关文件、读代码、定位问题、修复并验证。

### 2. 代理循环（Agentic Loop）如何工作

Claude Code 的核心机制是一个不断重复的循环：

```
┌─────────────────────────────────────────────────────┐
│                  代理循环（Agentic Loop）               │
│                                                       │
│    用户输入                                            │
│      ↓                                                │
│    模型分析："要完成这个目标，我需要先了解什么？"         │
│      ↓                                                │
│    选择工具：Read? Bash? Edit? Grep? Glob?             │
│      ↓                                                │
│    执行工具：读取文件 / 运行命令 / 修改代码               │
│      ↓                                                │
│    检查结果："达到目标了吗？还需要做什么？"               │
│      ↓                                                │
│    ┌─ 是 → 向用户汇报结果                              │
│    └─ 否 → 回到"选择工具"，继续循环                     │
│                                                       │
└─────────────────────────────────────────────────────┘
```

**Claude 的工具箱**：

| 工具 | 作用 | 类比 |
|------|------|------|
| **Read** | 读取文件内容 | 翻开一份文档 |
| **Glob** | 按模式搜索文件名 | 在文件柜里找文件 |
| **Grep** | 在文件内容中搜索文本 | 全文检索 |
| **Edit** | 精确修改文件中的某段文本 | 改一段文字 |
| **Write** | 创建或完整重写文件 | 写一份新文档 |
| **Bash** | 运行终端命令 | 打开命令行执行操作 |
| **Agent** | 启动子代理，在独立上下文中工作 | 派一个助手去做调研 |

关键点：**这个循环是自主的**。Claude 不会每走一步都问你"接下来怎么办？"。它会根据目标自己决定下一步。你可以在旁边观察，随时：

- 按 `Esc` 打断它，给新的指示
- 什么都不做，让它自己完成
- 甚至走开泡杯咖啡回来看结果

### 3. 演示案例：在 cc4pm 目录中观察代理循环

现在让我们亲眼看看代理循环是怎么工作的。

**准备**：

```bash
# 进入 cc4pm 项目目录
cd cc4pm

# 启动 Claude Code
claude
```

**发出指令**：

```
你：这个项目有多少个 agent？列出它们的名字和用途。
```

**观察 Claude 的行为**（你会看到类似这样的过程）：

```
Claude 的思考：用户想知道项目中的 agent 信息，
我需要先找到 agent 文件所在的位置。

→ [工具调用] Glob: agents/*.md
  结果：找到 18 个文件

Claude 的思考：找到了 18 个 agent 文件，
现在需要读取每个文件了解它们的用途。

→ [工具调用] Read: agents/planner.md
  结果：（文件内容）

→ [工具调用] Read: agents/code-reviewer.md
  结果：（文件内容）

→ [工具调用] Read: agents/tdd-guide.md
  结果：（文件内容）

... （继续读取其他文件）

Claude 的思考：我已经读完所有 agent 文件，
现在可以汇总给用户了。

Claude 输出：
  cc4pm 项目共有 18 个 agent，以下是它们的名字和用途：

  1. planner - 需求分析和实现规划
  2. code-reviewer - 代码质量和安全审查
  3. tdd-guide - 测试驱动开发指导
  4. architect - 技术架构设计
  5. security-reviewer - 安全漏洞审查
  6. e2e-runner - 端到端测试执行
  ...
```

**你观察到了什么？**

1. 你没有告诉 Claude 文件在哪里——它自己用 Glob 搜索
2. 你没有告诉 Claude 读哪些文件——它自己决定读所有 agent 文件
3. 你没有告诉 Claude 怎么组织输出——它自己选择了列表格式
4. 整个过程中你只说了一句话

这就是代理循环：**收集上下文 → 采取行动 → 检查结果 → 重复**。

#### 动手试试

打开终端，进入 cc4pm 目录，启动 `claude`，试试这些问题：

```
# 问题 1：探索项目结构
"这个项目的目录结构是什么？每个顶层目录是做什么的？"

# 问题 2：统计分析
"skills/ 目录下有多少个技能？按类别分组统计"

# 问题 3：深度分析
"读一下 agents/planner.md，告诉我这个代理的职责、
可以使用的工具、以及适合什么场景使用"
```

观察每次 Claude 使用了哪些工具、循环了几次。你会发现问题越复杂，循环次数越多。

### 4. cc4pm 全景

现在你理解了代理循环，让我们看看 cc4pm 给你准备了什么。

cc4pm 的全称暗示了它的定位：**Claude Code for Product Maker**——但它的能力远不止产品管理。

#### 四大模块

| 模块 | 全称 | 定位 | 核心能力 |
|------|------|------|---------|
| **BMM** | Business Modeling Method | 从需求到交付 | PRD 创建、市场研究、冲刺规划、需求拆解 |
| **CIS** | Creative Intelligence Strategy | 创意与创新 | 36 种头脑风暴技巧、30 种创新框架、故事叙事 |
| **WDS** | Web Design System | 设计与体验 | 用户心理分析、UX 设计、设计系统、原型 |
| **工程工具链** | Engineering Toolchain | 代码与质量 | TDD、代码审查、构建修复、E2E 测试 |

#### 数字一览

```
33 个代理（Agents）  —— 各领域的专业 AI 助手
96 个技能（Skills）  —— 领域知识和工作流模板
48 个命令（Commands） —— 一键触发的标准流程
+ Hooks、Rules、MCP 配置
```

#### Claude Code 扩展体系

cc4pm 之所以能提供这么多能力，是因为它利用了 Claude Code 的完整扩展体系：

```
┌──────────────────────────────────────────────────┐
│              Claude Code 扩展体系                  │
├──────────────────────────────────────────────────┤
│                                                   │
│  Rules（规则）     每次对话都自动加载               │
│                    → 编码风格、安全检查、Git 规范    │
│                                                   │
│  Skills（技能）    按需加载的领域知识               │
│                    → BMM/CIS/WDS 的核心载体         │
│                                                   │
│  Agents（代理）    在独立上下文中运行的专家          │
│                    → 分析师、PM、架构师、QA 等       │
│                                                   │
│  Commands（命令）  一键触发的预定义流程              │
│                    → /plan、/code-review、/e2e 等   │
│                                                   │
│  Hooks（钩子）     工具事件时自动触发的脚本          │
│                    → 文件保存后自动格式化等           │
│                                                   │
└──────────────────────────────────────────────────┘
```

每一层解决不同的问题，后续课程会逐一深入。现在你只需要知道：cc4pm 把实战经验固化成了这五层扩展，让你不用从零摸索。

## 常见问题

**Q: 代理循环会不会失控？Claude 会不会乱改我的文件？**

A: 不会失控。Claude Code 有权限控制机制，首次修改文件或运行命令时会征求你的同意。你可以随时按 `Esc` 打断它。而且你的代码在 Git 版本控制下，任何修改都可以撤销。

**Q: 我不是程序员，代理循环对我有什么用？**

A: 代理循环不只是写代码。当你用 `/bmad-create-prd` 创建产品需求文档时，Claude 同样在执行代理循环——读取已有文档、分析市场数据、生成 PRD、验证完整性。你作为产品主理人的指挥方式完全一样：描述目标，让 Claude 自主完成。

**Q: cc4pm 的技术基础是什么？**

A: cc4pm 基于 Anthropic 黑客马拉松获奖项目的工程底座（代理、技能、自动化钩子），在此基础上新增了 BMM（业务建模）、CIS（创意智能）、WDS（设计系统）三大方法论模块，使其从一个"开发者工具"进化为"面向产品主理人的完整 AI 协作平台"。

## 下一步

请调用 `AskUserQuestion` 展示以下选项，让学习者点击选择；从每条中提炼 1-5 个词作为 label，其余写入 description，不要要求输入数字：

- 进入补充课：Lesson 1.1 - Claude Code 工作原理——源码级深度解析
- 跳过补充课，进入 Lesson 2 - 上下文窗口：你最重要的资源
- 返回主菜单
- 退出学习

---
*阶段 1 | Lesson 1/26 (阶段内 1/10) | 上一课: 无 | 下一课: Lesson 1.1 - CC 工作原理*
