乐于分享
好东西不私藏

AI 编程:从工具到方法论的进化之路

AI 编程:从工具到方法论的进化之路

一、认识 Claude Code

1.1 Claude Code 的工作方式

给 Claude 一个任务,它大致经历三步:收集上下文 、采取行动 、验证结果 。这三步不是严格串行的,而是交替进行。Claude 会自己搜索文件、读代码、改代码、跑测试,整个过程你随时可以打断、纠偏、补充信息。

你可以在任何时刻中断以引导 Claude 朝不同的方向发展、提供额外的上下文或要求它尝试不同的方法。Claude 自主工作但会对你的输入保持响应。

你需要做什么

你做什么
Claude 做什么
通过 @ 引用文件,帮 Claude 看见正确的上下文
阅读文件、搜索代码、理解架构
用自然语言描述需求,帮 Claude 思考正确的方向
分析问题、规划方案、评估风险
配置权限,让 Claude 能够行动
编辑文件、运行测试、执行命令

@ 和 ! 速览

符号
作用
示例
@
感知:将文件/资源注入上下文
解释 @src/auth.ts 的逻辑
行动:在提示框中直接执行 Shell
! git log –oneline -5(结果注入上下文)

Effort Level

Opus 4.6 引入了 Adaptive Thinking(自适应思考)——Claude 会根据任务复杂度自动调整推理深度,在 Claude Code 里你通过 effort level 来手动控制。

Effort Level
推理行为
适用场景
High(默认)
Claude 几乎总是进行深度思考
复杂架构设计、多文件重构、疑难 Bug
Medium
适度思考,简单问题可能跳过
日常编码、跨文件修改、中等复杂度任务)
Low
最小化思考,优先速度
简单问答、格式化、小修改

1.2 使用环境与工具推荐

环境
适用场景
特点
终端 CLI
日常开发主力
复杂架构设计、多文件重构、疑难 Bug
VS Code 扩展
偏好 IDE 内操作
内联 Diff、@引用、计划审查
JetBrains 插件
IntelliJ/PyCharm 用户
交互式 Diff、选择上下文
Typora 🟢
Markdown 文档编写预览
轻量、便捷、支持 mermaid 语法图展示

终端 CLI 功能最全,VS Code 扩展适合习惯 IDE 的同事,两者可以同时用。

终端 CLI 功能最全,VS Code 扩展适合习惯 IDE 的同事,两者可以同时用。

1.3 几个需要了解的概念

Agent 与 Sub-Agent

Agent 是 Claude Code 的主要工作模式——它不只是问答,而是自己规划任务、搜索代码、写代码、跑测试、修问题,整个循环自动完成。

Sub-Agent 是主 Agent 派出去的独立工作单元,每个 Sub-Agent 拥有自己独立的上下文窗口,不占用主 Agent 的上下文空间。Claude Code 支持 Agent Team 模式,可以同时启动多个 Sub-Agent 并行干活,比如前端、后端、架构师各跑各的,互不阻塞。

Agent Team 模式下各 Sub-Agent 可以相互通信交流,在完成任务后会将结果汇报给主 Agent,主 Agent 再统一协调和整合,整个过程 Token 消耗非常快。实际使用中要根据任务复杂度选择合适的方式——简单任务用单个 Sub-Agent 就够了,只有多模块并行开发这类场景才值得启动 Agent Team。

Context Window(上下文窗口)

AI 一次能”看到”的信息总量,类似工作记忆。当前 Opus 支持最大 1M tokens(中文约 50 万字),容量已经很大,但上下文窗口不只装代码——你的每一轮对话、AI 的每一次思考、搜索结果、工具输出都在消耗这个空间。

所以上下文管理是 AI 编程最关键的能力之一。Claude Code 的策略是按需加载——根据当前任务智能搜索和读取相关文件,而不是一次性塞入所有代码。但随着对话轮次增加,早期消息会被自动压缩甚至丢弃,AI 会”忘记”之前的决策和约定。

MCP(Model Context Protocol)

Anthropic 推出的开放协议,让 AI 能连接外部工具和数据源。可以理解为标准化的插拔接口。

Claude Code     ──MCP──→ 数据库查询工具    ──MCP──→ Playwright 浏览器自动化    ──MCP──→ 你自己写的任何工具

通过 MCP,Claude Code 可以直接查数据库、操作浏览器、调用内部 API,不再局限于读写本地文件。

