Deeeli
← 返回博客列表

Multi-Agent 翻车实录:v4→v5→v4 的 100 次部署

Multi-Agent 翻车实录:v4→v5→v4 的 100 次部署

TL;DR — 用了 9 个 AI Agent、100+ 个 Kanban 任务、5 版设计稿、无数次部署,最后回到最初的版本。总"净产出"为零,但学到了所有东西。

这不是成功故事。这是一份诚实的翻车实录。


一、系统架构:谁在干什么

在开始之前,先介绍一下这支"AI 工程团队"的成员:

角色Profile职责模型
项目经理Manager拆需求、分配任务、跟踪进度DeepSeek
设计师Designer出效果图、UI 差异分析MiniMax
架构师Architect技术选型、系统设计MiniMax
开发者Coder写代码MiniMax
全栈FullStack前后端串的功能MiniMax
审查者Reviewer代码审查MiniMax
测试者Tester质量扫描+自动化测试MiniMax
运维OpsSSH 部署、预览上线MiniMax
主审查Default部署后线上验证DeepSeek

它们通过一个 SQLite 的 Kanban 系统协作。Manager 创建任务,Dispatcher 自动调度,Worker 抢任务干活。完成后产出交给下一个 Worker。

理论上,这是一条完美的流水线。

实际上……


二、v4:来之不易的稳定版本

首页经历了三轮迭代才到达 v4:

  • v1:Designer 独立设计,赛博朋克风格,Three.js 3D 球体 + 粒子背景
  • v2:用户说"太花哨了",Designer 精简
  • v3:用户说"还是不够",继续调
  • v4:终于确认——IcosahedronGeometry 球体 + 双环面 + 900 粒子 + Canvas 神经网络背景

v4 是经过用户反复确认的版本。但 Designer 没有停——它在空闲时段继续迭代。


三、v5:AI 自主优化的产物

在一个没有用户指令的空闲时段,Designer 产出了 v5 设计稿。

它的"优化"逻辑是:

"赛博朋克风格已经过时了。简约克制的设计更符合现代审美。减少视觉噪音,让内容说话。"

它做了以下改动:

维度v4(赛博朋克)v5(精简克制)
球体IcosahedronGeometry简化 SphereGeometry
环面双环面移除
粒子900 个 + Canvas 纹理300 个纯色
背景深色渐变 + 神经网络纯色 #020617
导航栏毛玻璃半透明完全不透明
按钮赛博朋克边框发光扁平圆角
字体Google Fonts (Orbitron)系统字体栈
配色多种霓虹色单一 #22d3ee

纯从设计角度看,v5 确实"更好"——更可读、更符合现代设计系统、加载更快。

但问题是:用户要的不是"更好",要的是 v4 的风格。

Designer 没有区分"设计优化"和"风格变更"——它把两者当成了同一件事。


四、v5 上线后

Manager 启动了全自动部署流水线:

Designer 出 v5 效果图
  → Coder 实现
    → Reviewer 审查
      → Git 提交
        → Tester 测试
          → Ops 部署到预览
            → Agent Review 验证
              → Ops 上线生产

全自动,45 分钟内完成。QQ Bot 在每个阶段完成后推送通知。

我打开网站的时候,第一反应是:「这谁给我换了?」

不是在说"不好看"——是在说"不是我确认的版本"。

但此时,管道已经走完了。6 个 Worker 都完成了自己的任务,全部 APPROVE。从流程上看,"一切正常"。


五、v5→v4:回退之路

我创建了回退需求:「首页换用 v4 设计稿。」

Manager 理解了——它不是简单地"回到之前的代码提交",因为 Git 历史里已经混入了其他改动。最干净的方案是:让 Designer 对比 v5 和 v4,产出差异清单,然后 Coder 修改。

Manager 创建子任务 →
  Designer 对比差异(t_0e4bb28d)
    → 产出 26 项差异清单
      → Coder 修复 20 项 P0+P1
        → Reviewer 审查
          → Git 提交
            → Tester 测试
              → Ops 部署
                → 容器 OOM 💥

然后就是上一篇文章里讲的故事——容器 OOM,网站挂了 55 分钟。


六、数字说话:100+ 次部署的真相

在 v4→v5→v4 的整个过程中,Kanban 系统创建了超过 100 个任务。平均每次"改动"实际上经历了 6-12 个 Worker 任务。

阶段任务数工人
v4 最终确认(Designer 迭代)~20 个Designer × 3
v5 设计~10 个Designer × 2
v5 实现上线~30 个Coder + Reviewer + Tester + Ops
admin 侧边栏修复~15 个Architect + Coder + Reviewer + Ops
三项视觉修复~20 个Designer + Coder + Ops + Review
v5→v4 回退(含 OOM)~30 个Designer + Coder + Reviewer + Tester + Ops + Review
blog 页对齐~15 个Designer + Coder + Reviewer + Ops
合计~140 个

七、我学到的

1. AI Designer 需要"视觉锚点"

v4 被确认后,它的效果图应该成为"不可变更的锚点"。任何后续优化都必须在保持视觉一致性的前提下进行。但 Designer 没有这个约束——它在每次迭代中都可能"重新诠释"风格。

解决办法:在 Manager 工作流中加入"设计基线检查"——Coder 实现后,Designer 验证实现是否与设计稿一致(这是我们后来加的)。

2. 管道太长,问题放大

Designer → Coder → Reviewer → Git → Tester → Ops → AgentReview

7 个阶段。每个阶段 5-30 分钟。管道越长,发现问题的时机越晚。

v5 的"风格漂移"在 Designer 阶段就发生了,但直到 Ops 部署后才能被用户看到——中间跨越了 Coder、Reviewer、Tester 三个阶段,它们都"通过"了——因为它们审查的是代码质量,不是设计意图。

3. Worker 之间的"幻觉放大"

Designer 说"这 26 项差异需要修"。 Coder 修了 20 项(P0+P1)。 Reviewer 审查说"代码 OK"。 Tester 测试说"功能 OK"。

但没有人问:"v4 和 v5 的差异真的需要全部回到 v4 吗?v5 的一些改进(系统字体栈、纯色背景)是否应该保留?"

每个 Worker 只完成自己被分配的任务,没有人做"整体决策"。 这就是 Multi-Agent 系统当前的盲区。

4. 人有最终决策权,但需要及时看到

如果用户在 Designer 阶段就看到 v5 效果图,根本不会有后续的 95 个任务。但我没有在那个时候介入——因为我忙别的事情去了。

教训:在任何 UI 变更进入开发之前,强制预览展示给用户确认。不要假设用户"随时在看"。


八、结语

这次"翻车"让我重新思考了一个问题:

Multi-Agent 系统到底应该像一个"团队"还是像一个"自动化流水线"?

如果是流水线,那 140 个任务中真正有价值的可能只有 20 个——其余 120 个是在一条错误的路径上越走越远。

如果是团队,那它缺少一个关键角色——产品经理。一个会在 v5 设计出来后说"等等,用户确认了吗?"的人。

后来我把 ProductManager 加入了系统。下一次的 v4→v5→v4 循环,可能不会被触发。

也可能触发——但至少会有个 PM 先拦住我。