Claude Code: 实战:Chrome 扩展与并行任务
最后更新:2026-08-31
学了这么多,是时候真刀真枪地干了。本章通过两个实战场景——Chrome 扩展开发和并行任务管理——展示 Claude Code 的真实战斗力。
💡 提示:实战中 Claude Code 的价值不在于单次输出,而在于"理解需求 → 拆解任务 → 执行 → 验证 → 迭代"的完整闭环。
📋 前置知识:第二十章 检查点与回滚
1. 你将学到
- Chrome 扩展开发全流程
- 并行任务的实际应用
- 大型任务拆解策略
- 迭代式开发实践
- 实战中的成本控制
2. 实战一:Chrome 扩展开发
(1) 项目概述
Alice 需要开发一个 Chrome 扩展——"网页高亮标注工具":
- 在任意网页上选中文字后高亮标注
- 支持多种颜色标签
- 标注数据持久化存储
- 可以导出标注为 Markdown
(2) 让 Claude Code 完成开发
TEXT
📖 仅展示
> 创建一个 Chrome 扩展:网页高亮标注工具
功能要求:
1. 选中文字后右键菜单"高亮标注"
2. 支持 4 种颜色:黄/绿/蓝/红
3. 标注持久化(Chrome storage API)
4. Popup 面板管理标注列表
5. 一键导出为 Markdown
技术要求:
- Manifest V3
- TypeScript
- 无框架(原生 DOM)
- 遵循 Chrome 扩展最佳实践
Claude Code:
→ Creating project structure...
→ Creating manifest.json (Manifest V3)
→ Creating src/background.ts (service worker)
→ Creating src/content.ts (content script)
→ Creating src/popup/ (popup UI)
→ Creating src/storage.ts (标注持久化)
→ Creating src/export.ts (Markdown 导出)
→ Creating tsconfig.json & package.json
→ Running: npm run build ✓
项目创建完成!7 个源文件,功能完整。
▶ 示例 1: 迭代增强功能
TEXT
📖 仅展示
# 第一轮:基础功能完成,开始迭代
> 添加功能:点击已有高亮可以取消标注
Claude Code:
→ Reading src/content.ts
→ Adding click-to-remove handler
→ Adding remove-highlight animation
→ Running: npm run build ✓
> 添加功能:标注列表支持搜索
Claude Code:
→ Reading src/popup/popup.ts
→ Adding search input with filter
→ Running: npm run build ✓
> 添加功能:支持在 PDF 页面中标注
Claude Code:
→ PDF 使用 embed/object,无法直接注入 content script
→ 替代方案:使用 PDF.js 渲染 PDF,然后注入标注功能
→ This is a significant change. /checkpoint "PDF support"
→ Adding PDF.js integration
→ Creating src/pdf-viewer.ts
→ Modifying manifest.json for PDF handling
→ Running: npm run build ✓
(3) 项目结构
TEXT
📖 仅展示
chrome-highlighter/
├── manifest.json
├── src/
│ ├── background.ts # Service Worker
│ ├── content.ts # Content Script
│ ├── popup/
│ │ ├── popup.html
│ │ ├── popup.ts
│ │ └── popup.css
│ ├── storage.ts # 标注持久化
│ ├── export.ts # Markdown 导出
│ └── pdf-viewer.ts # PDF 支持
├── icons/
├── dist/ # 构建输出
├── package.json
└── tsconfig.json
3. 实战二:并行任务管理
(1) 场景描述
Bob 需要同时处理一个后端项目的 4 个独立任务:
- 添加用户头像上传功能
- 实现数据导出 API
- 重构日志系统
- 补充缺失的测试
(2) 串行 vs 并行
TEXT
📖 仅展示
# 串行方式(一个接一个)
> 添加用户头像上传功能
[8 min]
> 实现数据导出 API
[6 min]
> 重构日志系统
[10 min]
> 补充缺失的测试
[5 min]
总计: 29 min
# 并行方式(同时执行)
> 同时处理以下4个任务:
> 1. src/api/avatar.ts - 添加头像上传
> 2. src/api/export.ts - 数据导出 API
> 3. src/utils/logger.ts - 重构日志
> 4. tests/ - 补充测试
Claude Code 启动 4 个子代理并行执行:
子代理1 [avatar] → ✅ 8min
子代理2 [export] → ✅ 6min
子代理3 [logger] → ✅ 10min
子代理4 [tests] → ✅ 5min
总计: 10 min(最慢子代理的时间)
▶ 示例 2: 并行任务注意事项
TEXT
📖 仅展示
# 问题:并行修改同一文件会冲突
> 并行修改 src/routes/index.ts 中的路由注册
❌ 冲突!多个子代理同时修改同一文件
# 解决:每个任务修改不同文件
> 头像上传只涉及 src/api/avatar.ts 和 src/routes/avatar.ts
> 数据导出只涉及 src/api/export.ts 和 src/routes/export.ts
> 不要修改 src/routes/index.ts(我手动注册路由)
Claude Code:
子代理1 [avatar files] → ✅
子代理2 [export files] → ✅
主代理: 汇总结果,生成路由注册代码
→ "请在 src/routes/index.ts 中添加以下两行:
import avatarRoutes from './avatar';
import exportRoutes from './export';"
4. 大型任务拆解策略
(1) 拆解原则
| 原则 | 说明 |
|---|---|
| 独立性 | 子任务间无文件依赖 |
| 原子性 | 每个子任务有明确完成标准 |
| 可验证 | 每个子任务可独立测试 |
| 可回滚 | 每个子任务可单独回滚 |
(2) 拆解步骤
TEXT
📖 仅展示
# Alice 的电商项目重构
原始任务:"将项目从 REST 迁移到 GraphQL"
拆解:
1. 定义 GraphQL Schema(独立)
2. 创建 User Resolver(独立,依赖 Schema 定义完成)
3. 创建 Order Resolver(独立,依赖 Schema 定义完成)
4. 创建 Payment Resolver(独立,依赖 Schema 定义完成)
5. 添加 DataLoader 优化 N+1(独立)
6. 迁移路由层(依赖所有 Resolver 完成)
7. 删除旧 REST 路由(最后一步)
执行顺序:
Step 1: Schema → 完成后
Step 2-5: 4个 Resolver 并行 → 完成后
Step 6: 迁移路由 → 完成后
Step 7: 清理
▶ 示例 3: 分阶段执行
TEXT
📖 仅展示
# Phase 1: Schema
> 只创建 GraphQL Schema 定义文件
/checkpoint "schema-complete"
# Phase 2: 并行创建 Resolver
> 基于已创建的 Schema,并行创建所有 Resolver
/checkpoint "resolvers-complete"
# Phase 3: 路由迁移
> 将路由从 REST 迁移到 GraphQL,删除旧路由
/checkpoint "migration-complete"
# 验证
> 运行全量测试
✅ All 134 tests passed
5. 实战成本控制
(1) 成本监控
TEXT
📖 仅展示
# 每个阶段检查成本
> /cost
Phase 1 (Schema): $0.45, 15K tokens
Phase 2 (Resolvers): $2.30, 78K tokens (4子代理)
Phase 3 (Migration): $1.80, 60K tokens
─────────────────────────────
Total: $4.55, 153K tokens
# 对比人工时间:
# 串行开发约 4 小时,Claude Code 约 30 分钟
# 成本 $4.55 vs 工时成本 $200+($50/h × 4h)
(2) 优化策略
| 策略 | 节省 | 方法 |
|---|---|---|
| 精确指令 | 30-50% | 明确文件和约束 |
| 分阶段 | 20-30% | 避免一次性大任务 |
| 复用上下文 | 10-20% | 短会话 + resume |
| Sonnet 优先 | 50-70% | 非关键任务用 Sonnet |
❓ 常见问题
Q Claude Code 能开发完整的应用吗?
A 能,但需要迭代。首次生成通常能完成 80%,剩余 20% 需要多次迭代完善。
Q 并行任务的最大数量有限制吗?
A 没有硬性限制,但建议不超过 5-6 个。太多子代理会增加冲突概率和 Token 消耗。
Q Chrome 扩展开发有什么特殊注意?
A Manifest V3 的限制、content script 的 CSP 问题、异步消息传递。在 CLAUDE.md 中写明使用 Manifest V3。
Q 如何确保并行任务不冲突?
A 确保每个子任务操作不同的文件。有共享文件时,让主代理处理共享部分,子代理只处理独立部分。
Q 实战中最重要的技巧是什么?
A 拆解任务 + 检查点。大任务拆成小任务,每个检查点验证,出错可精确回滚。
Q 成本太高怎么办?
A 用精确指令减少 Token,非关键任务用 Sonnet/DeepSeek,分阶段执行避免重做。
📖 小节
- Chrome 扩展实战:Claude Code 可完成从零到完整功能
- 并行任务:独立子任务并行执行,时间节省 50-70%
- 拆解原则:独立性、原子性、可验证、可回滚
- 分阶段执行 + 检查点,确保每步可回滚
- 成本控制:精确指令、分阶段、Sonnet 优先
📝 作业
- 基础题(难度⭐):用 Claude Code 创建一个简单的 Chrome 扩展(如页面计时器),验证功能可用。
- 进阶题(难度⭐⭐):开发一个 Chrome 扩展并迭代增强 2 个功能,使用检查点管理每次迭代。
- 挑战题(难度⭐⭐⭐):设计一个 4 任务并行方案,对比串行和并行的实际执行时间和 Token 消耗差异。