下面整理的是实战向的 AI 编程流程教程与大佬经验,重点是:
- 怎么向 AI 描述需求
- 怎么让它生成代码
- 怎么检查 / 验证它的代码
而不是某个具体工具(Claude Code、Cursor 等)的安装或操作说明。
一、核心心法:把 AI 当成“初级/中级程序员”,而不是魔法盒子
多数经验一致:
- AI 生成的代码默认是不可信输入(untrusted input)
- 你的工作变成:写清楚需求 + 拆任务 + 审查 + 测试
- 提示词质量对结果的影响往往远大于模型本身
二、完整实战工作流(推荐通用流程)
1. 需求澄清(先别写代码)
错误做法:
“帮我写个用户登录接口”
正确做法:
- 先让 AI 复述需求 + 列出疑问
- 或让 AI 采访你(很多大佬强烈推荐)
示例提示:
我想实现:手机号+密码登录,返回 JWT。
请先不要写代码。
1. 复述你对需求的理解
2. 列出所有不确定的点(边界情况、错误处理、安全、性能等)
3. 主动问我关键问题
确认完后再开始方案。
或更强版本:
我想构建 [功能描述]。
用提问的方式采访我,覆盖:技术实现、边界情况、错误处理、权衡取舍。
不要问显而易见的问题,深挖我可能没想到的难点。
确认后再写 SPEC 或方案。
2. 先出方案 / 计划,再写代码(Plan Mode)
复杂功能强烈建议:
先不要写代码。
请输出:
1. 需要改动的文件/模块
2. 实现步骤(分步骤)
3. 潜在风险与边界情况
4. 验收标准(怎样算完成)
我确认后再开始实现。
大佬经验:复杂需求如果直接生成代码,返工成本极高;先方案再实现,质量明显更好。
3. 任务拆分(最重要的技能之一)
不要一次让 AI 做太大的事。
坏例子:
“实现完整的用户认证系统(注册、登录、OAuth、密码重置、邮箱验证、会话管理、设置页)”
好做法:
- 拆成多个小任务
- 每个任务有清晰输入/输出和验收标准
- 一次只让 AI 做一件事
4. 写高质量提示词的结构(可直接套用)
多个来源高度一致的结构:
Role + Task + Context + Constraints + Output Format
或更完整的五要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 角色 | 让 AI 扮演什么 | 资深 Spring Boot 工程师 |
| 背景/上下文 | 技术栈、现有代码、业务场景 | Spring Boot 3 + MyBatis-Plus,已有统一 Result 返回 |
| 任务 | 具体要做什么 | 实现手机号+密码登录接口 |
| 约束 | 不能做什么、必须遵守什么 | 不新增依赖、密码用 BCrypt、失败5次锁定 |
| 输出格式 | 怎么输出 | 只给代码 + 关键注释;或同时给测试 |
实用模板:
你是一个资深 [语言/框架] 工程师。
【背景】
- 技术栈:...
- 现有相关代码/规范:...
- 业务场景:...
【任务】
实现:...
【输入输出】
- 入参:...
- 出参:...
- 边界情况:...
【约束】
- 必须:...
- 禁止:...
- 代码风格参考现有模块
【输出要求】
1. 先简要说明思路
2. 给出完整可运行代码
3. 标注关键决策
4. (可选)同时给出单元测试
5. 生成代码时的额外技巧
- 提供上下文:贴相关现有代码、接口定义、错误信息、数据示例
- 给示例(few-shot):给一个输入→期望输出的例子
- 指定错误处理与边界:空值、超长、并发、失败重试等
- 要求自测: “实现后写测试并运行,修复失败项”
- 禁止过度设计: “不要加我没要求的功能、日志、抽象”
6. 检查与验证代码(最关键的环节)
AI 写完后,不要直接用。推荐流程:
人工 + AI 双重检查
自己先跑一遍
编译 → 运行 → 基本功能测试让 AI 自己审查(很有效)
请以高级工程师身份审查这段代码:
[贴代码]
检查维度:
1. 正确性:是否满足需求
2. 安全:注入、越权、敏感信息泄露
3. Bug/边界:空值、并发、异常路径
4. 性能:N+1、不必要循环、锁粒度
5. 可维护性:是否过度抽象、是否符合现有风格
按严重程度列出问题,并给出修改建议。
用另一模型交叉审查(可选)
把代码给另一个 AI 再审一遍,分歧往往是真问题。写/跑测试
让 AI 生成单元测试,或自己写关键路径,强制验证行为。对照验收标准
对照最初的“怎样算完成”逐条检查。
常见检查清单:
- 是否真的解决了需求?
- 有没有引入不存在的 API / 依赖?
- 有没有隐藏错误而不是修复?
- 安全问题(注入、权限、敏感数据)
- 是否破坏现有接口或风格
- 边界和异常是否处理
三、推荐优质教程 / 经验来源
英文高质量资源
| 标题 | 链接 | 重点 |
|---|---|---|
| Five Best Practices for Using AI Coding Assistants | Google Cloud | 选择工具、先规划、重视提示工程、保持人控 |
| Best AI Prompts for Engineering | rohitprabhakar.com | Role+Task+Constraints+Output 模板,代码审查提示 |
| 10 Rules for Getting Better Results from AI Coding Agents | KDnuggets | 从规格开始、让 AI 先理解仓库再改、审查维度 |
| How to Prompt AI Coding Tools Like a Senior Dev | StackNotice | Context → Constraint → Task,任务拆分 |
| AI Code Guide (GitHub) | automata/aicodeguide | 从 PRD 开始、拆任务、把 AI 当初级开发 |
中文实战经验(掘金 / 社区)
| 标题 | 链接 | 重点 |
|---|---|---|
| 如何提升 AI 编码准确性:从“生成代码”到“验证结果” | 掘金 | 明确预期行为与约束,定位再实现 |
| 让 AI 先写方案,再写代码 | 掘金 | 复杂需求必须先方案 |
| AI生成代码的实战指南:提示词、工具选型与代码审查 | CSDN | 五要素提示词 + 三关检查法 |
| 我平时怎么用 AI 写代码和排查 Bug | 掘金 | 可直接复制的场景化 Prompt |
| Vibe Coding 完整教程工作流 | 七牛云 | 探索 → 规划 → 实现 → 验证 |
| AI Agent 编程实战流程(6步法) | 掘金 | 需求分析 → 拆任务 → 实现的完整工程视角 |
四、一句话总结(可直接记住)
清晰描述需求 → 让 AI 先问清/出方案 → 拆成小任务 → 带约束生成代码 → 自己跑 + AI 审查 + 测试验证 → 迭代修正
你负责的是意图清晰和质量把关,AI 负责的是执行和初稿。