当前位置:首页>java>AI编程第三课:为什么AI总是改错地方?因为你没搞懂这件事

AI编程第三课:为什么AI总是改错地方?因为你没搞懂这件事

  • 2026-09-03 18:35:04
AI编程第三课:为什么AI总是改错地方?因为你没搞懂这件事

为什么AI总是改错地方?因为你没搞懂这件事

你有没有遇到过这种情况:

让AI帮你改一个功能,结果它改了一堆不相关的文件? 或者改完之后,其他地方莫名其妙出bug了?

问题出在哪?

因为AI不知道你的项目是怎么组织的,它在"盲改"。

这篇文章教你理解项目结构,让AI改代码时更精准、更可控。


📚 这是「AI编程10讲」系列第3篇

不教写代码,教怎么让AI帮你写代码。 从编程本质到产品落地,10篇文章带你掌握AI时代的核心能力。

篇章
核心内容
01 编程本质
数据库→后端→前端,理解这个就能和AI高效对话
02 黑盒思维
只关心输入输出,让AI帮你填充中间逻辑
👉 03 理解项目结构
文件怎么组织,AI改代码才不会乱
04 文档驱动编程
什么时候写文档,什么时候直接 Vibe
05 AI 编程工具
Cursor、Kiro、Claude Code 怎么选、怎么用
06 大模型工程化简史
从 Prompt 到 Agent,理解工具为什么这样设计
07 快速构建原型
深度理解业务→设计数据库→大胆迭代
08 AI 应用架构
本地代码和 AI 能力层隔离,这是最重要的原则
09 原型落地成产品
DevOps、环境管理、配置项管理
10 未来展望
1 年后,大部分应用将通过 AI 全自动编写并落地

上一篇回顾

上一篇讲了黑盒思维:只关心输入输出,让 AI 实现中间逻辑。

这一篇讲:怎么理解项目的文件结构,让 AI 改代码时更精准。


核心理念

先搞清楚每个文件夹是干什么的,操作 AI 时心里才有数。

核心原则:后端功能与功能隔离,前端页面与页面隔离。

注意:下面用 FastAPI + React 举例,但这只是示例。核心是理解"隔离原则",不是死记这个结构。


一、为什么要理解项目结构

AI 编程的核心:上下文

AI 的能力取决于你给它的上下文。

上下文越清晰 → AI理解越准确 → 生成的代码越好

文件越独立、耦合越少:

  • AI 需要理解的东西越少
  • 出错的概率越低
  • 生成的代码质量越高

为什么要隔离

高耦合:                    低耦合:文件A ←→ 文件B              文件A(独立)  ↑       ↓                 文件B(独立)  └── 文件C ──┘              文件C(独立)
高耦合
低耦合
AI需要理解多个文件的关系
AI只需要理解一个文件
上下文复杂,容易出错
上下文简单,效果更好
改一处要改多处
改一处只改一处

随着 AI 升级,你也变强

你的代码结构好 → AI能力升级 → 同样的代码效果更好 → 你不用改任何东西

关键洞察:

  • 今天 AI 做 80 分的事,明天可能做 95 分
  • 你的代码结构越好,AI 升级后效果提升越明显
  • 低耦合的代码 = 为未来的 AI 做好准备

二、后端结构(以 FastAPI 为例)

核心文件夹

backend/app/├── models/      # 定义数据库表长什么样├── schemas/     # 定义接口输入输出的格式├── api/         # 定义接口(工具)└── services/    # 复杂的业务逻辑

每个文件夹干什么

文件夹
一句话
例子
models/
数据库表结构
user表有id、name、email字段
schemas/
接口的输入输出格式
创建用户需要传name和email
api/
接口定义
GET /users 返回用户列表
services/
复杂逻辑
发送邮件、调用AI等

功能隔离

用户功能 = models/user.py + schemas/user.py + api/users.py视频功能 = models/video.py + schemas/video.py + api/videos.py评论功能 = models/comment.py + schemas/comment.py + api/comments.py

每个功能一套文件,改用户不影响视频,改视频不影响评论。


三、前端结构(以 React 为例)

核心文件夹

frontend/src/├── pages/       # 页面├── components/  # 可复用的小组件├── stores/      # 存储数据/状态└── api/         # 调用后端接口

每个文件夹干什么

文件夹
一句话
例子
pages/
一个页面一个文件
UserList.tsx 用户列表页
components/
可复用的小部件
Button.tsx 按钮组件
stores/
页面的数据存储
userStore.ts 存用户数据
api/
调用后端接口
user.ts 调用用户相关接口

页面隔离

