XIJIAN DOCS

P0 开发模式复盘

三问答案/质量门拦截统计/六条学费教训/可复制资产 · ← 返回文档中心

目录
1. 硬数据总览2. 三问的答案3. 已交学费的教训(复用时必读)4. 可复制资产清单(换项目整套搬)5. 改进建议(下一阶段试点)

P0 开发模式复盘报告

版本:v1.1 终版(P0 收口后更新) | 2026-08-17 | 用途:评估本套多 agent 开发模式的复用性(用户三问:拆解能力/执行力/产出质量)

1. 硬数据总览

指标 数值
开发周期 2026-08-16 开工 → 08-17 凌晨 P0 收口(约 36 小时,含全部业务口径对齐)
提交数 ~194 次(自开工基线)
代码增量 688 文件 / +98,315 行
自动化测试 server 605 + console 165 = 770 项(开工时基线 55+27=82,9.4 倍)
执行计划任务 85 项(初版 77 + 执行中补 8,含收口盘点抓漏的 P0-4.3~4.6 整段),P0 机器侧 100% 闭环(真机/用户验收挂 ⏸ 用户链)
数据库 生产/测试双库 24+ 表,迁移链 14 节单头无分叉
生产部署 server 上线 115 机(systemd + nginx /xapi/ 公网入口),P0 终版已重部署(p0-final),公网 health db=up
并发峰值 8 路 agent 同仓并行

2. 三问的答案

2.1 任务拆解能力

2.2 分派执行力

2.3 产出质量(质量门拦截记录)

拦截实例
机检(check_structure) 行数红线/密钥扫描/魔法数字——全程拦截口径硬编码进入业务域
契约测试(api-tester) 上报 5 项契约缺陷(归一化盲区/token 域不分/静默丢弃),全部修复
qa 真实数据验收 打回 1 次:列表页 274 秒 N+1(sqlite 测试抓不到),修复后 270ms;四线验收全 PASS
ux 实操走查(三轮) 抓 P0 级 3 条:JSON 裸填(用户)、时区双轨(同屏差 8 小时)、Dialog 无滚动出口——全部修复复验
终审 review(opus 跨任务视角) P0=0/P1=8/P2=13:接缝收住(时区 100 处统一/契约 11 组零差异/legacy 链互恰);8 条 P1 编成修复波挂 P1 开工前,四张硬时点欠条入账
ux 实操走查 + 用户 JSON 裸填防错缺口(用户抓到→反哺 ux-reviewer 定义加"防错镜头")
生产实测 集星比率字段 /100 错误(差 100 倍)被一次真实 API 探测抓回

3. 已交学费的教训(复用时必读)

  1. SQLite 测试掩盖远程性能问题(三次:导入 N+1 两轮、列表 N+1)——已沉淀为纪律:性能敏感路径必须真实量级+真实网络验收;qa 验收连真库是必设门
  2. MySQL 无 RETURNING:ORM add_all 批量插入退化为逐行 INSERT——大批量写一律 Core executemany + 回读建映射
  3. 多 agent git 竞态git commit -- <path> 与裸 git commit 都会卷入他人 index/工作区——共享文件的标记提交一律 hash-object/update-index 定点法
  4. 管道吞退出码pytest | tail 判绿失效——一律 set -o pipefail
  5. HBuilderX cli 冲 null appid:编译后必须 git diff manifest.json 复核
  6. 配置在 import 期读库:jobs 模块 cfg_num 在 collection 阶段触发——新 cfg 键必须先落库再合代码(或空库兜底)
  7. 时区双轨(ux 抓到):MySQL func.now()=会话时区(CST) vs 应用 utcnow=UTC,sqlite 测试两者恒 UTC 测不出——全域统一 now_bj() 应用层默认,杜绝双源
  8. 收口必做全量盘点:P0-4.3~4.6 整段在推进热潮中漏排,靠"收口前拉全部非 ✅ 行"抓回——盘点是流程步骤不是可选动作

4. 可复制资产清单(换项目整套搬)

5. 改进建议(下一阶段试点)

  1. 契约先行扩大化:本次前后端并行零对齐成本的关键是"主会话先定死契约"——P1 起所有跨端任务默认此法
  2. agent 定点提交法标准化:把 hash-object/update-index 写进 backend-dev/frontend-dev 定义的操作规范
  3. 验收前移:qa 真库验收不等整线收口,每域首个 API 上线即做一轮小验收(本次 274 秒问题晚发现了 3 个任务)
  4. 性能预算入契约:列表类接口在开发单里带响应时间目标(本次 <2s/<500ms 都是事后补的)