4. 特性边界识别的通用方法

特性边界是AI产品功能、性能与安全维度的“红线”集合。本章提供一套可复用的通用识别方法,帮助评审团队系统化地界定功能边界(输入输出范围与状态约束)、性能边界(吞吐、延迟、资源阈值)和安全边界(权限、数据流、攻击面),为后续评审提供精确的评判依据。

适用场景

  • 新功能立项评审:在PRD评审阶段同步完成三类边界的初步识别。
  • 重大版本迭代前:对已有功能进行边界回归扫描,防止因边界扩张引入缺陷。
  • 跨团队协作开发:多个团队依赖同一AI模块时,用边界契约对齐上下游预期。
  • 安全合规审查:涉及用户数据、金融交易等敏感场景,需强制识别安全边界。

前置条件

  • 已完成需求文档评审,核心用户故事已锁定。
  • 已定义关键性能指标(如QPS、P95延迟、内存上限)。
  • 已识别安全合规要求(如GDPR、等保2.0、数据加密规范)。
  • 已准备好接口契约文档或API定义(Swagger/OpenAPI 等)。

操作步骤

步骤1:识别功能边界

采用输入输出定义法与用户故事映射法,明确每个功能点的数据范围、状态转换及异常分支。

  • 输入输出定义法:列出所有输入参数(必填/选填、类型、取值范围、长度限制),输出结果(正常响应、错误码、超时行为),标记边界值(如最大/最小长度、枚举值边界)。
  • 用户故事映射法:将用户故事拆解为“前置条件→操作→后置条件”,识别边界外场景(如未登录、数据不存在、并发冲突)。
案例提示:某AI文本生成接口的输入参数 “max_tokens” 定义边界为 [1, 4096],超出该范围应返回 400 错误码,而非截断或无限等待。
POST /api/v1/generate
请求体: {
  "prompt": string,        // 长度: 1-2000字符
  "max_tokens": int,       // 范围: [1, 4096],默认 512
  "temperature": float     // 范围: [0.0, 2.0],默认 1.0
}
响应体: {
  "text": string,
  "usage": { "prompt_tokens": int, "completion_tokens": int }
}
边界规则:
- prompt 为空或超过 2000 字符 → 400 InvalidPrompt
- max_tokens < 1 或 > 4096 → 400 InvalidMaxTokens
- temperature < 0.0 或 > 2.0 → 400 InvalidTemperature

步骤2:识别性能边界

采用负载压测推演法与资源耗尽假设法,量化系统在极限状态下的行为阈值。

  • 负载压测推演法:根据预估并发量设计压测梯度,确定 P95/P99 响应时间、QPS 拐点、CPU/内存/网络IO 上限。
  • 资源耗尽假设法:逐层假设资源耗尽场景(如磁盘写满、内存 OOM、连接池耗尽),验证降级策略是否生效。
案例提示:某AI图像识别服务的压测配置显示,当并发超过 800 时 P95 延迟从 350ms 陡增至 2.1s,该并发值即性能边界红线。
# 压测配置示例 (K6 脚本片段)
export let options = {
  stages: [
    { target: 100, duration: "2m" },
    { target: 300, duration: "2m" },
    { target: 500, duration: "2m" },
    { target: 800, duration: "2m" },
    { target: 1000, duration: "2m" },
  ],
  thresholds: {
    http_req_duration: ["p(95)<500", "p(99)<2000"],
    http_req_failed: ["rate<0.01"],
  }
};
// 资源阈值告警规则
// CPU: < 75% (24核)
// 内存: < 80% (64GB)
// 网络IO: < 1.2 Gbps

步骤3:识别安全边界

采用攻击面分析法与权限矩阵校验法,枚举所有外部入口与数据流,定义角色-资源-操作的许可边界。

  • 攻击面分析法:枚举所有外部接口(包括 Web、gRPC、消息队列、第三方回调),标记未认证、未授权或缺少输入校验的入口。
  • 权限矩阵校验法:构建角色-资源-操作矩阵,识别越权操作路径(如普通用户访问管理员接口)。
注意:AI产品中模型推理接口常暴露原始特征数据,必须识别数据脱敏边界,防止敏感信息泄漏。
# 权限矩阵示例 (YAML 风格)
roles:
  - name: "guest"
    permissions:
      - resource: "/api/v1/predict"
        actions: ["POST"]
        boundary: "输入长度 ≤ 500 字符,每日限 100 次"
  - name: "developer"
    permissions:
      - resource: "/api/v1/predict"
        actions: ["POST"]
        boundary: "输入长度 ≤ 4000 字符,无调用频率限制"
      - resource: "/api/v1/model/info"
        actions: ["GET"]
  - name: "admin"
    permissions:
      - resource: "/api/v1/*"
        actions: ["GET", "POST", "PUT", "DELETE"]
        boundary: "不可删除生产模型版本"
# 越权检测规则: 所有跨角色访问需触发 403 并记录审计日志
特性边界识别通用方法框架 特性边界识别通用方法框架 功能边界识别 性能边界识别 安全边界识别 输入输出定义法 用户故事映射法 负载压测推演法 资源耗尽假设法 攻击面分析法 权限矩阵校验法 边界整合评审 通过三类边界的系统识别,形成完整的特性边界定义矩阵, 为后续评审与测试用例设计提供精确输入依据。 ● 功能域 ● 性能域 ● 安全域

输入输出物

物品种类名称来源格式/载体关键内容
输入功能需求文档产品经理PRD / 用户故事功能列表、验收条件、异常场景
输入性能指标定义架构师性能规格书QPS、P95/P99延迟、内存/CPU上限
输入安全合规要求安全工程师合规清单GDPR、等保2.0、加密标准、审计日志要求
输出功能边界清单本步骤表格 / 矩阵参数范围、状态转换、异常错误码
输出性能边界阈值表本步骤数值表格并发拐点、最大延迟、资源耗尽阈值
输出安全边界矩阵本步骤权限矩阵 / 攻击面图角色-资源-操作映射、数据脱敏规则

责任边界

角色职责
产品经理提供功能需求,确认功能边界是否覆盖核心用户场景。
架构师定义性能指标,审核性能边界阈值是否合理可测。
安全工程师识别安全合规要求,审核安全边界是否覆盖所有攻击面。
AI产品评审专家组织边界识别会议,汇总三类边界结论,输出评审报告。

记录材料

材料名称内容要点保存方式
特性边界评审记录表功能边界清单、性能阈值表、安全矩阵,含版本号和