跳到正文
Kale的数字花园
目录文章
/6 分钟

AI 提效实战示例:官网询价需求落地

一个完整需求的 AI 协作全过程:拷问需求、方案评审、自测清单

🧪 实战示例:官网询价需求,从 PRD 走到上线

这是一份按当前工作流(编号文档链 01-09)编排的完整示例,不是历史记录逐条复述;业务细节做了简化脱敏。
场景:客户在官网提交询价 → 单据落到 TMS → 客服跟进报价,本次要新增“官网来源”标识和询价明细回写。
文档按目标编号书写:03 / 07 / 08 / 09 的编号命名目前正在统一中。

🗺️ 全景:一条需求要过九道关

flowchart TD
    S0["材料: PRD.html / 原型 / 测试环境"] --> S1["01 grill-me<br/>拷问需求 → 需求分析"]
    S1 --> S2["02 codebase-onboarding<br/>抓包 + 定位代码与表 → 代码库全景"]
    S2 --> S3["03 doc-tech-solution<br/>技术方案"]
    S3 --> S4{"04 tech-solution-review<br/>评审通过?"}
    S4 -->|"不通过"| S3
    S4 -->|"通过"| S5["05 doc-implementation-log<br/>分批实现 + 边做边记"]
    S5 --> S6["06 code-review ×2<br/>规范 + 业务"]
    S6 --> S7["07 自测清单 + 执行自测"]
    S7 --> S8["08 联调文档 → 前端联调 → 提测"]
    S8 --> B{"测试通过?"}
    B -->|"有 Bug"| BH["bug-hunter<br/>三重证据收敛"]
    BH --> S5
    B -->|"通过"| S9["09 上线清单 → 发布交付"]

📥 第 0 步|材料先入库(markitdown)

一句话:先把看不了、搜不到的材料,变成 AI 能读的 Markdown。

把 docs/官网询价/ 下的 PRD.html、原型截图、旧接口文档转成 Markdown,
输出到 docs/requirements/官网询价/00-source/
  • 输入:HTML PRD、原型图、旧版接口文档、测试环境地址与账号
  • 产出:可检索的需求文本,后面所有分析都引用它
  • 卡点:材料缺哪块直接列出来,不靠猜

🧭 第 1 步|抓包定位现状(codebase-onboarding)

一句话:别从代码猜业务,先让 AI 在测试环境里把真实请求抓出来。

用 Playwright MCP 打开 TMS 测试环境,走一遍“新建询价单 → 提交 → 列表查看”,
把请求、响应和页面关键字段抓下来,再按接口路径定位 Controller → Service → Mapper
动作 具体做法 产出
打开测试环境 Playwright MCP 起 Chrome,录下关键请求 接口清单 + 请求响应样例
定位代码 用接口路径 Grep 出调用链 Controller → Service → Mapper
摸数据结构 抓包字段反查表与字段,DDL 只认 ~/.agents/sql/ 数据模型与索引说明
汇总 技术栈、模块、业务域、外部依赖、风险点 02-codebase-analysis.md

⚠️ 测试环境只读:不改数据、不动配置;字段含义以 DDL 注释和真实抓包为准。

❓ 第 2 步|把需求问到没有歧义(grill-me)

一句话:需求阶段的每一个“应该”,都要变成一个明确的答案。

维度 我的追问示例 为什么问
目标与范围 官网询价单进系统是新建单据,还是挂到已有客户下? 决定主流程与数据归属
业务规则 同一手机号重复提交,覆盖还是并存? 决定幂等与去重策略
数据与字段 预计月单量分 5 档,落库用字典还是枚举? 决定表结构与字典初始化
接口与依赖 官网侧要不要状态回写?失败怎么重试? 决定对接方式与异常处理
验收标准 什么算做完?列表能否按来源筛选? 作为验收与自测依据

有些问题光靠讨论定不了,就让 AI 出只读 SQL,我在 DataGrip 执行后把结果贴回来:

-- 看历史来源分布和空值情况,判断是否需要默认值
select source, count(*) as cnt from web_inquiry group by source;

产出 01-requirements-analysis.md:功能点、边界、异常流程、待确认问题表。

📐 第 3 步|方案与评审(doc-tech-solution + tech-solution-review)

一句话:方案先写清楚,再让人挑刺;评审不过就不进编码。

方案要覆盖:改动范围、业务流程图、表结构与字段变更、接口契约、任务拆分、兼容与回滚。

评审按六个维度过一遍:需求覆盖、架构一致性、数据层设计、边界异常、过度设计、可回滚性。

评审提出的问题 级别 处理结果
批量回写没分批,有锁表风险 🔴 P0 改 id 游标分页,每批 500
新增表缺公共字段与 NOT NULL 约束 🔴 P0 按 mysql-create-field.md 补齐
想加一层“询价中台”抽象 🟢 P2 砍掉:当前只有两个来源,够用就行

