返回博客列表

用 AI 从零搭企业级应用?踩了20个坑后,我总结出这套工作流

2026-07-12T23:00:00+08:00
AI编程企业级开发Claude CodeAgent开发效率架构设计AI工具

用 AI 从零搭企业级应用?踩了20个坑后,我总结出这套工作流

试过用 AI 写项目但越写越乱的,评论区举个手。

很多人用 AI 写代码,停留在"帮我写个函数"的阶段。真要做一个企业级应用——有数据库、有缓存、有消息队列、有鉴权、有日志监控、有 CI/CD——你会发现 AI 写的代码拼到一起根本跑不起来。

不是 AI 不行,是姿势不对。

过去三个月,我用 AI 工具链从零搭了三个生产级项目,从最简单的 CRUD 到多服务的微服务架构。中间踩了无数坑:AI 瞎编 API、依赖版本冲突、安全漏洞、测试覆盖率为零、重构一次崩一次。

踩完这些坑之后,我整理出了一套相对靠谱的工作流——人把控架构和决策,AI 负责实现和填充。程序员的角色从"写代码的人"变成了"技术负责人 + 代码审查者"。效率提升多少?保守估计 2-3 倍,而且代码质量反而更高。

这篇文章把完整流程拆给你,从需求到上线,每一步该用什么工具、怎么 prompt、哪些坑要避开,全都说清楚。

本文提纲

  1. 先搞清楚:企业级应用到底难在哪
  2. AI 工具栈选型:不是只有 ChatGPT
  3. 第一阶段:需求拆解与架构设计(AI 只能当参谋)
  4. 第二阶段:编码实现的正确姿势
  5. 第三阶段:测试与质量保障
  6. 第四阶段:部署与运维
  7. 最容易踩的 8 个坑
  8. 效率翻倍的几个实用技巧

先搞清楚:企业级应用到底难在哪

先说清楚一个前提:AI 写个单文件的小工具、写个算法题、写个接口,确实又快又好。但企业级应用的复杂度不在代码量,而在系统性

一个正经的后端应用,至少要考虑这些:

  • 分层架构:Controller / Service / DAO 层职责分离,不能一坨糊
  • 数据一致性:事务边界在哪?失败了怎么回滚?
  • 并发安全:有没有竞态条件?锁的粒度够不够?
  • 错误处理:异常怎么分类?返回码怎么定义?日志怎么打?
  • 安全:鉴权、权限、SQL 注入、XSS、敏感数据脱敏
  • 可观测性:日志、指标、链路追踪,出问题能定位
  • 扩展性:以后加功能会不会要大改?
  • 部署运维:配置怎么管理?怎么灰度?怎么回滚?

这些东西,AI 单独搞不定。它可以帮你写每一层的代码,但架构决策、边界划分、风险判断,必须是人来做。

这也是很多人用 AI 写项目越写越乱的根本原因——一开始就让 AI 自由发挥,没有定好规矩。等代码堆到几千行,架构已经烂了,重构成本极高。

所以正确的顺序是:人先定骨架,AI 再填肉。骨架歪了,肉再多也是畸形的。

AI 工具栈选型:不是只有 ChatGPT

做企业级项目,不是一个工具走天下。不同阶段用不同的工具,效率差很多。

阶段 推荐工具 原因
架构设计、方案讨论 Claude 网页版 / GPT-4o 长上下文,适合聊方案、画架构图
编码实现、重构 Claude Code / Cursor / Windsurf 能直接操作项目文件,理解整个代码库上下文
代码审查、找 bug Claude Code / GitHub Copilot 逐行分析,发现隐藏问题
写测试用例 Claude Code 结合源码生成边界测试
写文档、README 任意大模型 结构化输出就行
调试报错、排查问题 Claude Code + 终端 直接读错误日志和相关代码
生成 SQL、脚本 ChatGPT / Claude 单次任务,快速出结果

核心工具推荐 Claude Code 或者 Cursor,二选一就行。这两个都是能直接操作你本地项目的 Agent 型工具,不是聊天框里贴代码那种。

Claude Code 是 CLI 形式,适合习惯终端的人;Cursor 是 IDE 形式,图形界面友好。底层模型差不多,主要是交互方式的区别。

有几个工具不建议作为主力:

  • 免费的小模型:写简单逻辑还行,复杂架构容易瞎编
  • 只能聊天不能读文件的:每次贴代码太麻烦,而且上下文有限
  • 不支持多文件编辑的:重构的时候你会想死

