Behind the Scenes
不会写代码的设计学生,如何让 15 个 AI 角色零出错协作
15 个角色,5 个阶段,1 条流水线
Orchestrator
协调器 · Opus
Explore
调研摸底
Scout / BA
Plan
需求规划
PM / Adversarial
Design
视觉设计
Designer
Build
实现与验证
3 Dev / Reviewer / QA / Security
Deliver
交付与归档
DevOps / Writer / Memory
每个角色 = SKILL.md (方法论) + LESSONS.md (教训档案) + I/O 契约
项目结束 → 提取卡片未覆盖的发现 → 写入角色 LESSONS.md → 下次自动注入 prompt
Bug: Docker 挂载了不存在的 index.html,看似成功
规则: 改 Docker volume 后必须 curl localhost 验证内容,不能只看 docker ps
Bug: 阿里云 git pull 卡死(国内无代理)
规则: GitHub Actions 云端 Runner(美国)连中国 22 端口被墙,唯一通路是自托管 Runner
Bug: systemd 环境变量隔离导致重启后 API key 丢失
规则: systemd service 文件用 EnvironmentFile,改完后 daemon-reload + restart 双确认
Bug: WSL2 IP 重启后变化,Docker daemon 代理失效
规则: Docker daemon 代理配置写宿主机 IP,重启后如果 Docker 拉镜像失败先检查 IP 是否变了
Bug: CSS 动画和 GSAP 混用同一组元素导致页面抖动
规则: CSS 动画和 GSAP 不能同时作用于同一组元素。所有动效统一在 GSAP 管理,CSS 只做 hover/transition
Bug: 移动端 hamburger 菜单点击无反应(事件绑定在 DOM 加载前)
规则: 所有 DOM 事件绑定必须放在 DOMContentLoaded 内或使用事件委托
Bug: Nginx proxy_buffering on 导致 SSE 被缓存,前端收到批量文本
规则: 任何流式输出接口,Nginx 必须设 proxy_buffering off,部署配置里加注释提醒
Bug: CORS allow_credentials=True + allow_origins=["*"] 组合被浏览器拒绝
规则: 当 allow_credentials=True 时,allow_origins 不能用通配符,必须列具体域名
Bug: 错误消息中包含 API endpoint 路径,泄露内部架构
规则: 生产错误消息必须脱敏——不含路径、不含 IP、不含内部服务名
Bug: 子 Agent 收到不合格上游产出后静默修补,不反馈
规则: 下游反馈协议——子 Agent 用 3 点式拒绝:缺什么 → 为什么阻塞 → 要什么。静默修补是质量衰减的源头
Bug: 两 Agent 同时改同一文件的不同区域被误判冲突
规则: 文件锁粒度细化到行级别区域——不同区域可并行,同区域需排队
Bug: 同一角色被多次调用时,第二实例覆盖第一实例的输出
规则: Agent Handoff Diff Check——后续任务卡片必须标注"已有样式/属性锁定"
子 Agent 收到不合格上游产出时的标准拒绝方式
明确指出上游输出中缺少的具体信息或格式不满足的地方
解释缺少这个信息为什么导致自己无法继续执行
明确给出期望的格式/字段/标准,让上游知道怎么改
不是每个项目都要跑 15 个角色——按规模自动裁剪
| 级别 | 规模 | 运行角色 | 阶段 |
|---|---|---|---|
| S | 单页面 / 小修复 (< 3 文件) | Scout + Fullstack + QA (3 个) | Explore + Build |
| M | 多页面 / 新功能 (< 10 文件) | Scout + BA + PM + Designer + 2 Dev + Reviewer + QA + Security + DevOps + Writer (11 个) | 全 5 阶段 |
| L | 新系统 / 大重构 (10-30 文件) | 全部 14 角色 + Adversarial 加强审查 | 全 5 阶段 + 额外审查轮次 |
| XL | 完整产品 / 从零搭建 (30+ 文件) | 全部 15 角色 + 多次循环 + Memory Curator 归档 | 全 5 阶段多轮迭代 |