产出 03-technical-solution.md + 04-solution-review.md;评审通过后才定档,定档版本才允许进编码。

🔨 第 4 步|分批实现(doc-implementation-log)

一句话:按文档分批做,边做边记账;编译不过不算完成。

换会话或换 agent 时先交接(conv-handoff / cross-agent-sync),接手方先核对当前代码和工作区,避免两边同时改同一片代码。

批次 内容 依赖 结果
1 DDL + 字典初始化 SQL 无 脚本交付,由我执行
2 Entity / Mapper / Service 批次 1 编译通过
3 官网询价接口 + 回写逻辑 批次 2 编译通过
4 列表筛选与导出 批次 3 编译通过,未自测

产出 05-implementation-log.md:每个任务的改动文件、编译结果、未验证项、风险与下一步。

🔀 中途需求变了就走 change-handler 分级:L1 直接改、L2 按当前阶段做最小代价调整、L3 回退到 04 重新评审。

🔍 第 5 步|两道代码审查(code-review-skill-main / business)

一句话:一个查“做好了没”,一个查“做对了没”。

每批写完先做一次简版自查:改动有没有越出方案范围、编译过没过;四批都完成后,再上两道正式审查。

审查 看什么 本次典型发现
code-review-skill-main 规范审查 分层、DTO/VO、枚举、SQL、性能、并发、可维护性 Service 里出现循环查库,改成批量查询
code-review-skill-business 业务审查 对照需求与方案,验证逻辑覆盖与接口契约 重复提交没做幂等,补唯一键 + 前置校验

产出 06-code-review.md:P0 必须修完,P1/P2 记录处理结论;修完重新编译。

✅ 第 6 步|自测(doc-self-test-checklist)

一句话:先喂真实数据,再生成清单;生成清单不等于执行过自测。

# 场景 入参 期望 断言 结果
1 新增官网询价 必填字段 + 月单量 300-500 200 并返回单号 落库来源 = 官网 ✅
2 同手机号重复提交 同上 按约定去重 仅一条有效单据 ⚠️ 修正后通过
3 月单量不传 少传字段 400 或按默认值 不落空值 ✅

产出 07-self-test-checklist.md;测试数据不足时先补数据或标成前置条件,不编造参数。

🔗 第 7 步|联调与提测(doc-frontend-integration)

一句话:给前端的文档必须和当前代码一致,不能靠口头传。

文档包含:接口路径、字段说明、示例请求与响应、错误码、调用顺序、环境地址;前端联调通过后进入提测。

🐛 第 8 步|测试期 Bug 闭环(bug-hunter)

一句话:每个结论都要有日志、代码或数据兜底。

flowchart LR
    A["现象 + 日志 + 请求报文"] --> B["追代码链路"]
    B --> C["生成只读诊断 SQL"]
    C --> D["我执行并回传结果"]
    D --> E{"证据支持根因?"}
    E -->|"否"| B
    E -->|"是"| F["修复 + 编译 + 回归"]
轮次 假设 证据 结论
1 字段映射错位 抓包与日志字段一致 排除
2 状态回写失败 数据 status=0,且无回写日志 锁定:异常未捕获导致中断
3 修复后回归 重跑自测用例 1-3 通过,关闭

🚦 第 9 步|发布(doc-release-checklist)

一句话:发布清单是给发布人员的操作手册,必须含回滚。

清单内容 本次示例
数据库变更 DDL(新增表/字段)+ DML(字典初始化),分批与顺序写清楚
配置与开关 新增开关的默认值与生效范围
发布顺序 先发服务,再执行 SQL,最后开开关
验证方法 按自测清单抽 3 条核心用例验一遍
回滚方案 关开关 → 回滚服务 → 执行回滚 SQL

📊 复盘:这套流程真正省在哪

环节 以前 现在 关键变化
需求确认 反复口头问,边界容易漏 五维度一次问清并留档 grill-me + 01 文档
现状摸底 自己翻代码翻半天 抓包反查,链路一次摸清 Playwright MCP + 02 文档
方案返工 编码中才发现设计问题 编码前评审拦下 04 评审卡点
交付文档 手写 4-8 小时 按模板生成 + 人工复核 07 / 08 / 09
Bug 排查 靠经验猜 三重证据逐步收敛 bug-hunter

三条体会:

  • 卡点比速度重要:评审不过不进编码、编译不过不算完成、生成清单不等于执行自测。
  • 事实优先:字段、枚举、状态一律以抓包、DDL 和真实查询为准。
  • 留痕即效率:实现日志是自测和交接的事实来源,交接前必须更新。

评论需要登录。生产环境使用 GitHub 登录,本地可前往登录页使用开发登录。

还没有评论,来抢沙发。

站内搜索

搜索文章标题、摘要、标签和分类