‌
‌
‌
‌
‌
‌
QIYA · 系统交付实践
首页交付闭环
生态店铺 GMV 清洗迁移供应链订单与履约中台激励结算与业财一体化异构数据同步平台复盘AI 研发工作台参考方法论如何放大
总规程(可复制给 AI)认知:价值上移需求:体检与规格设计:上下文与边界执行:工作单与编排AI 工程操作系统验证:闭环与缺陷库运行:排查与业务解答交付物标准
总规程(可复制)需求体检清单需求到规格模板Agent 工作单模板验收与验证清单AI 代码缺陷检查表
关于
首页交付闭环
证据生态店铺 GMV 清洗迁移供应链订单与履约中台激励结算与业财一体化异构数据同步平台复盘AI 研发工作台参考方法论如何放大
方法论总规程(可复制给 AI)认知:价值上移需求:体检与规格设计:上下文与边界执行:工作单与编排AI 工程操作系统验证:闭环与缺陷库运行:排查与业务解答交付物标准
资产包总规程(可复制)需求体检清单需求到规格模板Agent 工作单模板验收与验证清单AI 代码缺陷检查表
关于本站

第二部分 · 需求

05

从需求到可验证规格

把自然语言改写为带触发条件、系统行为和可观察结果的规则,让每条规格都能直接生成测试。

总规程★ 把这一页交给你的 AI
第一部分:认知01. 工程师价值没有消失02. AI-native 工程交付者
第二部分:需求03. 需求体检04. 需求反问清单05. 从需求到规格
第三部分:设计06. 上下文工程07. 规格驱动开发08. 架构边界
第四部分:执行09. Agent 执行10. Agent 工作单11. 多 Agent 编排12. 工具工作台13. AI 工程操作系统
第五部分:验证14. 验证闭环15. AI 代码缺陷库
第六部分:运行与解答16. 运行排查与业务解答17. 交付物标准
第七部分:实证18. 方法论如何放大
配套资产需求体检清单需求到规格模板Agent 工作单模板验收与验证清单AI 代码缺陷检查表

THESIS / 核心主张

规格不是更长的需求描述,而是实现与验收共享的判断基准。

OPERATING STEPS / 执行动作

把原则变成可以检查的动作。

  1. 用 SHALL 锁定恒成立行为
  2. 用 WHEN/IF/WHILE 描述事件和异常
  3. 写清前置条件、后置状态和错误响应
  4. 让每条规则对应至少一个可失败用例

OUTPUTS / 交付物

每个阶段都要留下可复用的产物。

01行为规格
02异常矩阵
03规格到测试追踪表

APPLIED CASE / 项目映射

这条方法如何落到真实项目?

GMV 规格包括预览不得写入、指定范围不得越界删除、平台失败不得刷新完整汇总以及未知平台必须显式返回。

生态店铺 GMV 清洗迁移异构数据同步平台

FULL CHAPTER / 完整正文

从结论摘要,继续读到判断依据和执行细节。

正文保留 site-v3 的完整论证结构,并将贯穿示例改写为生态店铺 GMV 清洗迁移;原作者身份、原演示案例和未经证实的个人成果不进入本站。

从需求到规格:翻译成工程语言

规格不替实现做决定,但必须把“什么必须为真”说清楚。AI 可以补代码,不能替业务定义口径。

一、自然语言为什么不够:歧义就是实现自由度

原始需求只有一句:

把旧的生态店铺 GMV 清洗逻辑迁移成 Java 链路。

这句话没有回答平台范围、统计日期、销售与退款口径、目标表、失败策略、重跑语义和汇总刷新条件。人类工程师会在实现中不断回头确认;AI 更容易用常见样例替你补全。代码越快产出,错误假设也越快固化。

因此,规格要把业务意图翻译成三类内容:

  1. 事实:旧链路当前到底怎样运行;
  2. 决策:迁移后哪些行为必须保持,哪些可以改进;
  3. 验证:用什么输入与结果证明迁移没有改变口径。