第一阶段:需求拆解与架构设计(AI 只能当参谋)

这一步绝对不能交给 AI 主导。架构定错了,后面全是返工。

第一步:写一份需求文档

先自己把需求写清楚,不用很正式,但要覆盖:

  • 这个系统是做什么的?给谁用?
  • 核心业务流程有哪些?
  • 非功能需求:并发量大概多少?响应时间要求?
  • 数据规模:用户量、数据量、增长预期?
  • 技术约束:必须用什么技术栈?有什么遗留系统要对接?

第二步:让 AI 当评审,不要让它设计

把你的需求和初步方案丢给 AI,问它:

"这是我设计的系统架构和技术选型,请从以下角度帮我评审:

  1. 有没有明显的架构缺陷?
  2. 哪些地方可能有性能瓶颈?
  3. 有没有安全风险?
  4. 这个方案未来扩展会遇到什么问题?
  5. 有没有更简单的替代方案?"

AI 是很好的"魔鬼代言人",它能想到你忽略的角落。但最终选哪个方案,必须你来拍板。

第三步:定好项目骨架

写第一行代码之前,先把目录结构定死:

src/
├── controllers/      # API 层,只做参数校验和返回封装
├── services/         # 业务逻辑层,核心业务在这里
├── repositories/     # 数据访问层,SQL 只在这里
├── models/           # 数据模型和 DTO
├── config/           # 配置管理
├── middleware/       # 中间件:鉴权、日志、异常处理
├── utils/            # 工具函数
└── tests/            # 测试

然后把每一层的基类、公共异常、统一返回格式先写好。这些是规矩,AI 后面写代码必须遵守这个结构。

坑点提醒:如果一开始不把结构定好,AI 写着写着就会到处乱放文件,业务逻辑散落在 Controller 里,SQL 写在 Service 里,最后变成一坨屎山。

第二阶段:编码实现的正确姿势

骨架搭好了,终于可以让 AI 干活了。但不是说一句"帮我实现用户模块"就完事。

原则:一次只让它做一件事

不要一口气让 AI 实现整个模块。它会忘掉你定的规矩,写出不符合架构的代码。

正确的做法是分层推进:

1. 先写数据模型

"根据这个需求,帮我设计用户表和相关的 DTO,放在 models/ 目录下,遵循现有的命名规范。"

检查没问题了再下一步。

2. 再写数据访问层

"基于 User 模型,实现 Repository 层,包含基本的 CRUD 和按用户名查询。只操作数据库,不写业务逻辑。"

3. 然后写业务逻辑层

"实现用户注册的 Service 层逻辑:参数校验 → 检查用户名是否存在 → 密码加密 → 写入数据库 → 返回用户信息。异常用我们定义的 BusinessException。"

4. 最后写 Controller 层

"实现用户注册接口,调用 UserService,参数校验用我们的验证框架,统一返回格式。"

一层一层往上走,每一层写完你都 review 一遍,确认没问题再继续。这样出了问题也好定位。

怎么让 AI 遵守你的代码规范

两个技巧:

第一,给它看样板代码。

"参考现有的 UserController 的写法,实现 OrderController。保持同样的错误处理、返回格式、日志风格。"

第二,把规范写在项目的 README 或者 CONTRIBUTING.md 里。 像 Claude Code 这种工具会自动读取项目根目录的 README,你把编码规范写在里面,它自然会遵守。不用每次 prompt 都重复一遍。

重构的时候要小心

项目大了难免要重构。这时候最容易出问题——AI 改了 A 文件,忘了改 B 文件,编译直接报错。

我的经验是:

  • 小重构:直接让 AI 改,但改完一定要跑一遍测试
  • 大重构:先跟 AI 讨论重构方案,确认影响范围,再分步执行
  • 绝对不要:一句话让它"重构整个项目",一定会崩

第三阶段:测试与质量保障

AI 写代码快,但如果没测试,你不敢上线。

让 AI 写测试,比你自己写快多了

测试是 AI 最擅长的领域之一。给它看函数实现,让它写单元测试:

"为 UserService 的 register 方法写单元测试,覆盖以下场景:

  1. 正常注册成功
  2. 用户名已存在
  3. 密码格式不符合要求
  4. 数据库写入失败

Mock 掉 Repository 层,只测 Service 逻辑。"

正常情况,一个函数的测试用例 AI 一分钟就能写完,覆盖的边界情况可能比你想的还全。

