别急着写代码:多项目场景下,为什么「前后端设计」这一步最值钱 别急着写代码多项目场景下为什么「前后端设计」这一步最值钱AI 编程工具普及之后写代码越来越便宜设计越来越贵。单项目时代你很容易忽视设计——反正 AI 生成快错了重来成本低。但多项目场景下设计错误的代价翻倍接口设计错了前后端一起返工表结构错了数据迁移比写代码贵得多。飞算JavaAI 的智能引导五步里把设计接口、表结构设计显式放在处理逻辑、生成源码之前就是这个道理。这篇文章讲讲在多项目场景下为什么前后端设计这一步最值钱以及怎么把设计做在前面。一、一个返工成本对比看清设计的价值先算一笔账用同一个需求的两个做法对比——订单模块加按支付状态筛选。做法A跳过设计直接让 AI 生成。第 1 轮输入需求AI 生成后端接口 前端页面接口参数status上线前评审发现筛选还应该支持按支付渠道过滤status单参数不够返工后端加参数、前端加筛选维度、表结构可能要加冗余字段、测试用例重写成本一场联调 一轮回归 一次上线延期。做法B先设计后端接口定义、返回结构、表结构再让 AI 生成。第 0 轮花 10 分钟把接口设计写成status channel 双筛选维度、分页、兼容旧调用方第 1 轮把设计丢给 AI 生成一次成型评审通过成本10 分钟设计 一轮生成 一轮验收。两个做法的代码量差不多成本差在哪差在返工杠杆设计阶段改一个字段成本是改一行字代码阶段改一个字段成本是改前后端 测试 回归。多项目场景把杠杆又放大了一倍——一个接口设计错误前后端两套代码同时返工。二、多项目场景设计错误为什么更贵单项目场景下设计错误的影响是局部的接口没设计好后端返工前端受影响有限。多项目前后端分离 Workspace场景下一次设计错误沿两条链路扩散链路1接口设计错 → 前后端双返工。接口是最先固化的契约。设计错了后端实现要改、前端调用要改、接口文档同步改、测试用例重写。而且按生成的代码已对齐的特性两端代码是一起生成的——设计错两端一起错返工也一起返。链路2表结构错 → 上线后代价指数增长。表结构设计错了返工不在代码层在数据层字段类型不对要改结构、缺索引要补、冗余字段要删生产环境还要考虑数据迁移。表结构的返工成本是横跨设计、开发、运维三个阶段的远高于接口。所以多项目场景的设计要求更高不只是页面能跑而是接口契约稳固、数据模型稳固——因为一个错误会同时击穿前后端的整条链路。还有一种更隐蔽的贵设计错了AI 会忠诚地放大错误多项目场景下设计错误的代价还有一个放大机制很多人没意识到AI 会把你的设计错误原样放大到两端。单项目手工开发时设计虽然错了但前后端是两个人各自实现的有时歪打正着能补掉一部分偏差而多项目模式下AI 基于同一份错误设计生成两端代码它不会纠偏只会忠实执行——你接口契约里写错一个字段名前端和后端会以同样错误的名字对齐。生成得越彻底错误的传播越完整返工时两端要一起改。这就把设计先行从好习惯升级成了必要动作设计是唯一能让 AI 在正确方向上自主发挥的输入输入错了生成越高效越可怕。反过来也说明验收时对着设计产物逐条核对是最便宜的一道防线——在 AI 把错误放大成两套代码之前拦住它比改两套代码便宜一个数量级。三、多项目设计到底设计什么把前后端设计具体化拆成三件事1. 设计接口契约。明确三件事路径与语义POST /order/export还是GET /order/export导出是幂等操作应该用 POST参数与结构哪些是必填、哪些可选、分页默认值、返回的包装结构兼容性老版本客户端不传新参数时行为是否和以前一致。2. 设计数据模型。接口返回什么先去看数据要存什么字段类型金额用decimal状态用枚举还是字符串索引策略按状态筛选、按时间排序的字段有没有索引扩展预留将来要加的维度渠道、区域现在建模就留好。3. 设计交互边界。前端不是数据展示器交互边界要设计空态筛选结果为空页面显示什么加载态请求中的 UI 状态错误态接口报错时前端如何提示、是否可重试。这三件事的设计产物是 AI 生成代码的输入。设计得越清楚AI 生成的代码越接近交付状态——而不是能跑但哪哪不对的初稿。设计三类产物各自的验收红线设计产物写完了怎么判断写得好不好给每类一条红线接口契约的红线随便找一个懂业务的同事让他读了之后能直接说出这个接口支持哪些调用方式、不传哪些参数会发生什么。如果读完还要问你说明契约写得不完整。契约是给另一个乙方执行的必须是自足的文件。数据模型的红线模拟一次需求变更来检验。比如问自己如果下周要加一个按区域筛选现在的建模要改几张表、几个接口改动越小建模越稳。模型设计时扩展预留写得好不好模拟一次变更立马见分晓。交互边界的红线把三态空/加载/错误各问一遍页面显示什么。任何一态答不上来边界就是空的。前端能跑和可用的差距全在这三态里——生成代码最常丢的就是这三态你在设计里写死了AI 才会生成验收也有依据。三条红线都过了再往下给 AI 生成才叫设计先行没过就往下走叫带着半成品设计去赌生成质量。四、一个设计流程示例把设计做在生成前面用一个完整示例看设计先行怎么落地。需求订单列表支持按状态筛选前端列表页加下拉 分页。第1步5分钟写接口契约。接口GET /api/order/list 参数 status: 可选枚举 PAID / UNPAID / REFUNDED不传查全部 page: 可选默认 1 size: 可选默认 10 返回 { code, data: { list, total, page, size } } 兼容性status 不传时走原有逻辑第2步3分钟写数据模型要求。字段order_status字符串索引查询按该字段过滤时走索引 排序按 create_time 倒序该字段已有索引 扩展预留 pay_channel 维度本期不做接口不暴露第3步2分钟写交互边界。前端下拉选项全部 / 已支付 / 未支付 / 已退款 筛选变化时重置页码并重新请求 空结果展示空态暂无符合条件的订单 请求失败toast 提示保留上次数据第4步生成把三份产物丢给智能会话。“按以下设计实现前后端接口契约……数据模型要求……交互边界……前后端一起改。”生成后逐项验收接口参数对不对、字段名是否一致、空态有没有做、分页重置行为对不对。验收对照的是第 1~3 步的设计产物不是凭感觉看代码。同样的设计交给生成和交给人有什么区别有人会问设计都做完了交给 AI 生成和交给初级开发实现有差别吗差别在执行质量上第一AI 不会漏需求。你写了四条验收项它会照着四条生成初级开发也会照着四条改但实现细节比如分页重置时机可能被遗漏。AI 的逐条执行更稳定。第二AI 会顺带对齐两端。你设计里写了status参数AI 生成后端时会用这个参数生成前端时也会用这个参数——它天然是两端一致的。人实现时前端和后端各写一遍对齐靠人自觉就容易漏。第三AI 不会自作主张。初级开发遇到设计没写清的地方会自己拍脑袋补一个行为这个补充的行为可能和设计意图冲突AI 在输入没写清时通常会保守处理或在生成后提示你确认——它更照章办事。所以设计先行的收益不只是少返工更是让生成的执行质量可预期——你设计了什么它就交付什么验收时你检查的是设计对不对而不是实现跑偏没有。五、为什么设计先行和 AI 编程工具天然合拍过去设计先行难以坚持有个现实原因手工时代写的代码贵设计的时间机会成本高——你花 10 分钟设计不如直接写 10 分钟代码反正都要写。AI 编程工具把这个等式改写了代码生成近乎免费设计的门槛反而显性化。以前10 分钟设计 vs 写 1 小时代码设计机会成本高 → 大家直接写现在10 分钟设计 vs 生成 2 分钟代码设计的机会成本变成只多 8 分钟但能让生成结果一次到位 → 设计成了高杠杆动作。这正好对上那句话“大模型解决代码问题AI 编程工具解决工程问题”——代码问题怎么写交给大模型工程问题设计什么、边界在哪、怎么验收正是人要投入的地方。多项目场景把这个分工推到极致一个设计错误击穿两端设计质量的杠杆被放到最大。六、给设计先行的三个实操建议建议1把设计写进需求描述而不是只在脑子里过。AI 能读到的只有你输入的内容设计在脑子里等于没设计。把接口契约、数据模型、交互边界写进需求描述AI 生成直接对齐你验收也有了锚点。建议2设计产物只写必须固化的不写可自由发挥的。接口参数、字段类型、兼容性必须写死页面布局、组件选型、内部实现让它发挥。设计管住契约不管住实现给生成留空间。建议3为设计变更留流程。多项目场景设计错了不丢人丢了流程才伤变更接口时先改设计产物契约文档/需求描述再重新生成前后端让两端在同一份设计上重新对齐。过程化了“重来一次的成本就从双端返工降到重新生成”。设计产物的载体怎么选说了半天写设计具体写在哪结合多项目场景的实践按场景选载体场景一一次性需求的临时设计。直接在需求描述里写随需求一起进智能会话。好处是上下文完整AI 生成时读的就是同一份文本坏处是不好复用。适合三十分钟内能搞定的中短需求。场景二高频复用模块的接口设计。单独建一份契约文档Markdown 足够需求描述里引用它。比如订单模块的接口契约按 docs/order-api.md 执行本次需求只新增筛选与导出。AI 能读到的话契约就是稳定的输入不会被每次需求带偏。场景三跨团队的核心数据模型。除了 Markdown建议在代码里落一份规范定义如 OpenAPI/Swagger 的 yaml或带注释的实体定义让 AI 和人都以代码内的定义为准。数据模型是全局事实值得用最权威的载体。载体不用统一原则只有一条设计产物要进得了 AI 的输入。写在自己笔记里、画在白板上的设计AI 读不到等于没有设计。七、总结设计是 AI 编程时代最值钱的一步最后把这篇的价值浓缩成三句话代码越来越便宜设计越来越贵——AI 让生成近乎免费设计错误却让前后端双返工杠杆被放大多项目场景设计管三件事——接口契约、数据模型、交互边界这三份产物就是 AI 生成的输入设计先行的本质是分工——把代码问题交给大模型把工程问题设计、边界、验收真正扛起来。别急着写代码。在多项目场景下先花十分钟把接口契约和数据模型定下来再让 AI 生成——你会发现自己拿到的不是能跑的初稿而是接近交付的成稿。这十分钟是整个 AI 编程工作流里性价比最高的一笔投入。