二、先建立证据链,再写目标方案

GMV 迁移不是绿地开发。规则分散在历史文档、Kettle 任务、SQL、存储过程、源表字段和调用关系中。规格的第一部分不是“新系统怎么设计”,而是旧逻辑证据表:

证据项 需要记录的内容 不能直接推断的内容
平台范围 天猫、得物、京东、抖音、快手、拼多多、微信视频号、社交、唯品 平台名称相似不代表口径相同
数据来源 源库、源表、关键字段、过滤条件 文档描述不能替代实际 SQL
日期口径 支付、发货、完成、结算或其他日期 不能统一假设一个日期字段
金额口径 销售、退款、优惠、运费、取消单如何处理 不能仅凭字段名判断正负方向
归属规则 类目、品牌、部门、店铺的映射与兜底 缺失值不能静默归入默认部门
输出与依赖 目标表、汇总刷新、下游报表 平台执行成功不等于整批完整

每条结论要标记“已由代码/SQL证实”“由文档说明”“待业务确认”。这样可以区分事实与猜测,也方便后续补证。

三、工程规格的八个组成部分

一份能交给 AI 执行的规格,至少包含:

  • 目标:迁移旧逻辑并保持既有 GMV 业务口径;
  • 范围:九个平台,总控编排、平台执行器、共享规则、结果与汇总;
  • 输入:平台集合、开始日期、结束日期、目标表、save、continueOnError;
  • 输出:每个平台的状态、行数、耗时、错误原因,以及整批是否完整;
  • 不变量:平台特例不泄漏到总控,预览不写库,任一失败不刷新完整汇总;
  • 失败语义:停止还是继续、如何记录、能否重跑、哪些副作用禁止发生;
  • 边界:总控、平台执行器、规则服务、Mapper、汇总服务各自负责什么;
  • 验收:旧新结果核对、异常路径、目标表白名单和回归测试。

规格必须同时声明非目标:不在迁移中重定义业务口径,不顺手改源表,不把所有平台揉成一套“大一统 SQL”,也不把尚未核对的结果说成生产验证完成。

四、用 EARS 句式把规则变成可验证行为

EARS 的价值不是格式漂亮,而是强迫每条规则出现触发条件和可观测结果:

WHEN 选择一个受支持的平台并提供有效日期范围
THEN 系统 SHALL 调用该平台对应的执行器,并返回行数、耗时和状态。

WHILE save=false
THE SYSTEM SHALL 仅执行查询与结果预览,不删除、不写入、不刷新汇总。

WHILE save=true
THE SYSTEM SHALL 仅允许写入配置白名单中的目标表。

IF 任一平台执行失败
THEN 系统 SHALL 记录平台级失败原因;根据 continueOnError 决定继续或停止,且不得刷新完整汇总。

WHEN 所选平台全部成功
THEN 系统 SHALL 刷新完整汇总,并记录本次运行范围与结果。

这些规则可以直接映射成自动化测试、日志断言和人工验收步骤。

五、生态店铺 GMV 清洗迁移规格样例

5.1 业务目标

把分散在旧文档、历史任务和数据库调用链中的规则,治理为九个平台执行模块与统一总控。迁移完成后,指定日期范围内的新旧结果应可对照,平台级差异可以定位到来源和规则。

5.2 模块边界

模块 负责 不负责
总控编排 参数校验、平台选择、执行顺序、失败策略、结果聚合、通知与汇总门禁 平台特殊 SQL 与字段口径
平台执行器 单平台查询、清洗、映射、写入和平台级结果 调度其他平台、决定整批是否完整
共享规则服务 类目、部门等真正跨平台稳定的规则 吞并平台差异
目标表配置 白名单和环境配置 接受任意表名
汇总服务 所有平台成功后的统一刷新 在部分失败时伪造完整结果