值得关注的趋势是:越来越多的工具开始提供原生CLI 支持 (如 Playwright CLI),AI 可以直接通过命令行调用,无需 MCP 中间层。CLI 方式更轻量、Token 消耗更低、调试也更直观。未来 CLI 可能会在很多场景下取代 MCP,成为 AI 连接外部工具的主流方式。

Skills(技能扩展)

Skills 是 Claude Code 的插件机制,一组预定义的 Prompt + 工作流程,约束 AI 在特定场景下的行为。

比如:没装 TDD Skill 时,你说”帮我写个功能”,AI 可能直接开写。装了之后,AI 会自动走”先写测试 → 再写实现 → 测试通过才算完”的流程。

Skill 的作用:  不是给 AI 新能力,而是给 AI 加约束。  让输出更可控、更符合工程规范。

Skills 可以社区共享,也可以团队自研,后面介绍的 BMAD 和 SuperPowers 都是通过 Skills 机制实现的。

  • • https://skills.sh/

Rules(项目规则文件)

写在项目根目录或rules下的规则文件(如 CLAUDE.mdcode-style.md),AI 每次启动时自动读取,相当于项目级的行为约束。

# 项目规则- 后端使用 Java 17 + Spring Boot 3.x- 数据库操作必须使用 MyBatis-Plus,禁止手写 SQL- API 返回格式统一使用 Result<T> 包装- 所有新增接口必须编写单元测试- 禁止在 Controller 层写业务逻辑- 变量命名使用 camelCase,常量使用 UPPER_SNAKE_CASE

AI 模型是通用的,它不知道你们团队的技术栈偏好和编码规范。Rules 文件就是把这些约定显式化,让 AI 从第一行代码开始就遵守团队规范。

实际体会:Rules 写得越具体越好。

❌:”代码要规范”没用

✅:”Controller 层只做参数校验和结果包装,业务逻辑放 Service 层”才有效。

Hooks(钩子机制)

Claude Code 的事件回调机制,在特定时机自动执行 Shell 命令。

可用的 Hook 时机:

PreToolUse:工具调用前(如写文件前自动备份)PostToolUse:工具调用后(如代码修改后自动格式化)Notification:AI 发出通知时

实际用途:

  • • AI 修改代码后自动跑 eslint –fix
  • • AI 写入文件前检查是否符合目录规范
  • • AI 完成任务后自动触发构建检查

1.4 Claude Code 项目配置结构

一个完整的项目配置长这样:

your-project/├── CLAUDE.md                    # 项目级指令(团队共享,提交到 Git)├── .claude/│   ├── settings.json            #  项目设置(团队共享)│   │   └── 包含 Hooks 配置、权限设置、环境变量等│   ├── settings.local.json      #  个人项目设置(gitignore)│   │   └── 个人 API 密钥、本地路径等敏感信息│   ├── rules/                   #  Rules:模块化规则文件│   │   ├── code-style.md        #    代码风格规范│   │   ├── testing.md           #    测试规范│   │   ├── security.md          #    安全要求│   │   └── performance.md       #    性能要求│   ├── agents/                  #  Agent:自定义子代理配置│   │   ├── code-reviewer.md     #    代码审查 Agent│   │   ├── qa.md                #    调试 Agent│   │   ├── frontend-dev.md      #    前端开发 Agent│   │   └── backend-dev.md       #    后端开发 Agent│   ├── skills/                  #  Skills:自定义技能│   │   ├── tdd-workflow/        #    TDD 工作流技能│   │   │   └── SKILL.md│   │   ├── fix-issue/           #    Bug 修复技能│   │   │   └── SKILL.md│   │   └── prd-reverse/         #    PRD 逆向生成技能│   │       └── SKILL.md│   ├── hooks/                   #  Hooks:事件钩子脚本│   │   ├── pre-tool-use.sh      #    工具调用前执行│   │   ├── post-tool-use.sh     #    工具调用后执行│   │   └── notification.sh      #    通知事件处理├── .mcp.json                    #  MCP:项目级 MCP 服务器配置│   └── 配置数据库、浏览器、API 等外部工具连接

二、 AI 协作框架推荐

工具解决”能不能做”,框架解决”怎么做好”。下面介绍两个我实际在用的框架。

2.1 BMAD:管流程、管记忆

BMAD 是一套让 AI 按敏捷流程工作的方法论,主要解决两个问题:上下文持久化 和流程结构化 。

它要解决什么问题

用 AI 写代码最常遇到的情况:

早上:让 Claude 帮忙做一个项目管理模块,聊了半天,方案定了,代码写了一半中午:关掉对话去吃饭下午:重新打开 Claude,它完全不记得之前做了什么,接下来要做什么

