学员作业 checklist · 业务助手智能体
用法:把这份文件复制一份到你自己项目的 outputs/ 下,改名 checklist-<产品名>.md,边做边勾。
每一项的"判定标准"是红绿灯,打不上勾就回去重做,不要跳。
做完后,这份 checklist 就是你交付的"过程文档",可作为培训考核依据。
0. 基本信息
1. 阶段一:需求发现(目标 30 分钟以内)
判定标准:3 轮对话搞清楚业务场景、用户角色、核心功能,没有一次问 10 个问题把用户淹没。
1.1 第 1 轮:角色 + 痛点
[ ] 主动告诉用户"接下来会发生什么"
[ ] 问到了「这个工具给谁用」
[ ] 问到了「解决什么具体痛点」
[ ] 问到了「大致使用频率」
[ ] 没有一次问超过 3 个问题
我的第 1 轮问题(复制你实际问的):
1.
2.
3.
1.2 第 2 轮:核心功能 + 字段
[ ] 问到了「主要想记录哪些信息」
[ ] 问到了「关键操作」(新建 / 编辑 / 删除 / 搜索 / 导出)
[ ] 问到了「有没有流程性要求」
[ ] 给用户提了字段建议,让他加 / 删
我的第 2 轮问题:
1.
2.
3.
1.3 第 3 轮:风格 + 参考
[ ] 问到了「风格偏好」
[ ] 问到了「有没有参考的网站/产品」
[ ] 主动预告"接下来要写产品文档"
我学到的关键点(用一句话写):
1.4 反模式自检
[ ] 我没有一次问超过 3 个问题
[ ] 我没有替用户做业务决策
[ ] 我没有急着进 PRD
阶段一用时(分钟):____ 阶段一通过:□ 是 □ 否
2. 阶段二:PRD 自动生成(目标 60 分钟以内)
判定标准:PRD 写到文件(不是对话),包含所有必要章节,用户审阅后确认。
2.1 写出 PRD
[ ] PRD 写到 outputs/prd-<产品名>-v0.1.md
[ ] PRD 包含「产品定位」
[ ] PRD 包含「目标用户」
[ ] PRD 包含「使用场景」
[ ] PRD 包含「核心功能列表」(带优先级 P0/P1/P2)
[ ] PRD 包含「页面结构」(主导航 + 子视图)
[ ] PRD 包含「字段定义」(每张表/模块)
[ ] PRD 包含「交互细节」
[ ] PRD 包含「视觉风格」
[ ] PRD 顶部有「产品名 / 版本 / 最后更新」字段
我的 PRD 路径:
outputs/prd-<产品名>-v0.1.md
PRD 字节数:____ KB PRD 章节数:____ 个
2.2 主动告知用户
[ ] 告诉用户 PRD 文件路径
[ ] 告诉用户请逐项审阅
[ ] 告诉用户有问题说"修改 XX 部分"
[ ] 告诉用户没问题说"OK"
2.3 用户审阅与修改
[ ] 用户审阅了 PRD
[ ] 用户给了反馈(我做了 N 处修改):N = ____
[ ] 用户最终确认 "OK / 开始生成 Demo"
我做的修改:
1.
2.
3.
2.4 反模式自检
[ ] PRD 写到文件(不写到对话)
[ ] 我没有闷头生成 Demo,等用户确认了
[ ] 我没有省略字段定义
阶段二用时(分钟):____ 阶段二通过:□ 是 □ 否
3. 阶段三:网页应用生成(目标 30 分钟以内)
判定标准:单文件 HTML Demo,所有 CRUD 真的能用,左右导航,双主题。
3.1 生成 Demo
[ ] Demo 写到 outputs/<产品名>/index.html
[ ] 是单文件 HTML(没拆多文件)
[ ] 双击能在浏览器打开
我的 Demo 路径:
outputs/<产品名>/index.html
Demo 字节数:____ KB Demo 视图数:____ 个
3.2 硬性自检(对照 SKILL.md 第 5 节)
[ ] 主导航在左侧(lg:pl-60)
[ ] 顶部 16px 固定栏
[ ] 浅色 + 深色双主题(自动 + 手动切换)
[ ] 5 种状态色(绿/黄/红/蓝/灰)
[ ] Tailwind safelist 包含动态状态色类
[ ] lucide 图标(零 emoji)
[ ] 每个图标按钮带 aria-label
[ ] Modal 含 ESC 关闭
[ ] Modal 含 click.outside 关闭
[ ] localStorage 持久化(关闭浏览器再开数据还在)
[ ] 移动端 375px 适配(用手机/开发者工具看)
3.3 CRUD 实地测试(对照 crud-pattern.md)
[ ] 新建一条数据,保存后出现在列表里
[ ] 刷新页面,数据还在
[ ] 编辑一条数据,保存后内容更新
[ ] 删除一条数据,有确认弹窗 + 删除后从列表消失
[ ] 搜索/筛选能用(如果有)
我测过的新建/编辑/删除次数:____
3.4 主动告知用户
[ ] 告诉用户 Demo 路径
[ ] 告诉用户怎么用(双击打开、刷新不丢)
[ ] 告诉用户怎么改(在对话里继续提建议)
阶段三用时(分钟):____ 阶段三通过:□ 是 □ 否
4. 场景 A:加一个字段(目标 15 分钟以内)
判定标准:PRD 改、代码改、CHANGELOG 改,老数据不丢。
4.1 设计要加的字段
字段名:____(中英文都可以) 类型:□ 文本 □ 数字 □ 日期 □ 枚举 □ 关联 □ 布尔 必填:□ 是 □ 否 说明:
4.2 30 秒判断:这是不是场景 A?
[ ] 这次改动是「字段调整」(不是流程推翻、不是视觉微调)
[ ] 影响范围 < 30% 代码
[ ] → 是场景 A
4.3 改前告诉用户要做什么
[ ] 给用户看了"准备改 N 处"清单
[ ] 说明了数据兼容方案(老字段怎么兜底)
[ ] 用户确认了
4.4 实际改动
[ ] PRD 字段表加了这一行,版本号 v0.x → v0.x+1
[ ] Demo 代码加了字段处理(default + 保存 + 展示)
[ ] CHANGELOG.md 顶部加了一段记录
[ ] 老数据兼容:?? defaultValue 或 ?? null
4.5 改完告诉用户
[ ] 告诉用户改了什么(枚举 1-3 条)
[ ] 告诉用户数据是否兼容
[ ] 告诉用户怎么验证(打开哪个视图,点哪个按钮)
4.6 实地验证
[ ] 打开 Demo,看到新字段
[ ] 新建一条带新字段的数据,保存后展示正确
[ ] 老数据(改前建的)还能看到,新字段显示为默认值
场景 A 用时(分钟):____ 场景 A 通过:□ 是 □ 否
5. 场景 B:把对话内容合并到 PRD(目标 20 分钟以内)
判定标准:从对话里抽出事实,去重,定位到对应章节,用户确认后才写文件。
5.1 触发
[ ] 用户明确说"把刚才聊的也写到 PRD" / 类似的话
→ 或者:
[ ] 我推断出有 2 轮以上对话在补充业务细节,主动问用户"要不要合并"
5.2 抽对话事实
我从对话里挑出 N 条事实陈述(过滤掉寒暄、确认、疑问):N = ____
我挑出的事实:
1.
2.
3.
4.
5.3 去重 + 定位
[ ] 和当前 PRD 比对了,标了哪些是新的、哪些是重复的
[ ] 每条新信息路由到对应章节(产品定位/字段/功能/业务规则)
5.4 草案给用户看
[ ] 在对话里展示了"准备合并 N 条"的清单(没直接打文件)
[ ] 标了每条是「新增」还是「补全」
[ ] 用户可以微调措辞
5.5 用户确认后写入
[ ] 用户说 OK(或微调后 OK)
[ ] PRD 真的写了文件,版本号 +1
[ ] CHANGELOG.md 写了这段变更
5.6 主动询问重生成
[ ] 改完问用户"PRD 改完了,要重新生成应用吗"
[ ] 用户给了答复:□ 现在重生成 □ 之后再改 □ 这版规则不用落代码
场景 B 用时(分钟):____ 场景 B 通过:□ 是 □ 否
6. 场景 C:重大改动重生成(目标 60 分钟以内)
判定标准:冻结老版本、主版本 +1、写迁移函数、Breaking 标注、回滚方法齐全。
6.1 30 秒判断:这是不是场景 C?
[ ] 改动影响 > 30% 代码,或 3 个以上模块
[ ] 改了核心流程,或改了数据结构
[ ] → 是场景 C
6.2 冻结老版本
[ ] outputs/<产品名>/ 复制到 outputs/<产品名>-v-snapshot-YYYYMMDD/
[ ] 老 PRD 复制到 outputs/_archive/prd-<产品名>-v.md
[ ] 用户确认了冻结方案
冻结后文件结构:
outputs/
├── <产品名>-v0.X-snapshot-YYYYMMDD/ ← 冻结的老版
├── _archive/
│ └── prd-<产品名>-v0.X.md ← 冻结的 PRD
└── <产品名>/ ← 即将写新版
6.3 主版本号 +1
[ ] PRD 顶部版本从 v0.X → v1.0
[ ] PRD 顶部标注「基于 v0.X 重大重构」
[ ] 新文件 outputs/prd-<产品名>-v1.0.md
6.4 整页重写(不继承老代码)
[ ] 我是从 PRD 重新生成的,不是基于老 HTML 改
[ ] 重写时新代码结构更清晰(不是把老逻辑搬过来)
6.5 数据迁移函数
[ ] 写了 migrateData_vX_vY(oldData) 函数
[ ] 启动时检测版本,自动调用迁移
[ ] 迁移失败的数据备份到 localStorage[<产品名>__backup_vX]
[ ] 老数据完整保留(不丢字段)
我的迁移函数关键代码:
function migrateData_v0_v1(oldData) {
//
}
6.6 CHANGELOG 大事记
[ ] CHANGELOG.md 顶部加了一段大事记
[ ] 标了 ⚠️ Breaking
[ ] 列了业务/技术/数据三个维度的变化
[ ] 给了回滚方法(把 snapshot 复制回来)
6.7 改完告诉用户
[ ] 改了哪 N 处(枚举 1-3 条)
[ ] 数据怎么兼容的
[ ] 怎么验证(刷新触发迁移、看备份、控制台命令)
[ ] 怎么回滚(出问题时把 snapshot 复制回来)
6.8 实地验证
[ ] 刷新一次 Demo,触发迁移
[ ] 老数据还在,字段没丢
[ ] 控制台跑 localStorage.getItem("<产品名>__backup_vX") 能看到备份
[ ] 新流程生效(新数据走新路径)
场景 C 用时(分钟):____ 场景 C 通过:□ 是 □ 否
7. 场景 D:小改直接动代码(目标 10 分钟以内)
判定标准:纯视觉/文案,不改业务,PRD 不动,CHANGELOG 加 patch 记录。
7.1 30 秒判断:这是不是场景 D?
[ ] 是纯视觉/文案/微调
[ ] 不改字段、不改流程、不改视图结构
[ ] → 是场景 D
7.2 改前确认(不必须)
场景 D 可以直接动,但建议先告诉用户改什么:
[ ] 简短告诉用户"我准备改 X,Y"
→ 或者:
[ ] 直接动手(改动很小,改完再说)
7.3 实际改动
[ ] 改了 CSS class / 内联样式 / 文案
[ ] 没动业务逻辑
[ ] 没动 PRD
[ ] CHANGELOG.md 顶部加了 patch 记录(不升版本号)
我改了:
-
-
7.4 改完告诉用户
[ ] 改了什么(1-2 条)
[ ] 提示「刷新浏览器」
7.5 实地验证
[ ] 刷新浏览器,看到改动
[ ] 深色模式下也看着正常(如果改了颜色)
场景 D 用时(分钟):____ 场景 D 通过:□ 是 □ 否
8. 最终交付清单
判定标准:PRD / 代码 / CHANGELOG 三件套齐,过程文档完整,数据能导出。
8.1 必备文件
[ ] outputs/prd-<产品名>-v<最终版>.md
[ ] outputs/<产品名>/index.html
[ ] outputs/<产品名>/CHANGELOG.md
[ ] outputs/<产品名>/README.md(用户手册,告诉别人怎么用)
[ ] checklist-<产品名>.md(本文件,作为过程文档)
8.2 归档(如果做过场景 C)
[ ] outputs/_archive/prd-<产品名>-v0.X.md
[ ] outputs/<产品名>-v0.X-snapshot-YYYYMMDD/index.html
8.3 数据
[ ] Demo 在浏览器里跑起来,数据有(打开看仪表盘,有没有 KPI)
[ ] 数据导出按钮能用(如果有)
[ ] 至少 3 条真实业务数据(不是空架子)
我的 Demo 数据:
招聘需求:____ 条
候选人:____ 条
面试评价:____ 条
(改成你自己的实体和数据)
8.4 业务自检
找一个没用过这个产品的同事,让他:
[ ] 看 README 后能上手(给 5 分钟)
[ ] 能完成至少 1 个核心场景(比如新建一条记录)
[ ] 没问"这个按钮是干嘛的"
同事反馈(记录他说的 1-2 句):
9. 自评打分
9.1 完成度(每项 10 分,满分 70)
9.2 质量分(每项 6 分,满分 30)
(实际满分 30,这里写 36 是因为可以奖励 6 分给特别出色的项)
9.3 总分
完成度( / 70)+ 质量分( / 30)= 总分 / 100
等级:
90+:优秀,直接可交付生产
75-89:良好,需要少量打磨
60-74:合格,需要中等打磨
< 60:不合格,需要返工
我的总分:____ 我的等级:____
9.4 自我反思(3 句话)
我做得最好的:
我做得最差的:
下次我会在哪方面改进:
10. 提交给培训讲师
学员在课程结束前,把以下文件打包发邮件/上传到共享目录:
提交物/
├── outputs/
│ ├── prd-<产品名>-v<最终版>.md
│ ├── <产品名>/
│ │ ├── index.html
│ │ ├── CHANGELOG.md
│ │ └── README.md
│ ├── _archive/(如果有)
│ └── <产品名>-v0.X-snapshot-YYYYMMDD/(如果有)
├── checklist-<产品名>.md ← 本文件,带勾选结果
└── 演示视频(可选,3-5 分钟录屏)
[ ] 提交物目录完整
[ ] checklist 全部打勾(或明确标注"未做"的原因)
[ ] 演示视频录了(可选)
[ ] 邮件/共享链接发给讲师
提交日期:____ 讲师确认:□ 已收 □ 待确认 □ 退回修改
附录:常见挂科项
最容易挂的 10 项(讲师评分时重点看):
PRD 写到对话里(必须写文件)
PRD 写完闷头生成 Demo(没等用户确认)
CRUD 是空架子(按钮在,提交没反应)
改了字段没写 CHANGELOG
改了字段没升 PRD 版本号
改了字段没做数据兼容(老数据崩了)
场景 C 没冻结老版本,出问题回不去
场景 C 没写迁移函数,数据丢了
主导航放右侧(用户已经明确要求左侧)
视觉用了 emoji 当图标(用 lucide)
每挂一项扣 5-10 分,直到扣完为止。