实战
Claude Code 实战:用 AI 编程 Agent 从零开发一个全栈应用
过去一个人写全栈应用,要 concurrently 懂前端、后端、数据库、部署。现在,一个AI 编程 Agent 能把这些环节串起来——你负责说清"要做什么",它负责"怎么写"。本教程以 Claude Code 为例,完整走通一个真实项目:一个带用户注册、文章发布的轻量博客系统,从空目录到上线。
💻 本教程适合:想用 AI 提效的开发者、独立开发者(indie hacker)、以及希望把重复编码交给 Agent、自己专注架构与产品的技术负责人。Claude Code 是终端里的编程 Agent,同类还有 Codex CLI、OpenCode 等,思路通用。
一、为什么用编程 Agent 做全栈开发?
编程 Agent 不是"代码补全",而是"能读整个项目、能跑命令、能改多个文件"的协作者。它最擅长的是样板代码和联调这类耗时但模式化的工作。
| 任务类型 | 适合交给 Agent? | 原因 |
|---|---|---|
| 搭脚手架 / CRUD 接口 | ✅ 非常适合 | 高度模式化 |
| 写单元测试 | ✅ 适合 | 有明确预期输出 |
| 修报错 / 联调 | ✅ 适合 | 把错误信息贴给它即可 |
| 架构决策 / 业务选型 | ⚠️ 你主导 | 需要你拍板 |
| 安全敏感逻辑 | ⚠️ 必须 review | 不能盲信生成代码 |
核心心法:把 Agent 当"高级初级工程师"——它能写,但需要你给清晰需求、审关键代码、兜底安全。你是指挥官,它是执行者。期望错配(要么全信要么不用)是多数人用不好编程 Agent 的根因。
Step 1:环境准备与项目初始化
1 装好 Claude Code 并建项目
# 安装(需 Node 18+)
npm install -g @anthropic-ai/claude-code
# 进入(或新建)项目目录
mkdir my-blog && cd my-blog
# 启动 Agent(它会读取当前目录上下文)
claude
# 首次对话,先让它了解技术栈偏好
"本项目用 Node + Express 做后端,SQLite 做数据库,
前端用原生 HTML/JS,部署到 Cloudflare Pages。
请按这个栈帮我初始化工程结构。"
💡 实操要点:启动前先想清楚技术栈,用一句话告诉 Agent 你的约束。它会据此生成
package.json、目录结构、配置文件。比让它"自由发挥"出来的东西更可控、更省返工。Step 2:用自然语言拆解需求
2 先写 spec,再写代码
最高效的用法不是上来就"写个博客",而是先让它产出一份需求文档,你确认后再生代码。
"请先帮我写一份需求文档(不写代码),包含:
1. 数据模型:用户( id, username, password_hash )、
文章( id, author_id, title, content, created_at )
2. 后端接口:注册 / 登录 / 发文章 / 列表 / 详情
3. 前端页面:注册页、登录页、发布页、列表页、详情页
4. 技术要点:密码用 bcrypt 哈希,登录用 JWT
确认这份文档后我们再开始实现。"
🔑 关键认知:让 Agent "先规划后执行",能大幅减少方向性返工。你在 spec 阶段纠偏的成本,远低于代码写完后推倒重来。这份文档同时也是项目的活文档。
Step 3:让 Agent 搭后端 API
3 把接口实现交给它
"按需求文档实现后端:
- 用 Express 写 5 个接口,参数校验要完整
- 用更好的-sqlite3 操作数据库,启动时自动建表
- 密码用 bcrypt,JWT 密钥从环境变量读取
- 每个接口返回统一格式 { code, data, msg }
写完后用 node 启动,确认没有语法错误。"
🚀 进阶玩法:让 Agent 每完成一个接口就自己用
curl 测一下(Claude Code 能直接执行命令)。"写完自己测通再交"比"写完就交"的质量高一个档次——你在 prompt 里明确要求自测,它能调用终端验证。Step 4:让 Agent 写前端页面
4 页面与接口联调
"实现前端 5 个页面(原生 HTML/JS,不引框架):
- 登录后把 JWT 存 localStorage,请求时带在 Header
- 发布页调用 /api/post 提交,成功后跳列表页
- 列表页调 /api/posts 渲染卡片,点击进详情
保持页面简洁,移动端可正常浏览。"
💡 风格约束很重要:提前说清"原生 HTML/JS / 不引框架 / 移动端适配",Agent 才不会自作主张引入一堆依赖。越具体的约束,越少返工。
Step 5:联调与修 Bug
5 把报错直接贴给它
联调几乎必出 bug。编程 Agent 最爽的一点:你不用自己读堆栈,直接把错误丢给它。
"启动后访问 /api/posts 报 500,后端日志如下:
[ERROR] TypeError: Cannot read properties of undefined (reading 'map')
at listPosts (routes/posts.js:23:18)
请定位原因并修复,说明为什么会出现这个错误。"
必须养成的习惯:Agent 修完 bug,你要问一句"根因是什么",而不是只验证"现在能跑了"。很多 Agent 会用"再试一次"式的补丁掩盖问题,只有逼它说出根因,才能避免同样的坑反复出现。
Step 6:写测试与 CI
6 让回归测试自动化
"为后端接口写一套测试(用 node:test 即可):
- 覆盖注册、登录、发布、未登录发布应被拒
- 在 package.json 加 test 脚本
跑通 npm test,确保全部通过。"
📊 经验参考:让 Agent 写的测试,你至少要人工看一遍断言是否合理。它有时为了"通过"而写等价于没测的测试(如只断言"不抛异常")。好的测试断言具体行为和边界条件。
Step 7:一键部署
7 构建产物并上线
"本项目是纯静态前端 + Node 后端,计划部署到 Cloudflare Pages。
请帮我:
1. 写适合的构建/部署配置
2. 列出需要设置的环境变量(JWT_SECRET 等)
3. 给出部署命令
不要执行部署,只给方案和命令。"
🔒 安全提示:永远不要让 Agent 直接执行带密钥的部署命令。让它"只给命令",你自己在设置了环境变量后再跑。密钥一旦进入对话历史,就该当作可能泄露来处理。
八、高效使用编程 Agent 的 5 条心法
- 小步快跑:一次只让它做一件明确的事,比"一口气写完整个项目"质量高得多。
- 先 spec 后码:规划阶段纠偏成本最低。
- 要它自测:明确要求"写完跑通再交",利用它能执行命令的能力。
- 追根因不追结果:修 bug 时逼它说明根因。
- 敏感操作你把关:部署、删库、付费类命令自己执行,不交出去。