BMAD 的做法是把 AI 的”记忆”写到文件里。每个阶段的产出都落盘成文档,下次启动时 AI 读这些文档就能接上。

Agent 角色体系

BMAD 不是让一个 AI 干所有事,而是定义了多个角色,每个角色有明确的输入输出:

每个角色的输出就是下一个角色的输入,形成文档链。任何时候重启 AI,读这些文档就能从断点继续。

文件持久化结构

项目根目录/├── .bmad/│   ├── PRD.md              # 产品需求文档│   ├── architecture.md     # 架构设计文档│   ├── user-stories/       # 用户故事集合│   │   ├── US-001.md│   │   └── US-002.md│   ├── sprint-plan.md      # Sprint 计划│   ├── tech-stack.md       # 技术栈决策记录│   └── progress.md         # 开发进度追踪

这套文件结构的价值:

  • • 对 AI:每次启动读取这些文件,立刻恢复项目上下文
  • • 对人:随时可以审查 AI 的决策过程,发现问题及时纠偏
  • • 对团队:新人接手时,这些文档就是现成的项目说明书

工作流程

第一阶段:需求分析(Analyst Agent)  └── 在头脑风暴教练的引导协助下进行项目想法头脑风暴,帮你理清需求边界  └── 产出:需求分析文档第二阶段:产品规划(PM Agent)  └── 基于需求分析,编写 PRD 和用户故事  └── 产出:PRD.md + 用户故事文件第三阶段:解决方案设计(Architect Agent,Scrum Master Agent)  └── 基于 PRD,设计技术方案  └── 将需求分解为可实施的工作  └── 产出:architecture.md,sprint-plan.md第四阶段:实施(Developer Agent)  └── 按任务清单逐个实现  └── 产出:可运行代码 + 进度更新快速流程:(Quick Flow Solo Dev Agent)  └── 对于小型、易于理解的工作,跳过阶段 1-3。  └── 统一快速流程 — 澄清意图、规划、实现、审查和呈现

优缺点分析

2.2 SuperPowers:管质量、管纪律

AI 写代码最大的问题不是”写不出来”,而是默认不遵守工程纪律 ——不分析需求就动手、不写测试就交付、遇到 bug 就猜着改。SuperPowers 用 Skill 机制在每个阶段强制插入流程约束,让 AI 必须按纪律走完整个开发循环。

五个技能模块

模块
触发时机
做什么
核心约束
Brainstorming
新功能开始前
AI 主动提问理清需求,探索多种方案,确认后才动手
禁止跳过分析直接写代码
Planning
方案确认后
把大任务拆成可执行的小步骤,每步有验收标准
任务必须有依赖关系和明确产出
TDD
编码阶段
红→绿→重构循环:先写失败测试,再写最少实现,通过后重构
必须拿出测试运行结果作为”证据”,不能跳步
Systematic Debugging
遇到 Bug 时
调查→模式分析→假设验证→修复,四步定位根因
禁止”猜测式修复”,必须先定位再改
Code Review
功能完成时
自动审查规范、性能、安全、测试覆盖
审查不通过不能交付

优缺点分析

2.3 两个框架的共同点

不管用哪个框架,都在强调同一件事:

  1. 1. 先想清楚(Brainstorm):不要一上来就让 AI 写代码,先理清需求、探索方案
  2. 2. 做好计划(Plan):把大任务拆成小步骤,明确每步的输入输出和验收标准
  3. 3. 再去执行(Execute):在清晰的方向和计划下,让 AI 按纪律执行,而不是自由发挥

这三步是 AI 编程质量的基本保障。

2.4 BMAD + SuperPowers整合方案

两个框架各有所长,实际使用中我对他做了整合:

  • • BMAD 负责”流程”:需求分析 → 产品规划 → 架构设计 → 任务拆解
  • • SuperPowers 负责”纪律”:TDD → 系统化调试 → 代码审查

整合的几个关键点:

  • • 在 BMAD 的编码阶段,强制使用 SuperPowers 的 TDD 和调试技能
  • • SuperPowers 的开发进度写入 BMAD 的文件体系

三、AI编程之路:从裸用 AI 到形成方法论

在实际使用 Claude Code 的过程中,大致会经历五个阶段,每个阶段都会产生不同的经验教训。

兴奋期 — AI什么都能做

刚开始用 Claude Code 的时候,确实很兴奋——让它写个功能,居然能跑。于是开始大量让 AI 写代码,感觉效率提升了好几倍。

但很快发现问题:

