4. 业务问题到算法需求的转化
4.1 用户场景与业务问题定义
算法需求不能从“想用一个模型”出发,而要从真实的用户场景出发。先定义清楚“谁、在什么情况下、遇到了什么障碍”,再抽象为业务问题。
用户场景示例:智能客服工单自动分类
某电商平台日均 50,000+ 用户咨询工单,运营团队需人工将工单分为“售后 / 物流 / 产品咨询 / 投诉 / 其他”,当前平均处理时长 45 分钟/单,分类准确率仅 82%。
业务问题:如何通过算法实现工单的自动预分类,降低人工处理时长、提升分类准确率,同时保留高复杂度工单的人工复审能力?
用户访谈关键发现:
- 运营人员希望保留对低置信度工单的复审权,不接受“全自动无人干预”;
- 分类标准在部门间存在边界模糊(如“物流延误”有时被归为“售后”);
- 实时性要求明确:工单需在 30 秒内 完成分类并流转至对应处理组。
访谈技巧:不要直接问“你想要什么算法”,而是问“当前流程中哪个环节最耗时”“你希望系统帮你做什么判断”。从用户的表述中提炼算法可介入的断点。
4.2 业务目标拆解为可量化指标
将模糊的业务问题转化为可量化、可验证的指标,是 PRD 中最重要的桥梁环节。采用“业务目标 → 过程指标 → 算法指标”三层拆解。
| 业务目标 | 过程指标 | 算法指标 | 目标值 |
|---|---|---|---|
| 降低工单处理时长 | 单均处理时间 | 模型推理耗时 + 人工复审耗时 | ≤ 30 秒/单 |
| 提升分类准确率 | 分类一致率 | 精确率 / 召回率 / F1-score | F1 ≥ 0.92 |
| 减少人工干预 | 自动化处理比例 | 模型直接通过率(置信度 ≥ 阈值) | ≥ 70% |
| 保持复审可控 | 人工抽检覆盖率 | 低置信度工单占比 | ≤ 30% |
指标拆解要点:每个算法指标都必须能回推到业务目标,且在 PRD 中写明“指标计算方式”和“数据采样周期”。例如 F1-score 采用宏平均还是微平均,需提前约定。
4.3 算法能力与业务问题的映射
不同业务问题对应不同的算法能力。产品经理需要建立清晰的映射关系,避免“杀鸡用牛刀”或“算法无法实现”。
| 业务需求 | 算法能力 | 适用算法家族 | 成熟度 |
|---|---|---|---|
| 文本自动分类 | 文本分类 | FastText / TextCNN / BERT | 高 |
| 异常工单检测 | 异常检测 | Isolation Forest / AutoEncoder | 中 |
| 工单优先级排序 | 排序学习 | LambdaRank / ListNet | 中高 |
| 相似工单匹配 | 语义相似度 | Sentence-BERT / SimCSE | 中高 |
| 自动回复建议 | 文本生成 | GPT / T5 / 序列到序列 | 中 |
常见误区:不要将“算法能力”等同于“最先进的模型”。对于工单分类场景,FastText 在 80% 的 case 上已经能达到 BERT 95% 的效果,但推理速度快 20 倍。PRD 中应明确“算法选型的核心约束是延迟还是精度”。
4.4 可行性评估框架
确定算法需求前,必须对每个候选方案进行可行性评估。评估覆盖四个维度:
- 数据可行性:是否有足够的高质量标注数据?数据分布是否覆盖长尾场景?
- 算法可行性:当前 SOTA 在类似任务上的表现是否满足指标?
- 工程可行性:推理延迟是否满足实时性?模型体积是否可部署在目标硬件?
- 业务可行性:算法输出是否可解释?是否有灰度发布和回滚机制?
以下 SVG 展示了完整的“业务问题 → 算法需求”转化流程与可行性评估的嵌入位置:
4.5 方案表达与指标验证
在 PRD 中,算法需求需要用结构化的方式表达,并附带明确的指标验证方案。
PRD 中算法需求的表达模板:
{
"算法模块": "工单自动分类",
"输入": "用户咨询文本(长度 ≤ 512 字符)",
"输出": "分类标签(售后/物流/产品咨询/投诉/其他)",
"性能指标": {
"精确率": "≥ 0.93",
"召回率": "≥ 0.91",
"F1-score": "≥ 0.92(宏平均)",
"推理延迟": "≤ 50ms(单条,GPU T4)",
"吞吐量": "≥ 1000 QPS(单卡)"
},
"边界条件": {
"最低置信度阈值": "0.65",
"低置信度处理": "转人工复审",
"支持语种": "中文(简体)",
"最大并发": "500 QPS"
},
"验收标准": "在 10,000 条测试集上 F1 ≥ 0.92,P99 延迟 ≤ 50ms"
}
指标验证方案:
- 离线验证:使用历史已标注工单构建测试集,按 8:1:1 划分为训练/验证/测试;
- 线上验证:A/B 测试,实验组使用算法分类,对照组使用人工分类,持续观测 2 周;
- 灰度策略:以 10% 流量上线,逐步提升至 100%,每个阶段停留 3 天观察核心指标。
4.6 验收标准与交付物模板
算法需求的验收标准应覆盖功能、性能、边界三个维度。
| 验收维度 | 验收项 | 验收方法 | 通过标准 |
|---|---|---|---|
| 功能 | 分类结果符合定义的 5 种类别 | 人工抽检 1000 条 | 准确率 ≥ 98% |
| 性能 | 推理延迟 ≤ 50ms | 压测工具 | P99 ≤ 50ms |
| 性能 | 吞吐量 ≥ 1000 QPS | 压测工具 | 持续 5 分钟稳定 |
| 边界 | 低置信度工单正确转人工 | 模拟 200 条低置信度输入 | 转人工率 100% |
| 边界 | 超长文本(>512 字符)处理 | 构造 100 条超长文本 | 不崩溃,截断后正常输出 |
交付物模板:
算法交付物清单(工单自动分类模块)
├── 模型文件
│ ├── model.onnx(ONNX 格式,可部署)
│ └── model_config.json(模型参数配置)
├── 推理代码
│ ├── inference.py(Python 推理脚本)
│ └── requirements.txt(依赖清单)
├── 测试报告
│ ├── offline_eval_report.pdf(离线评估报告)
│ ├── online_ab_test_report.pdf(线上 A/B 测试报告)
│ └── stress_test_report.pdf(压测报告)
├── 数据说明
│ ├── train_data_sample.csv(训练数据样例 500 条)
│ ├── test_data_with_label.csv(测试集 10,000 条含标签)
│ └── data_dictionary.md(数据字典说明)
└── 算法 PRD 附件
├── algorithm_design_doc.md(算法设计文档)
└── api_interface_spec.md(API 接口规范)
交付物验收建议:在 PRD 中明确“模型文件需同时提供 ONNX 和 PyTorch 格式”、“推理代码需包含 Dockerfile”、“测试报告必须包含混淆矩阵和类别级别的 F1 值”。这些细节在项目启动阶段约定,能减少后期联调阶段的沟通成本。
4.7 算法需求评审清单
在 PRD 进入开发前,对照以下清单完成自检:
- ✅ 业务问题是否转化为 ≥ 3 个可量化指标?
- ✅ 每个算法指标是否有明确的计算公式和数据来源?
- ✅ 算法能力映射是否覆盖所有业务场景?
- ✅ 可行性评估是否包含数据、算法、工程、业务四个维度?
- ✅ 验收标准是否覆盖功能、性能、边界三个维度?
- ✅ 交付物清单是否包含模型、代码、测试报告和数据说明?
- ✅ 低置信度 / 异常输入的兜底策略是否明确?
本章核心:业务问题到算法需求的转化是 PRD 中最具技术含量的环节。产品经理不需要写代码,但需要建立“业务目标 → 量化指标 → 算法能力 → 可行性评估”的结构化思维链路。每次撰写算法需求前,先用这个框架走一遍,能显著减少返工和沟通偏差。