1. 非功能需求全景:分类框架、AI产品特殊性、与功能需求的关系

1.1 边界划分:非功能需求的领域定义

非功能需求(Non-Functional Requirements, NFRs)定义了系统如何工作,而非系统做什么。在实际AI产品中,NFRs的边界常常与功能需求(Functional Requirements, FRs)交叉,需要通过明确的依赖关系进行分层隔离。

维度 功能需求(FR) 非功能需求(NFR)
定义 系统必须执行的特定行为或计算 系统必须达到的质量属性或约束条件
示例 “根据用户query返回top-5文档” “TP99响应时间 < 200ms”
验证方式 功能测试、AC测试 压测、监控、SLA审计
变更影响 通常影响单个模块 通常影响跨层架构选型
边界划分原则:FR定义行为契约,NFR定义质量契约。AI产品中,模型精度、推理时延、数据新鲜度等NFRs往往需要与FRs在需求阶段就做联合拆分,避免在集成阶段发现无法调和的冲突。

1.2 系统分层:非功能需求分类框架

采用“四层+两维度”的分类框架,将非功能需求按系统边界分层归类:

  • 接入层:可用性、安全性、限流、认证
  • 推理层:时延、吞吐、模型冷启动、缓存策略
  • 数据层:一致性、新鲜度、存储容量、备份恢复
  • 基础设施层:弹性扩缩、资源隔离、故障自愈
  • 两维度:运维维度(可监控、可部署、可回滚)与合规维度(数据隐私、可解释性、审计追踪)
# 以非功能需求分层角度描述的接口规范示例
# 推理层时延约束
POST /v1/chat/completions
Request:
{
    "messages": [...],
    "max_tokens": 512
}
Response:
{
    "choices": [...],
    "usage": {},
    "latency_ms": 450  # 服务端耗时,用于SLA采集
}
SLA: TP50 < 200ms, TP99 < 500ms (非流式)

1.3 组件职责:功能需求与非功能需求的依赖关系

功能需求是非功能需求的载荷载体。同一FR在不同NFR约束下可能导向完全不同的架构方案:

  • FR不变:“对用户query进行意图识别”
  • 场景A(低时延):选用小模型+ONNX Runtime+GPU直通,放弃batch聚合
  • 场景B(高吞吐):选用大模型+动态batching+CPU/GPU混合调度
常见风险:在需求阶段只描述FR,未同步定义NFR,导致架构方案设计完成后发现时延、成本或合规要求无法满足,产生大量返工。必须在每个FR条目旁至少标注一项关键NFR。

1.4 数据流/控制流/信任链路:以非功能需求为驱动的架构视角

将非功能需求映射到数据流与控制流的关键节点,形成可审计的信任链路:

  • 数据流:输入验证→预处理→模型推理→后处理→响应。每个环节均存在NFR检查点(如:数据脱敏检查→推理时延采集→输出安全过滤)
  • 控制流:负载均衡→鉴权→限流→熔断→降级→回退。这些控制组件的主要职责是保障可用性与安全性NFR
  • 信任链路:从用户请求到模型返回,需在日志中串联链路ID,确保可审计、可回朔,满足合规维度NFR
AI产品非功能需求全景:分层与依赖关系 AI产品NFR全景 可用性 / 可靠性 SLA 99.9% · 故障自愈 性能 / 效率 时延 · 吞吐 · 成本 安全 / 合规 数据隐私 · 可审计 可维护性 / 扩展性 弹性扩缩 · 可回滚 限流 / 熔断 故障转移 推理加速 缓存策略 脱敏 / 审计 CI/CD 流水线 💡 层级依赖关系 底层NFR(可用性、性能)是上层NFR(合规、可维护性)的基础。例如:没有故障自愈能力(可用性),就无法保证连续审计日志(合规)。 实际架构中,每个节点均需绑定具体度量指标(如:SLA 99.9%、TP99 < 200ms)才能进行选型权衡。

1.5 选型权衡:关键冲突点与决策矩阵

非功能需求之间天然存在冲突,选型时需要制定明确的优先级:

冲突对 对抗关系 典型场景 折中策略
时延 vs 吞吐 低时延需小batch,高吞吐需大batch 在线对话系统 动态batching + 请求优先级队列
精度 vs 时延 高精度模型计算量大,推理慢 医疗影像诊断 模型蒸馏 + 边缘端裁剪
数据新鲜度 vs 成本 实时同步数据,存储与计算成本高 金融风控特征 离线+近实时混合数据管道
可用性 vs 一致性 高可用要求最终一致性,等级越高一致性越弱 推荐系统特征存储 CRDT + 本地优先写入
决策建议:在架构方案阶段,使用NFR优先级矩阵(关键 / 重要 / 次要不急)对每个冲突对排序,然后选择最低成本满足关键NFR的方案,再逐步适配重要NFR。避免一开始就追求所有NFR的最优解。

1.6 风险点:AI产品非功能需求特有的陷阱

  • 模型行为不可预测性:NFR指标(如时延、内存)可能因输入分布变化而剧烈波动,导致与功能测试阶段的结果偏离
  • 冷启动惩罚:模型首次加载或首次推理时延通常比稳定态高数倍,需要在NFR中包含冷启动边界条件
  • 数据漂移引发级联失效:输入数据分布变化导致模型输出质量下降,进而触发下游NFR(如重试次数激增,影响可用性)
  • 合规成本滞后发现:数据隐私、可解释性等合规类NFR往往在后期审计时才发现不满足,回溯代价极高

1.7 落地步骤:从需求到架构的NFR映射

  1. FR-NFR联合识别:在每个用户场景(Use Case)下,同步列出该场景必须满足的3~5个关键NFR
  2. NFR分层归类:将NFR按接入层、推理层、数据层、基础设施层、运维/合规维度进行分组
  3. 冲突矩阵构建:识别同一层次及跨层次之间的NFR冲突对,标注优先级
  4. 架构方案选型:根据冲突矩阵,选择权衡成本最低的架构组件组合
  5. SLA基线定义:为每个关键NFR定义可量化的SLA指标及监测方式
  6. 验收用例编写:基于NFR编写压测、混沌工程、合规扫描等验收测试用例

1.8 验收标准

  • NFR清单完整性:所有FR均已关联至少一项关键NFR,无遗漏
  • 冲突对已分析:冲突矩阵覆盖了所有已知的NFR冲突对,并记录了决策理由
  • SLA指标可测量:每个NFR均绑定了一个可自动化采集的度量指标(如TP99、QPS、准确率)
  • 验收用例通过:压测、稳定性、合规性测试用例均有明确的通过/不通过阈值