但有两件事 AI 做不好

1. 集成测试和端到端测试的设计 AI 不知道哪些场景是业务上真正重要的,哪些是边角料。测试策略得人来定。

2. 性能测试 AI 可以帮你写压测脚本,但瓶颈分析和优化方案还是要靠人的经验判断。

代码审查:AI 审一遍,人再审一遍

提交代码前,让 AI 先做一轮 code review:

"帮我 review 这次改动的代码,检查:

  1. 有没有明显的 bug?
  2. 有没有安全漏洞?
  3. 有没有性能问题?
  4. 符不符合项目的代码规范?
  5. 有没有可以简化的地方?"

它能发现很多你忽略的细节,比如空指针、SQL 注入风险、未处理的异常。但最终合不合入,还是要人来拍板。

第四阶段:部署与运维

写代码只是第一步,能稳定跑起来才是企业级。

Dockerfile 和部署脚本

AI 写 Dockerfile 很熟练,但要注意:

  • 告诉它你的项目技术栈和版本
  • 要求多阶段构建,镜像尽量小
  • 明确哪些文件不需要打进镜像
  • 安全方面:不要用 root 用户运行

K8s 的 YAML、CI/CD 配置这些,AI 也都能写,给它看你们的模板就行。

监控和日志

这部分 AI 能帮你写代码,但监控什么指标、告警阈值设多少,必须根据业务来定。AI 不知道你们系统的正常水位是多少。

排查问题的时候,AI 是神器

线上出 bug 了,把错误日志和相关代码丢给 AI:

"这是报错日志和对应的代码,帮我分析可能的原因和排查方向。"

大部分常见问题,AI 看一眼就能给你几个排查方向,比自己瞎猜快多了。特别是那种你从没见过的奇葩报错,AI 大概率见过类似的。

最容易踩的 8 个坑

这些都是我实打实踩过的,每一条都浪费了我至少半天时间。

1. AI 瞎编不存在的 API

最常见的坑。它会非常自信地调用一个根本不存在的方法,或者用错了参数。永远不要相信 AI 写的代码能直接跑,一定要自己过一遍。

2. 依赖版本冲突

AI 推荐的依赖版本经常不对,或者几个库版本不兼容。装之前最好查一下官方文档确认。

3. 安全漏洞

AI 写的代码容易出现 SQL 注入、XSS、硬编码密钥这些问题。涉及安全的代码一定要仔细审。

4. 忘了处理错误和边界

AI 写的"快乐路径"代码很流畅,但异常情况经常漏掉。空值、网络失败、超时、并发冲突——这些它默认不考虑,你得主动提醒。

5. 架构一致性丢失

写着写着,AI 就开始不按你定的分层来了。Service 里直接写 SQL,Controller 里塞业务逻辑。每写完一个模块都要检查结构。

6. 上下文丢失,重复造轮子

项目大了之后,AI 记不住所有已有代码,会重复实现已经存在的工具函数。写完搜一下项目里有没有类似的东西。

7. 测试只测正常路径

AI 写的默认测试基本都是 happy path。边界条件、异常场景得你明确要求它才会写。

8. 过度设计

AI 有时候会给你搞出特别复杂的方案,各种设计模式往上堆。记住:简单的才是最好的。能用 if-else 解决的,就别上策略模式。

效率翻倍的几个实用技巧

1. 建立项目级的 prompt 模板

把常用的指令存成模板,比如"写 Service 层"、"写单元测试"、"code review",每次直接套用,不用重新组织语言。

2. 善用"继续"指令

AI 输出一半截断了?别说"继续",说"从刚才断掉的地方接着写,保持同样的格式和风格"。效果好很多。

3. 复杂问题先让它想清楚再写

遇到难的问题,先让 AI 分析思路:

"先别急着写代码,说说你的实现思路和可能的问题。"

思路对了再让它动手,省得写出来一大坨不对的再改。

4. 小步提交,经常 commit

用 AI 开发,提交频率要比平时高。每实现一个小功能就 commit 一次,万一改崩了可以快速回退。

5. 别追求一次完美

第一版先让 AI 写个大概,能跑就行。然后你指出问题,让它迭代优化。比你一次把所有要求说清楚效率高。

参考文档与链接

你平时用 AI 写代码最多的场景是什么?评论区聊聊你的工作流。觉得有用点个赞,让更多人解锁正确姿势。


作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

分享给朋友