这两年AI编程的话题热度一直没降过,但坦白说,真正让我觉得工具链开始“能用、好用、敢用”的转折点,是当我把Claude Code、Skills和Cursor这三样东西串进同一个软件研发流程之后。以前用AI更多是“写个函数”“补个测试”这种零敲碎打,现在不同了——从需求拆解、代码生成、代码审查到测试和部署说明,AI都能实打实地参与进来。周红伟在实战分享里有一个观点我非常认同:AI编程的瓶颈早已不是模型能力,而是我们有没有一套适配全流程的玩法。
这篇文章我想围绕AI coding软件研发全流程的实操展开,重点讲清楚Claude Code、Skills机制和Cursor编辑器各自该放在什么位置、怎么配置、怎么配合,同时会把一个完整小项目的实现过程掰开揉碎展示给你。无论你是前端、后端、测试,还是独立开发者,只要你想把AI真正用进日常研发而不是停留在“聊天补代码”,这篇都值得看完。
1. 为什么我把AI编程的重点放在“全流程”上
1.1 单品工具再强,也解决不了流程断点
很多人一上来就问我:Claude Code和Cursor到底选哪个?说实话,这是个伪问题。单个AI工具再强,它也只是“某个环节的加速器”。你让Cursor帮你写代码没问题,但需求文档谁整理?任务拆解谁来做?代码写完之后审查怎么搞?测试用例谁来补?部署说明谁来生成?这些问题如果全靠人肉衔接,AI带来的效率提升会被大量来回切换、上下文重新同步的动作给吃掉。
我见过不少团队,买了各种AI会员,结果加班更严重了——因为AI生成的代码让系统变得更快,也让返工变得更快。问题不在AI,在于整个软件研发全流程没有一个统一的、可执行的“AI协作协议”。所以我后来把重心从“选哪款工具”转到了“怎么用一套组合拳打通流程”,核心就是让AI从“散装工具”变成“流程的一部分”。
1.2 我建议的AI辅助研发流程长什么样
经过这段时间的实践,我在团队里推行的AI辅助流程大概是这样的:
- 需求阶段:用AI做需求澄清、边界梳理、验收标准初稿。
- 设计阶段:用AI生成技术方案初稿、接口设计、数据库表结构。
- 编码阶段:用Claude Code配合Skills在终端里完成主体代码生成。
- 审查阶段:用Cursor的对话模式做代码走查,让AI以审查者视角找问题。
- 测试阶段:AI自动生成单测、边界用例,甚至补集成测试脚手架。
- 部署与文档:AI生成部署清单、变更说明和操作手册。
这套流程里,Claude Code负责“重活”——因为它能直接读写文件、执行命令,适合在项目目录里持续工作;Cursor负责“轻活”——交互式编辑、代码解释、快速重构;Skills则是给AI“装岗位技能”,让它在面对特定类型任务时不是瞎发挥,而是按成熟套路走。三者不是替代关系,是接力关系。
2. 工具链选型解析:Claude Code、Skills、Cursor怎么分工
2.1 Claude Code:终端里的结对程序员
Claude Code本质上是跑在终端里的AI编程代理,最大的特点是“有手有脚”——它能读项目文件、编辑代码、执行命令、跑测试,还能根据运行结果自己决定下一步做什么。这一点和普通的聊天式AI有本质区别,它不是给你一段代码让你自己贴,而是真的在你项目里“干活”。
安装其实很简单,Node.js环境准备好之后,一条命令就行:
npm install -g @anthropic-ai/claude-code装完之后在项目目录里执行claude就能进入交互模式。第一次使用会要求登录授权,按提示走就可以。我建议直接在项目根目录启动,这样它能自动读取项目结构和Git历史,上下文理解会准很多。
使用上有几个习惯我强烈建议养成。第一,每一步都明确交代任务目标和约束,别只说“帮我写个登录接口”,要说清楚技术栈、接口风格、是否要鉴权、有没有现成的工具函数可以用。第二,让它动手之前先口头描述实现方案,确认无误再开干,避免方向跑偏。第三,涉及删除、批量修改的操作,先用--dry-run之类的方式预览变更,确认没问题再落地。
2.2 Skills:让AI拥有“岗位技能”
如果说Claude Code是身体,Skills就是职业证书。这个机制解决了一个很痛的问题:AI虽然啥都懂一点,但面对特定领域的任务,它不知道你们团队的“套路”。比如前端团队可能有固定的组件规范,文档团队有固定的文章结构,后端有统一的分层架构——这些“隐性知识”很难靠一次对话说清楚。
Skills就是把这些套路打包成一个目录,一个Skill通常包含一个SKILL.md描述文件,里面写清楚这个技能的触发条件、执行步骤、输入输出要求和注意事项。把Skills放进.claude/skills/目录下,Claude Code就会自动识别,并在执行相关任务的时候按技能定义做事。
我自己的习惯是给每个项目准备几个核心Skills:代码生成类、代码审查类、文档写作类、测试生成类。每个Skill都沉淀了团队的最佳实践,而且可以跨项目复用。这个机制的价值在于:把人的经验转译成AI能稳定执行的程序性知识,减少随机性。
2.3 Cursor:编辑器侧的重构与补位
Cursor是个AI原生的代码编辑器,本质上是VS Code的魔改版,内置了对话式AI、代码补全、多文件编辑等功能。它的强项不是你让它“写一个模块”,而是你正在写的时候,它像一个坐在旁边的同事,随时接住你的疑问。
我通常把Cursor用在三个阶段。第一,写代码过程中遇到“这个函数为什么这么写”“这个报错是什么意思”这类局部问题,直接在编辑器里问,不用切终端。第二,代码重构,选中一段代码让Cursor做重构建议,比全靠手动改安全得多。第三,跨文件修改,比如改一个接口的数据结构,影响到了哪些调用方,Cursor能帮你快速定位并批量调整。
很多朋友问我Cursor怎么设置中文——其实很简单,打开设置界面,在语言/Language选项里把界面语言切换成中文就行。不过我要多说一句:界面语言改不改不影响AI对话能力,AI用英文提问和用中文提问效果都一样好,按自己习惯来就好。
2.4 一套组合拳的工具分工总结
| 工具 | 核心定位 | 最适合的场景 | 我的优先级 |
|---|---|---|---|
| Claude Code | 终端AI代理,读改写全栈 | 项目级编码、批量重构、任务闭环 | 主力 |
| Skills | 技能定义与复用机制 | 特定领域任务的规范化执行 | 核心驱动 |
| Cursor | AI原生编辑器 | 局部编辑、解释、代码审查 | 辅助补位 |
如果你只能选一个,新手我建议先从Cursor入手,因为它上手门槛低,能直观感受到AI编程的便利;但如果你想真正把AI用进软件研发全流程,Claude Code + Skills的组合是绕不开的,因为它才能做到“整个项目级别的干活”。
3. 实操过程与核心环节实现:从需求到上线的完整案例
3.1 需求拆解与任务规划
理论说再多,不如跑一个完整案例。这里我以一个“技术博客站”的小项目为例,走一遍完整的AI辅助研发流程。需求是:做一个支持Markdown文章发布和展示的轻量级博客站,前端用React + Vite,后端用一个简单的Node服务,数据存JSON文件就行。
拿到这个需求后,我做的第一件事不是写代码,而是让AI做需求澄清。我在Claude Code里输入:
你是这个项目的技术负责人。我要做一个轻量级博客站,核心功能是Markdown文章发布和展示。 请先帮我梳理:功能范围、核心数据模型、接口设计、页面清单、技术选型的取舍点。 先不要写任何代码,输出一份需求分析和技术方案文档。这一步的价值是把模糊需求转化成可执行的任务清单。AI会给出一份文档,包括文章列表页、详情页、发布接口、JSON数据存储结构等。我检查一遍,把不合理的地方修正,比如明确文章状态要有“草稿”和“发布”两种,接口统一用/api/articles前缀。然后让AI把方案整理成项目根目录下的docs/tech-design.md,后续所有编码都以此为依据。
任务规划好后,我在Claude Code里列出一个TODO清单,让AI严格按照清单推进。这里就体现出Skills的作用了——我给这个项目配了一个“全栈开发”技能,里面规定了后端目录结构、错误处理规范、接口返回格式等。这样AI从头到尾写出来的代码风格统一,不会出现每个文件一个样子的情况。
3.2 用Claude Code + Skills跑通核心编码
项目初始化阶段,我让Claude Code执行:
# 初始化前端项目 npm create vite@latest blog-frontend -- --template react-ts # 初始化后端 mkdir blog-backend && cd blog-backend && npm init -y这些命令AI可以自己执行,不用你手动敲。初始化完成后,我要求它先阅读一下生成的项目结构,再根据技术方案文档开始实现核心功能。这里我要提醒一句:每次让它开工之前,最好明确“先读哪些文件、参考哪些文档”,这能显著减少AI基于错误上下文做出的判断。
当时我给的这个Skill长这样,放在.claude/skills/fullstack-dev/SKILL.md里:
--- name: fullstack-dev description: 适用于轻量级全栈项目的编码规范与流程指引 --- # 全栈开发执行规范 当需要编写或修改项目代码时,按以下步骤执行: 1. 先阅读项目根目录的 docs/tech-design.md,理解整体设计 2. 根据任务清单定位到相关模块,不修改无关文件 3. 后端代码统一放在 blog-backend/src,遵循 MVC 分层 4. 接口统一返回 { code, data, message } 结构 5. 前端组件放在 blog-frontend/src/components,页面放在 pages 6. 完成编码后运行相关测试,并输出变更文件清单这个Skill的作用是给AI划定了一条清晰的“作业轨道”,约束了目录结构、代码风格和完成标准。效果非常明显——同样的任务,不装Skill的时候AI写出来的代码五花八门,装上之后基本一次成型,不需要大改。
核心接口和页面在AI的一轮轮操作下陆续生成。我的角色从“打字员”变成了“领航员”——不断检查AI的产出、纠正方向、确认下一步。这个转变非常关键:AI不是替代你写代码,而是把你的执行成本降到最低,让你把精力集中在判断和决策上。
3.3 Cursor辅助调试与代码审查
编码完成后,我把项目在Cursor里打开,接下来是调试和审查环节。用Cursor的对话功能提问效率很高,比如我遇到一个React路由配置的问题,直接选中相关代码问:
这段路由配置在页面刷新后总是404,帮我分析原因并提供修复方案。Cursor会结合选中的代码内容给出分析,指出可能是服务端没有配置history fallback,然后给出修复建议。这种“选中即问”的交互方式,比在终端里来回粘贴代码要快得多。
代码审查阶段,我让AI扮演审查者角色,不是让它“夸代码写得好”,而是明确要求它找问题:
请审查 blog-backend/src 目录下的所有代码,站在资深后端工程师的角度, 重点检查:错误处理是否完整、是否有安全问题、数据校验是否充分。 按严重程度列出问题清单,并给出修改建议。这一步能揪出不少问题,比如文章接口没有做内容长度限制、错误信息直接暴露了内部路径等。虽然AI不能完全替代人工审查,但作为“第一道扫描”非常合格,能省下大量基础问题排查时间。
审查结果出来后,我让Claude Code按照问题清单逐项修复。修复完再让AI跑一遍现有测试,确保没有改坏功能。整个“编码—审查—修复”闭环,在这个工具组合下比我以前纯手工操作至少快了三分之二。
3.4 测试与部署文档的提效闭环
项目功能开发完后,我继续让AI补齐测试和部署相关的内容。测试方面,我要求AI为后端接口生成单元测试和集成测试用例,前端补上基础组件的渲染测试。AI根据接口定义和业务逻辑自动生成了可以跑的测试用例,虽然个别断言需要微调,但整体覆盖率比我手写快太多了。
部署方面,我让AI生成了一份部署文档,包括环境变量清单、依赖安装命令、生产构建步骤、进程管理方式等。还让AI生成了一键部署脚本,把构建、测试、启动串起来。以前这些文档都是最后抽时间补的,经常欠账;现在AI几秒钟就能生成初稿,我只需要审核确认,流程顺畅很多。
到这里你会发现,AI在整个软件研发全流程中已经不是“写代码工具”,而是“贯穿始终的协作者”。从需求到编码、测试、部署,每个环节都有它的身影,而且衔接非常自然。这才是AI编程真正该有的形态。
4. 常见问题与排查技巧实录
4.1 安装与初始化阶段的高频问题
先说说Claude Code的安装。常见的问题是Node版本太低导致安装失败,建议Node 18以上,装之前先跑一下node -v确认。还有权限问题,如果全局安装报EACCES权限错误,多半是npm全局目录权限不足,可以检查npm配置或者用nvm管理Node环境,不建议直接加sudo硬装。
Cursor下载安装一般没什么问题,装完后如果想用中文界面,在设置界面里找到语言选项切换即可。有些朋友下载后一直找不到设置入口,我提醒一下:在macOS上是Cmd + ,,在Windows/Linux上是Ctrl + ,,快捷键进设置最快。另外切换语言后需要重启编辑器才能完全生效。
4.2 Skills不生效或效果打折怎么办
Skill目录结构有讲究,最常见的坑是放错了位置。Skill必须放在.claude/skills/目录下,每个技能一个子目录,且描述文件必须命名为SKILL.md。少了任何一环,AI都可能找不到这个技能。如果你发现AI完全没有参考Skill里的规范,先检查目录结构对不对,再检查SKILL.md里的description字段是否写清楚了触发条件——这个字段写得太模糊,AI就不确定该不该启用。
还有一点,修改后的Skill不会立即影响正在进行的会话,需要重新启动Claude Code,或者至少开启一个新会话。我在初期经常改了Skill然后继续在旧会话里测,结果怎么都不生效,白白浪费很多时间。
4.3 模型输出不稳、代码质量漂移的排查思路
AI输出的质量波动是最让人头疼的问题。同一个任务,有时候生成得很好,有时候一塌糊涂。我的排查思路是:先看上下文是否完整——项目文件、技术方案、相关依赖有没有让它提前读到;再看任务描述是否明确——有没有说清楚输入、输出、约束条件;最后看技能规范是否被正确触发——如果没有触发,多半是description写得不够准确。
项目复杂度上去之后,我建议把大任务拆成小任务,一次让AI只做一件事。比如不要让它“帮我实现文章管理功能”这种大而全的需求,而是拆成“先创建文章数据模型”“再实现创建文章的接口”“然后做列表查询接口”,每完成一步检查一步。这样看着慢,实际总耗时反而更短,因为返工少了。
4.4 常见问题速查表
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
| Claude Code命令找不到 | Node环境或全局安装路径问题 | 检查npm全局bin目录是否在PATH里,或重新安装 |
| 安装报权限错误 | npm全局目录权限不够 | 使用nvm管理Node,不推荐sudo硬装 |
| Skill不生效 | 目录结构错误或前后端描述不精准 | 检查.claude/skills/技能名/SKILL.md,重启会话 |
| AI改乱了无关文件 | 任务描述范围不明确 | 明确指定目标文件,禁止修改其他文件 |
| Cursor界面切换中文没反应 | 切换后未重启编辑器 | 设置后重启编辑器,或用快捷键重新触发 |
| 代码风格不一致 | 缺Skills约束 | 针对项目写Skills,固定代码规范、目录结构 |
| AI生成质量波动大 | 上下文缺失或任务过重 | 补全项目上下文,拆分任务,小步快跑 |
最后再分享一个我最近特别受用的小技巧:把项目中反复出现的“操作套路”沉淀成Skills,比攒一堆“完美提示词”价值大得多。提示词是一次性的,Skills是可复用的资产。我团队现在的前端项目规范、接口设计规范、文档模板,全部都转成了Skills存在项目仓库里,新同事加入、AI参与开发、甚至换机器重装环境,这些技能都能跟着走,一致性非常稳。这套玩法,我建议你也在自己的下一个项目里试一试。