Claude Code 完全指南:MECE任务分解与规范驱动开发
1.1任务分解原则--MECE:
举例:“构建一个博客系统”
MECE(Mutually Exclusive,Collectively Exhaustive)是一个管理咨询中常用的概念,意思是“相互学习,完全穷尽”。
构建博客系统:
├─1.用户系统(注册、登录、个人资料)
├─2.文章系统(创建、编辑、删除、列表)
├─3.评论系统(发表、删除、回复)
├─4.分类标签(创建分类、打标签、按分类筛选)
└─部署上线(打包、配置服务器、域名)
这五个任务之间互不重叠(相互独立),合并在一起覆盖了博客系统的全部功能
1.2规范驱动开发SDD
规范是你和AI之间的“合同”
-
要怎么做(功能需求)
-
怎么做(技术需求)
-
做到什么程度(质量需求)
1.2.1需求规范:PRD文档
PRD(Product Requirements Document,产品需求文档)描述的是“要做什么”。
用户故事(User Story)格式:
做为一个[角色], 我希望[功能], 以便[价值/目的]。
例如:
作为一个博客读者, 我希望能按标签筛选文章, 以便快速找到我感兴趣的内容。
验收标准(Acceptance Criteria)格式:
Given(前提条件):系统中有20篇文章,其中5篇标记了"python"标签 When(操作):用户点击"pyhton"标签 Then(预期结果):页面只显示5篇标记了"python"标签的文章
用AI辅助生成PRD的Prompt(提示词):
我想做一个个人书签管理工具。 请帮我生成一份完整的PRD文档,包括: 1.项目概述(一句话描述) 2.目标用户 3.核心功能列表(按优先级排列:Must Have/Should Have/Nice have) 4.每个功能的用户故事和验收标准 5.非功能需求(性能、安全、兼容性) 请用Markdown格式输出
1.2.2技术规范:SPEC文档
SPEC(Technical Specification,技术规范文档)描述的是“怎么做”。
一个完整的SPEC文档包含:
| 模块 | 内容 | 说明 |
|---|---|---|
| 系统结构 | 整体架构设计图 | 前后端如何交互 |
| 技术选型 | 使用什么技术和框架 | 比如Nest.js+Prisma+SQLite |
| 数据模式 | 数据库表结构设计 | 有哪些表、每个表有哪些字段 |
| API接口 | 接口定义 | 每个API的URL、请求参数、返回格式 |
| 目录结构 | 项目文件组织 | 代码放在哪个文件夹 |
让AI从PRD自动生成SPEC的Prompt:
基于以下PRD文档,请生成对应的技术规范文档(SPEC): [粘贴你的PRD内容] 要求: 1.推荐技术选型并说明理由 2.设计完整的数据模型(包含字段类型和关系) 3.列出所有API接口(RESTful风格) 4.给出建议的项目目录结构
1.2.3质量规范
质量规范定义了“做到什么程度算合格”:
-
编码规范:代码风格统一、命名规则、注释要求
-
测试规范:需要覆盖哪些测试场景
-
安全规范:输入验证、认证授权、数据保护
1.2.4规范文件的组织与管理
建议在项目根目录下创建一个spcs/文件夹,统一管理规范文件:
my-project/ ├─specs/ │ ├─PRD.md #产品需求文档 │ ├─SPEC.md #技术规范 │ ├─ARCHITECTURE.md #架构设计 │ └─API.md #API接口文档 ├─src/ #源代码 ├─CLAUDE.md #给Claunde Code的项目说明 └─package.json
规范文件最大的价值之一是——可以直接作为AI工具的上下文输入。
1.3本部分小结
核心概念回顾
| 概念 | 一句话解释 |
|---|---|
| AI辅助编程 | |
| Vibe Coding | 跟着感觉走的编程方式,适合快速原型和小项目 |
| Agentic Engineering | 系统化的AI驱动开发方式,适合大型项目 |
| Agent(智能体) | 能自主规划、执行、验证任务的AI系统 |
| SDD(规范驱动开发) | 先写规范(PRD/SPEC),再让AI安规范执行 |
| PRD | 产品需求文档,描述“做什么” |
| SPEC | 技术规范文档,描述“怎么做” |
三者的关系
vibe coding(感觉驱动)
项目变大、需要更多控制
Agentic Engineeering(系统化方法)
需要精准的沟通“合同”
SDD(规范驱动开发)
2.1Harness体系
官方反复强调一个观点:决定claude code表现的,不只是背后的模型,还有围绕模型搭建的“脚手架Harness”。
-
理解方式:模型能力决定下限,项目上下文、工具权限、规范文件和工作流决定上限。实际生产中,围绕模型搭建的工具生态会显著影响最终表现
本教程把Claude Code的工程化能力抽象成7个扩展点,建议按“从底到顶”的顺序理解——先打好上下文和规则基础,再接入更复杂的外部工具:
-
图:Harness的7层扩展点——下三层是“纪律”(项目上下文、钩子、知识),上四层是“武器”(包分发、IDE、外部、子代理)
| 层 | 组件 | 作用 | 加载时机 |
|---|---|---|---|
| ① | CLAUDE.md | 项目上下文文件(项目背景、约定、禁区) | 每次会话自动加载 |
| ② | Hooks | 会话生命周期钩子(启动/结束/文件写入等事件) | 事件触发 |
| ③ | skills | 可复用的任务法论(如“代码审查””部署“) | 按需加载 |
| ④ | Plugins | 打包一整套Skills+Hooks+MCP配置 | 装上后始终生效 |
| ⑤ | LSP(语言服务器) | 给AI装上“跳到定义/查找引用”等IDE级导航 | 始终生效 |
| ⑥ | MCP服务器 | 打通Claude与外部工具(数据库、文档、票务系统) | 始终生效 |
| ⑦ | Subagents(子代理) | 独立上下文窗口Claude实例,只返回结论 | 任务发出时创建 |
-
注意:顺序重要!初学者不要在基础还没搭好时就急着上MCP或Subagents。先把CLAUSE.md、Hooks、Skills这三层基本功做好。
2.1.1Codex与Claude Code核心对比:
| 维度 | Codex | Claude Code |
|---|---|---|
| 开源 | CLI开源(Apache2.0) | 否(闭源) |
| 安全模式 | sandbox+approval mode | 权限规划与模式配置 |
| 指令文件 | AGENTS.md(开放标准) | CLAUDE.md(专用) |
| 配置文件格式 | TOML | JSON |
| 模型生态 | GPT系列+任意 OpenAI兼容 | Claude系列+Anthropic兼容接口 |
| 国内Coding Plan | 需要自行配中转 | 国内厂商原生支持 |
2.1.2claude.md模板
第一层记忆
#项目名称
##项目概述
一句话描述这个项目做什么。
##技术栈
-前端:Next.js 14+TypeScript+Tailwind CSS
-后端:Next.js API Routes
-数据库:Prisma+SQLite
-部署Vercel
##项目结构
'''
src/
├─ app/ #Next.js App Router 页面
│ ├─ api/ #API 路由
│ ├─ layout.tsx #全局布局
│ └─ page.tsx #首页
├─ components/ #React 组件
│ ├─ ui/ #通用UI组件
│ └─ features/ #业务组件
├─lib/ #工具函数和配置
├─prisma/ #数据库 schema 和迁移
└─types/ #TypeScript 类型定义
'''
##编码规范
-使用函数式组件 + React Hooks
-组件文件使用PascalCase命名(如 Bookmarkcard.tsx)
-工具函数使用camelCase命名
-API路由返回统一格式:{success:boolean,data?:any,error?:string}
##当前开发状态
-项目初始化完成
-数据库Schema设计完成
-书签CRUD API开发中
-前端页面待开发
-搜索功能待开发
##注意事项
-SQLite数据库文本在prisma/dev.db,不要提交到Git
-环境变量在.env文件中,不要提交到Git
-所有新功能先创建Git分支再开发
两个官方推荐的创建姿势:
-
/init创建项目级:在项目根目录下运行claude后输入/init,cc会自动扫描项目并生成一份CLAUDE.md初稿,你再调整。
-
/memory编辑全局级:在cc会话里输入/memory选择“全局CLAUDE.md”,会用默认编辑器打开该文件供你修改。修改后需重启cc才能生效。
最佳实践:
-
保持更新:项目级CLAUDE.md应该动态的——项目加了功能、踩了坑、就同步更新。
-
足够具体:技术栈写明具体版本号,目录结构要与实际一致。
-
写明禁忌:把“不要做什么”也写清楚(如“不要修改数据库迁移文件”)。
-
适度简洁:不要写成论文,AI需要的是关键信息而非赘述。
-
只放“顶层不变原则”:随着实践你会发现,CLAUDE.md不该塞太多。如卡帕西发布的[claude.skills],写点“顶层、不变、须严守”的东西就够了。
https://github.com/multica-ai/andrej-karpathy-skills
第二层记忆:Auto Memory(cc自己的笔记本)
如果说CLAUDE.md是你主动立下的规矩,那Auto Memory就是cc在干活过程中默默记下的设计笔记。
如何启动:
#在cc会话中输入 /memory #在弹出的菜单里选择第一个选项“启用Auto Memory” #启用后菜单里会多出“打开自己记忆文件夹”选项
Auto Memory会记哪几类东西:
| 类型 | 含义 | 举例 |
|---|---|---|
| user | 关于你 | 你的角色、偏好(如“不喜欢深色UI”) |
| feedback | 你给过的反馈 | “不要这样做”、“对,就这样” |
| project | 项目相关 | 进度、决策、技术选型 |
| reference | 外部资源索引 | “某份设计文档在docs/design.md” |
使用手感:
-
它只在当前项目生效(文件存在项目目录下),换项目需重新积累
-
启用后cc不会每次都把所有记忆全部加载进上下文,只会读一份memory.md索引——遇到问题才会取读对应的子文件,占token很少
-
随时可以用快捷键crtl+o在会话框中查看实际被调用过的记忆内容
-
记错了就跟它说:“忘掉刚刚说的不喜欢深色主题”,它会自己删掉
第三层记忆:自建参考文档(渐进式披露)
除了上面两层,你还可以仿照Skill的“渐进式披露”机制为cc手动打造一套专项参考文档。
应用场景:某些东西不适合全部塞进CLAUDE.md(太长、太专门),但cc需要的时候必须能查到。比如做个产品,你希望:
-
品格视觉规范:颜色、字体、间距→docs/brand-visual.md
-
产品文本风格:语调、术语表→docs/copywriting-style.md
-
API约定:请求响应格式、错误码→docs/api-conventions.md
然后在CLAUDE.md里加上指引:
##外部参考文档 -修改前端视觉、调颜色、调间距时→必读"docs/brand-visual.md" -写产品文案、按钮文字、提示语时→必读"docs/copywriting-style.md" -写API、定义返回格式时→必读"docs/api-conventions.md"
这样cc只在”需要的时候“才去读完整文档,既保证了准确性,又不占多余上下文。
claudeignore文件
类似于.gitignore,用来告诉Claude Code哪些文件/目录不需要关注:
#.claudeignore示例 node_modules/ #依赖包目录(太大了,AI不需要看) .next/ #Next.js构建产物 dist/ #编译输出 *.log #日志环境 .env #环境变量(包含敏感信息)
2.2核心命令与日常使用
2.2.1启动与基本交互
#最基本启动方式 $claude #指定项目目录启动 $claude --project-dir /path/to/your/prooject #使用指定模型启动 $claude --model sonnet
2.2.2核心命令详解
| 命令 | 作用 | 使用场景 |
|---|---|---|
| /help | 显示帮助信息 | 忘记命令时查看 |
| /model | 查看/切换当前模型(高/中/低档) | 需要换用更强/更快的模型时 |
| /compact | 压缩当前对话的上下文 | 对话时间太长,AI开始”遗忘“早期内容时 |
| /clear | 完全清空当前对话 | 开始全新的任务时 |
| /context | 详细查看上下文占比(各MCP/Skill各占多少) | 优化token、诊断哪里挨上下文 |
| /memory | 查看/编辑CLAUDE.md与自动记忆 | 管理项目/全局记忆、开启Auto Memory |
| /status | 查看会话状态 | 确认模型、Token消耗 |
| /cost | 查看当前会话费用 | 监控花了多少钱 |
| /review | 对当前项目进行代码审查 | 完成功能后检查质量 |
| /init | 自动生成项目的CLAUDE.md | 进入新项目后的第一件事 |
| /plan | 切入Plan Mode(只读规划模式) | 复杂任务起手 |
| /rewind | 回滚cc之前的修改 | ”后悔药“ |
| /resume | 选择历史会话恢复 | 上次话题还没聊完 |
| /btw | ”顺便问一句“,不污染主上下文 | 主任务进行中想问个无关问题 |
2.2.3快捷键速查
| 快捷键 | 作用 |
|---|---|
| Enter | 发送消息/确认信息 |
| Shift+Enter | 也是发送 |
| option+Enter(mac) | 换行输入 |
| Ctrl+Enter(Windows) | 换行输入 |
| Ctrl+C | 中断当前操作 |
| Esc | 取消正在生成的内容 |
| Esc * 2(双击) | 启动/rewind回滚界面 |
| Shift+Tab | 三种运行模式循环切换(Normal/Auto-Accept/Plan) |
| ↑/↓ | 浏览历史消息 |
| Ctrl+B | 让当前运行的命令到后台跑(不阻塞对话) |
| Ctrl+O | 查看Auto Memory记录的具体内容 |
2.2.4扩展管理命令
| 命令 | 作用 | 使用场景 |
|---|---|---|
| /skill <名称> | 直接调用某一个Skill | 手动代理,不要等AI自己决定 |
| /agent | 创建、查看、调用子代理(SubAgent) | 手工创建专项SubAgent |
| /plugun | 插件管理界面(discover/installed) | 发现、安装、卸载插件 |
| /login | 使用Claude官方订阅会员登录 | 有Claude Pro/Max会员时首选 |
| /simplify | 派3个子agent从代码质量/性能/复用性三个角度优化 | 快速全面优化已有代码 |
2.3Claude Code实战工作流
2.3.1官方推荐工作流:explore→Plan→Implement→Commit
Claude Code的常见推荐工作流可以概括为四阶段:
-
Explore(探索):Plan Mode下读代码、搜引用,搞清楚现状
-
Plan(规划):出方案、评估边界情况,你审核
-
Implement(实施):切出Plan Mode,按方案执行
-
Commit(提交):生成Commit message,提交
一轮结束后,回到第一步开始下一个任务。
各阶段详解:
| 阶段 | 你该做什么 | AI在做什么 | 推荐模式 |
|---|---|---|---|
| ①Explore(探索) | 告诉AI要改动的区域 | 读取相关文件、grep、跟引用 | Plan Mode |
| ②Plan(规划) | 让AI出详细方案并由你审核 | 生成计划、评估边界情况 | Plan Mode |
| ③Implement(实施) | 切出Plan Mode按计划执行 | 按顺序修改文件、运行构建 | Normal/Auto-Accept |
| ④Commit(提交) | 让AI生成提交消息并commit | 生成commit message、可选开PR | Normal |
2.3.2项目设置(6个应该习惯性做的动作)
在开始一个新项目之前,完成一下6项设置能让后续开发顺利多倍:
step1:项目初始化 ↓ 描述项目目标 → AI生成项目骨架 step2:建立CLAUD.md(项目上下文) ↓ 可运行'/init'让AI自动生成 step3:配置权限与默认模式 ↓ .claude/settings.json、复杂项目可以默认Plan模式 step4:功能开发 ↓ 一次一个功能,逐个Explore → Plan →Implement step5:代码审查与测试 ↓ 用 /review 让AI生成测试并跑起来 step6:提交代码 ↓ git commit 保存进度
2.4Claude Code最佳实践
2.4.1Prompt编写技巧
1.任务描述要具体,不要模糊
差:帮我做一个登录功能
好:在/api/auth/目录下创建登录API:
-POST /api/auth/login
-接受{email,password}
-使用bcrypt验证密码
-成功返回JWT token
-使用项目已有的prisma client查询User表
2.引用已有代码作为参考
好:参考/api/bookmarks/route.ts的风格 为/api/tags/创建类似的CRUD接口 数据模型参见prisma/schema.prisma中的Tag表
3.先让AI制定计划,确认后再执行
好:我想给书签管理器添加搜索功能。 请先分析一下需要修改哪些文件,列出计划, 等我确认后再开始实现。
4.一次只做一件事
差:帮我同时添加搜索功能、标签管理、用户认证和导出功能 好:帮我先实现书签搜索功能。具体要求: -在书签列表页面添加搜索框 -支持按标题和描述搜索 -搜索实时过滤结果(前端过滤即可)
更多推荐



所有评论(0)