比如让 AI 写一个项目管理系统的后端→ 一口气生成了 20 个文件,看起来很完整,跑起来也没报错→ 数据量变大出现各种问题,查代码发现缺少异常处理、没有分页、关联查询全是循环调用→ 改一个 Bug 引入三个新 Bug,因为没有测试

经验:AI 生成的代码”能跑”不等于”能用”,AI 每次对话风格都不一样,没有测试兜底。

破壁期 — 

发现 AI 太随意之后,我们开始在项目里写 Rules 文件,此时AI 的输出开始收敛,至少不会再随意切换技术栈了。

CLAUDE.md- 使用 Java 17 + Spring Boot 3.x- ORM 框架使用 MyBatis-Plus,禁止手写原生 SQL- API 统一返回 Result<T>,异常统一在 GlobalExceptionHandler 处理- 禁止在 Controller 层写业务逻辑- 新增接口必须有对应的单元测试- 数据库字段命名使用 snake_case,Java 属性使用 camelCase

经验: Rules 能约束”怎么写”,约束不了”写什么”和”按什么顺序写”。AI 还是会跳过需求分析直接写代码,还是会忘记之前的上下文。

探索期 — 想清楚再动手

意识到 Rules 不够之后,需要找更系统的方式来管理 AI 的工作流程。这个阶段最大的转变是:从”让 AI 写代码”变成”让 AI 先帮我想清楚,然后再写代码”。

之前:你帮我写一个任务管理的 CRUD 接口现在:我要做一个任务管理模块,你先帮我分析一下:      - 任务有哪些状态?状态之间怎么流转?      - 需要支持哪些查询维度?      - 权限怎么控制?      - 和现有模块有什么关联?

这个阶段我们接触了 BMAD、SuperPowers 、Everything-Claude-Code等框架,开始把流程编排和工程纪律引入 AI 协作。

整合期 — Agent 检查 Agent

单一框架用熟了,发现每个框架都有短板。于是开始整合:

整合方案:  BMAD 管流程 + SuperPowers 管质量Agent 互检机制:  开发 Agent 写完代码    → 测试 Agent 运行测试套件(SuperPowers)    → 审查 Agent 检查对抗审查(Bmad)

这个阶段的几个体会:

  • • 没有万能框架,每个框架解决一类问题
  • • Agent 之间互相检查比单个 Agent 自检更可靠
  • • 框架整合要根据项目特点调整,不能照搬

沉淀期 — 团队工具链

把实践经验沉淀成团队可复用的 Skill 和 Rules:

团队级 AI 工具链:  ├── 项目 Rules 模板(按技术栈分类)  ├── 自研 Skills  │   ├── prd-reverse(代码逆向生成 PRD)  │   ├── playwright-e2e(自动化 E2E 测试)  │   └── code-standard-check(编码规范检查)  │   └── architecture-iflytek(符合公司规范的架构设计)  │   └── common-list(对账中心列表页Skill)  ├── BMAD + SuperPowers 整合配置  └── 团队 AI 编程最佳实践文档

到这个阶段,从”个人摸索”变成”团队开箱即用”,新项目可以直接套用。

四、创新调研分享

1、基于项目代码的PRD逆向生成方案

多个已上线系统的历史 PRD 文档已丢失或严重过时,业务逻辑长期依赖代码和口头传承。为此自研 prd-reverse Skill,基于现有代码库进行自动化逆向分析,生成标准化 PRD,实现”代码即文档”——让历史系统中的业务逻辑以结构化、可阅读、可维护的方式沉淀下来。目前正与产品侧协同验证 PRD 内容的准确性与完整性。

  1. 2、基于 Playwright Cli 的自动化测试流程

基于 Playwright-CLI 组件,已实现由测试人员通过自然语言描述测试意图,系统自动驱动浏览器完成端到端测试的能力。在此基础上,下一步需要解决的是:如何将已有测试用例结构化,并自动生成可复用、可维护的自动化测试脚本,以进一步提升测试效率。

 视频涉及敏感信息,就不放了·

五、AI编程观点

AI 时代对人的要求更高了,不是更低了

AI 写代码的速度是人的几十倍,但方向错了,只会更快地走向错误。

  • • 对开发者而言,核心能力从”写代码”转向了方案判断、风险识别、架构决策和需求拆解。
  • • 对产品/业务侧而言,同样需要升级。AI 遵循 “Garbage In, Garbage Out”的铁律——模糊的需求只会换来跑偏的输出。产品/业务侧必须提供 结构化、无歧义、可量化 的需求描述,并通过 AI 辅助校准与补全细节,确保输入准确,才能获得稳定可靠的输出。