这是我这段时间应用 AI 编程的些许经验,是一份 完整 SOP(标准操作流程)文档,包含分阶段说明和配套提示词,可用于个人使用或团队推广。
在使用 AI 辅助编程这段时间,发现让 AI 做一些“规模”比较大的编程任务时很容易出现幻觉,它为引用一些不存在的代码片段,或者定义一些重复的数据结构。很多时候它都不能正确的复用代码库里已有的数据结构和函数,它总会自做聪明的进行“重复定义”。
它在做一些新项目或技术调研时非常好用,当你接到一个新的需求,而你又不具备相关的技术储备时,把需求给到 AI,让它生成一个可运行的 Demo,然后你再根据这个 Demo 来进一步理解需求和相关的技术,能极大的节省时间。以我的经验,若还是想以前那样从基础开始学习新的技术,那这个时间起码得按季度甚至更长……
但实际情况更复杂,大多时候我们都是在已有项目中添加新功能或进行改进、优化,并不会太多的从零开始。现阶段,让 AI 主导现有项目的新功能或优化开发,并不一定是个好主意。以下是我使用 AI 辅助编程以来的一些思考和总结,分享给大家。一家之言,不完善的地方还请包涵和指正。
1. 总体理念
目标:由人类主导架构与关键设计,AI 负责辅助生成,提升效率、保持可控。
原则:
- 分阶段推进,避免一次性生成大量实现代码。
- 保持需求、设计、实现的逐层递进,利于审查与重构。
- 人类保持最终决策权,AI 作为结对搭档(Pair Programmer)。
2. 分阶段流程
步骤 1:需求讨论(多轮对话)
- 目标:明确业务背景、需求边界、潜在约束条件。
- 方法:与 AI 进行多轮问答,确保需求明确。
- 输出:清晰的需求描述、业务目标、已知约束。
配套提示词:
1 | 你是我的技术合作者(架构师+全栈)。我们进行需求澄清,请: |
步骤 2:技术方案文档(只生成数据结构和签名,不写实现)
- 目标:沉淀设计为文档,锁定接口和数据结构。
- 方法:要求 AI 输出整体架构、数据库设计、方法/函数签名,不写逻辑实现。
- 输出:文档包含架构图、数据结构、方法签名。
配套提示词:
1 | 请根据我们讨论的需求,生成技术方案文档: |
步骤 3:生成签名和注释
- 目标:补充详细注释和接口约束,为实现打基础。
- 方法:让 AI 对签名逐条补充注释、异常说明、调用关系。
- 输出:接口签名+注释(docstring 格式)。
配套提示词:
1 | 请根据以下方法/函数签名补充注释,要求: |
步骤 4:人工审查
- 目标:人工检查数据结构和接口设计的合理性。
- 方法:架构师或团队成员审查命名、一致性、边界条件。
(此阶段无需 AI 参与,除非需要让 AI 提出改进建议)
步骤 5:逐函数实现
- 目标:逐个实现逻辑,每次生成一个函数,确保控制粒度。
- 方法:单独针对函数提示 AI,指定依赖、性能要求、测试要求。
- 输出:函数实现、必要的单元测试。
配套提示词:
1 | 请实现以下函数逻辑: |
3. 方法论优势总结
- 渐进式生成:避免大段实现不可控。
- 文档驱动:设计与实现解耦,易于审查与维护。
- AI 结对模式:人类主导设计、AI 辅助生成,提高质量和速度。
- 高可控性:每个阶段可人工干预、调整。
4. 进阶优化建议
- 固化输出格式(Mermaid 图、数据表、docstring 模板),利于自动化管理。
- 审查环节可加入 AI 辅助代码审查提示词。
- 逐步引入自动化测试清单,由 AI 自动生成断言和边界测试。
这份 SOP 文档可以作为团队内部 AI 编程协作标准 使用。每个阶段都有对应提示词,直接复用即可。
AI 协作编程三套提示词(极简可复用)
按照方法论(需求澄清 → 设计签名 → 逐函数实现),整理三套高度精简可复用提示词模板,每套都可直接用于对话,几乎零冗余,直接适配 Vibe Coding 或其他 LLM 协作编程。
1. 需求澄清 & 方案设计
1 | 你是架构师+结对编程伙伴,帮我澄清需求并设计方案: |
2. 数据结构 & 方法签名
1 | 基于已定方案,列出: |
3. 单函数实现
1 | 实现以下函数逻辑: |
用法说明
- 步骤 1:用模板 1,多轮对话明确需求并输出高层方案。
- 步骤 2:用模板 2,生成数据模型和函数签名(不含逻辑)。
- 步骤 3:人工审查后,用模板 3,逐个函数实现,控制粒度。
这种分阶段调用,完全符合提出的“按架构师方式写代码,AI 作为结对搭子”方法,避免一次性生成过多代码且易迭代。