用户列表页 = pages/UserList.tsx视频列表页 = pages/VideoList.tsx设置页     = pages/Settings.tsx

一个页面一个文件,改用户页面不影响视频页面。


四、灵活应对不同项目

每个项目结构都不一样

上面讲的 FastAPI 和 React 只是示例,实际项目可能完全不同。

项目A: models/ + api/ + services/项目B: entities/ + controllers/ + repositories/项目C: domain/ + infrastructure/ + application/

不要死记结构,要学会快速理解任何项目。

拿到新项目第一步:理解架构

拿到新项目 → 先看目录结构 → 理解每个文件夹作用 → 找到功能隔离的边界 → 开始操作

问自己这几个问题

问题
目的
数据库表定义在哪
找到 models 层
接口定义在哪
找到 api 层
页面文件在哪
找到 pages 层
一个功能涉及哪些文件
确定隔离边界

五、动态评估 AI 能力边界

AI 能力是动态的

简单任务 → AI直接搞定中等任务 → AI需要引导复杂任务 → 拆成小任务给AI

根据任务复杂度调整策略

任务复杂度
策略
简单:改一个文件
直接让AI改
中等:改2-3个文件
分步骤让AI改
复杂:改多个文件
先拆分,再逐个让AI改

实时评估,灵活调整

第一次尝试 → AI效果不好 → 拆成更小的任务第一次尝试 → AI效果很好 → 可以给更大的任务

不要固定思维,根据AI的实际表现动态调整。


六、隔离原则总结

好处
说明
AI上下文更清晰
给AI的信息越少越精准
AI效果更好
独立文件AI理解更准确
不会互相影响
改A功能不会炸B功能
随AI升级变强
结构好,AI升级你也受益

七、实战:添加新功能

场景:添加"评论"功能

第一步:确定要创建哪些文件

后端(按功能隔离):├── models/comment.py      # 评论模型├── schemas/comment.py     # 评论结构├── api/comments.py        # 评论接口└── services/comment_service.py  # 评论业务逻辑(可选)前端(按页面隔离):├── api/comment.ts         # 评论接口调用├── stores/commentStore.ts # 评论状态(可选)└── components/CommentList.tsx  # 评论列表组件

第二步:分步骤让 AI 实现

后端model → 后端schema → 后端api → 前端api → 前端组件

分步骤让 AI 实现,能帮你理顺逻辑,也方便检查每一步的结果。


八、给 AI 的指令模板

注意: 这里只是简化的示例,展示基本的沟通结构。

实际项目中,你可能还需要附带详细的需求说明、业务逻辑、边界情况等。具体怎么写,后面「文档驱动编程」那篇会详细讲。

后端新功能

帮我实现 [功能名] 的后端接口需要创建的文件:1. models/xxx.py - 数据模型,字段: id, name, ...2. schemas/xxx.py - 请求响应结构3. api/xxx.py - CRUD接口参考现有的 models/user.py 和 api/users.py 的写法

前端新页面

帮我实现 [页面名] 页面需要创建的文件:1. pages/XxxList.tsx - 列表页面2. api/xxx.ts - 接口调用参考现有的 pages/UserList.tsx 和 api/user.ts 的写法

九、总结

核心原理

AI 编程的核心是上下文。

文件独立/低耦合 → 上下文清晰 → AI效果好 → AI升级你也变强

核心原则

理解目录结构 → 功能/页面隔离 → 精准指导AI → 项目稳定可控

记住这几点

要点
说明
先理解结构
知道每个文件夹干什么
后端功能隔离
一个功能一套文件
前端页面隔离
一个页面一套文件
参考现有代码
保持风格一致

文件夹速查

后端
作用
models/
数据库表结构
schemas/
输入输出格式
api/
接口定义
services/
业务逻辑
前端
作用
pages/
页面组件
components/
通用组件
stores/
状态管理
api/
接口调用

理解了项目结构,操作 AI 就心中有数!


📌 本篇要点

  1. 核心原则:后端功能隔离,前端页面隔离
  2. AI编程的核心:上下文越清晰,AI效果越好
  3. 实操方法:先理解结构,再分步骤让AI实现

👉 下一篇预告

下一篇讲「文档驱动编程」——什么时候需要写文档,什么时候可以直接Vibe?

复杂功能怎么和AI协作才不会乱,关注不迷路。


💬 互动话题

你接手过结构混乱的项目吗?AI改代码时踩过什么坑? 评论区聊聊你的经历~


作者:拿铁蝈蝈 这套内容原是给公司员工培训使用,现在分享出来,希望对大家有帮助。 觉得有用的话,转发给还在手写代码的朋友吧 😄

最新文章

随机文章