5.3 输入契约

platforms: 支持的平台集合;为空时是否代表全部平台必须明确
startDate / endDate: 必填,开始日期不能晚于结束日期
targetTable: 必须命中受控白名单
save: false=预览,true=执行写入
continueOnError: true=记录失败后继续,false=首个失败即停止

5.4 输出契约

每个平台返回:平台标识、执行状态、读取行数、写入行数、耗时、错误类型与错误摘要。整批返回:请求范围、成功/失败平台集合、是否完整、是否刷新汇总。

输出不能只给一个 success=true。调用者需要知道“哪些平台成功、哪些失败、是否产生写入、完整汇总是否刷新”。

5.5 错误契约

场景 错误码 副作用
不支持的平台 UNKNOWN_PLATFORM 不执行
日期范围无效 INVALID_DATE_RANGE 不执行
目标表不在白名单 TARGET_TABLE_NOT_ALLOWED 不写入
单平台执行失败 PLATFORM_GENERATION_FAILED 记录平台结果,不刷新完整汇总
部分成功 PARTIAL_RESULT 明确返回失败平台,不能包装成完整成功

5.6 重跑语义

重跑不能由 AI 自行决定。需要根据旧逻辑与业务确认,明确采用覆盖、追加还是清理后重建。无论采用哪种方式,都要满足:范围可定位、执行可追踪、失败不会污染完整汇总、重复触发不会产生无法解释的数据。

六、验收矩阵

用例 预期结果
选择一个平台 + 有效日期 + save=false 返回预览结果,无删除、插入和汇总刷新
选择多个平台 + save=true 各平台由独立执行器处理,返回平台级统计
传入未知平台 在执行前拒绝,返回 UNKNOWN_PLATFORM
传入非白名单目标表 拒绝写入,返回 TARGET_TABLE_NOT_ALLOWED
某平台失败 + continueOnError=false 记录失败并停止后续平台,不刷新完整汇总
某平台失败 + continueOnError=true 继续其余平台,整批标记为部分结果,不刷新完整汇总
所选平台全部成功 刷新完整汇总并记录运行结果
同范围重新执行 严格按已确认的重跑策略处理,结果可追溯
新旧链路同范围核对 输出行数、销售额、退款额和关键维度差异;未核对项保持待验证

“测试通过”只证明实现符合规格。旧新口径一致还需要数据核对证据,两者不能互相替代。

七、规格怎样交给 AI

不要只把整篇文档塞进一个会话。按职责拆成工作单:

  1. 证据梳理:只读旧文档、SQL 和调用关系,产出口径矩阵;
  2. 契约设计:冻结输入、输出、错误码、模块边界和不变量;
  3. 平台迁移:一次只实现一个平台执行器;
  4. 总控编排:基于稳定契约组织选择、失败策略和汇总门禁;
  5. 独立验证:只读规格与 diff,验证边界和异常路径;
  6. 数据核对:同范围运行旧新链路,记录差异与解释。

每张工作单都要写清可改文件、禁止事项、验收命令和汇报格式。AI 可以在局部自由实现,但不能改变业务口径和跨模块契约。

八、本章小结

  • 迁移类需求先还原事实,再设计目标结构;历史文档只是线索,不是唯一真相。
  • 规格锁定必须为真的行为:九平台边界、预览/写入、失败策略、目标表白名单和汇总门禁。
  • EARS 规则把业务语义变成可执行测试;模块表把职责变成可审查边界。
  • 测试通过与数据口径一致是两类证据,必须分别验收。
  • AI 负责受约束的分析和实现,人负责事实确认、决策、审查与最终签字。

下一章 Agent 执行,把规格拆成能被独立执行和验收的任务链。

上一章把问题问给正确的人下一章上下文工程:让事实持续可见
QIYA Engineering Notes企业系统、数据链路与 AI 应用实践记录
关于方法论项目复盘