AI需求冲突检查的评估,要回答的是“AI把需求集合里相互矛盾、重复或无法同时满足的条目找出来了吗,找得准不准”。做法是先界定冲突类型与检查范围,再建立人工标注的基准集,用召回率、准确率和漏检率等指标复算结果,并按冲突类型分层解读。本文给出一套可复算的口径与算例,帮助判断检查结果能否进入需求评审。
要点总览(TL;DR)
- 评估对象是AI对需求集合中冲突条目的识别质量,结论用于判断检查结果能否进入需求评审,不评价需求文档写作质量。
- 先把冲突拆成目标矛盾、约束互斥、重复表述、优先级冲突四类,并冻结需求版本、模块边界和时间窗,范围变化时前后指标不可直接比较。
- 基准集按分层随机抽样构建,双人独立标注并记录分歧裁定,以冲突对为主要计数单位,不可判定和争议条目单独列出、不混入分母。
- 召回率=正确识别冲突数/基准集实际冲突数,准确率=正确识别冲突数/AI输出冲突总数,漏检率=1−召回率;分母为零时报告“不适用”,并按冲突类型分层统计。
- 指标只反映与基准集的一致程度,需同时报告基准集规模、不可判定条目数和争议条目数,并约定复评周期与口径冻结规则。
评估目标:冲突检查要回答什么问题
评估对象是AI对需求冲突的识别质量,具体指:在给定的一份需求集合中,AI输出的冲突条目与人工判定为冲突的条目之间的吻合程度。评估结论的用途是判断这批检查结果能否作为需求评审的输入材料,帮助评审人优先看哪些条目,而不是评价需求文档写得好不好。
这个边界需要说清楚。需求分析关注需求是否完整、是否值得做、优先级是否合理;文档成稿关注表述是否清晰、结构是否规范。冲突检查评估只处理一件事:两条或多条需求之间是否存在不能同时成立的关系,以及AI有没有把它们找出来。一份需求文档可能写得很规范,但内部仍有目标矛盾;也可能表述粗糙,却不存在实质冲突。评估结论只对后者负责。
结论用途可以归纳为三类判断:检查结果能否直接进入评审议程;哪些冲突类型需要人工重点复核;当前检查配置在下一轮需求版本中是否继续使用。三类判断都依赖同一套可复算的指标,而不是凭印象说“AI找得挺全”。
冲突类型与检查范围
“冲突”需要拆成可判定的类型,否则标注人和AI对同一条需求的理解不一致,指标就失去意义。常见的四类冲突如下表,每类给出判定要点和典型表现。
| 冲突类型 | 判定要点 | 典型表现 |
|---|---|---|
| 目标矛盾 | 两条需求追求的业务结果互相排斥 | 一条要求缩短审批链路,另一条要求增加审批节点以强化管控 |
| 约束互斥 | 技术、合规或资源约束无法同时满足 | 一条要求数据不出境,另一条要求调用境外服务完成计算 |
| 重复表述 | 两条需求描述同一功能或同一规则,口径不一致 | 两个模块分别提出字段必填规则,取值要求不同 |
| 优先级冲突 | 同一迭代内资源或排期无法同时支撑 | 两条需求都标记为最高优先级,且共用同一批开发人力 |
范围界定决定指标的分母。需要明确三件事:需求版本(哪一版需求基线)、模块边界(全部模块还是指定模块)、时间窗(检查覆盖的需求提出时间段)。范围一旦变化,基准集中的实际冲突数和AI输出数都会变化,前后两次指标不可直接比较。例如上一轮只检查支付模块,本轮扩展到全部交易链路,冲突总数上升属于范围扩大,不能解读为检查质量下降。
建议在每轮评估开始前冻结一份范围说明,写明版本号、模块清单、时间窗和纳入标准,作为后续复算和横向对比的依据。
数据口径与证据:基准集怎么建
基准集是人工判定过的需求集合,是全部指标的参照。构建方式直接影响指标可信度,需要固定抽样、标注和计数三个环节。
抽样方式按分层随机抽取:先按模块和冲突类型分层,再在每层内随机抽取需求条目,保证稀有冲突类型也有足够样本。样本量没有通用标准,可按需求总量和冲突密度确定,原则是每类冲突至少有若干条实际冲突可供计算,否则该类指标不单独报告。抽样清单和随机种子要留存,便于复算。
标注规则要写成书面文件,逐条说明四类冲突的判定条件、边界情形和反例。标注由两人独立完成,出现分歧时由第三人裁定或双方讨论达成一致,分歧条目和裁定理由一并记录。双人复核的作用是暴露规则模糊处,而不是追求标注完全一致。
计数单位需要统一。冲突可以按“冲突对”计数(两条需求构成一个冲突关系),也可以按“冲突条目”计数(参与冲突的需求条数)。一对一的冲突两种口径结果相同,一条需求同时与多条需求冲突时结果不同。建议以冲突对为主计数单位,因为冲突本质是关系;需要按条目统计时单独说明换算规则。
缺失标注和争议条目单独列出,不混入分母。某条需求信息不足无法判定时标记为“不可判定”,从基准集实际冲突数中剔除并记录数量;争议条目在裁定前不计入任何一方。这两类数据的规模本身也是评估信息,数量过多说明需求描述质量或标注规则需要调整。
计算步骤:召回率、准确率与漏检率
三个核心指标的公式、分子分母和单位如下表。统计时间窗与基准集范围一致,单位为“冲突对”或“冲突条目”,全篇保持同一单位。
| 指标 | 公式 | 分子 | 分母 |
|---|---|---|---|
| 召回率 | 正确识别的冲突数 / 基准集中实际冲突数 | AI输出且与基准集匹配的冲突 | 人工判定的全部实际冲突 |
| 准确率 | 正确识别的冲突数 / AI输出的冲突总数 | AI输出且与基准集匹配的冲突 | AI输出的全部冲突 |
| 漏检率 | 1 − 召回率 | 基准集中未被AI识别的冲突 | 基准集中实际冲突数 |
计算流程分四步:第一步,把AI输出与基准集按需求编号和冲突类型做匹配,匹配成功的计为正确识别;第二步,统计基准集中实际冲突数、AI输出总数、正确识别数三个基础量;第三步,代入公式计算总体指标;第四步,按冲突类型分层重复上述计算。
分母为零时需要明确规则。基准集实际冲突数为零时,召回率无定义,报告为“不适用”并说明该范围内未发现冲突,不能写成0%或100%;AI输出总数为零时,准确率无定义,同样报告“不适用”。分层统计中某类冲突样本不足时,只报告绝对数量,不计算比率,避免小样本比率被误读。
分层统计是必要步骤。总体召回率可能被数量最多的重复表述类冲突拉高,掩盖目标矛盾类的高漏检。按四类冲突分别报告召回率和准确率,才能看出检查能力在哪类冲突上薄弱。
算例:一次需求集合的检查结果
以下为演示情景,数据为假设值,用于说明计算过程。某需求版本共纳入120条需求,基准集人工判定实际冲突18对,AI输出冲突15对,其中与基准集匹配的为12对。
总体指标计算:召回率 = 12 / 18 ≈ 66.7%;准确率 = 12 / 15 = 80%;漏检率 = 1 − 66.7% ≈ 33.3%,即漏检6对冲突。这组数字说明AI输出的冲突大部分是真实的,但基准集中约三分之一的冲突没有被发现。
分层结果如下表,演示不同冲突类型的表现差异。
| 冲突类型 | 实际冲突数 | AI输出数 | 正确识别数 | 召回率 | 准确率 |
|---|---|---|---|---|---|
| 目标矛盾 | 5 | 3 | 2 | 40% | 66.7% |
| 约束互斥 | 4 | 4 | 4 | 100% | 100% |
| 重复表述 | 7 | 7 | 6 | 85.7% | 85.7% |
| 优先级冲突 | 2 | 1 | 0 | 0% | 0% |
结果说明可以这样写:本轮检查在约束互斥和重复表述上召回率较高,目标矛盾类召回率40%,5对冲突中漏检3对,是主要短板;优先级冲突样本仅2对,绝对数量少,暂不据此下结论,但0对识别提示该类规则可能需要补充判定依据。总体召回率66.7%由数量较多的重复表述类支撑,不能代表各类冲突的检查水平。建议下一轮评审优先人工复核目标矛盾类条目,并补充优先级冲突的判定规则后复评。
解读与限制:指标不能说明什么
指标衡量的是AI输出与基准集的一致程度,不构成需求质量的因果保证。召回率高只说明基准集中的冲突大多被找到,不说明需求本身更合理,也不说明评审后项目风险下降。把检查指标直接当作需求管理绩效,会诱导团队调整需求写法来迎合检查,而不是解决真实矛盾。
样本偏差和标注主观性是主要误差来源。基准集按分层随机抽样,样本量不足时分层指标波动大;冲突判定涉及业务判断,不同标注人对“目标矛盾”的边界理解可能不同,双人复核能降低但不能消除这种差异。报告指标时应同时给出基准集规模、不可判定条目数和争议条目数,让读者判断结论的稳定程度。
指标未纳入冲突严重度。一对导致返工的目标矛盾与一对表述重复的冲突,在计数上权重相同。当需要判断检查结果的业务影响时,可在基准集中为每对冲突标注严重度等级,单独统计高严重度冲突的召回率,作为补充判断,而不改动主指标口径。
复评周期与口径冻结需要提前约定。建议每个需求版本或每个迭代复评一次,复评时沿用同一套冲突类型定义、计数单位和范围说明;确需调整口径时,新旧口径的结果分开报告,不直接比较。需求条目和评审记录在ONES中管理时,可以把基准集标注结果、AI输出清单和每轮指标记录关联到对应需求版本,让复算时有据可查,评审人也能从冲突条目直接追溯到原始需求和讨论记录。
常见问题
基准集里某类冲突只有一两条,还能算召回率吗?
样本过少时比率波动很大,一对冲突识别与否就能让召回率在0%和100%之间跳动,这类数字容易被误读。建议该类冲突只报告绝对数量(实际冲突数、AI输出数、正确识别数),不单独计算比率,并在报告中注明样本不足。若该类冲突对业务影响大,可扩大抽样范围或延长检查时间窗,积累足够样本后再计算分层指标。
AI输出的冲突在基准集里找不到对应条目,算错报还是算基准集漏标?
需要先复核再归类。做法是由标注人回看AI给出的冲突对,判断它是否构成真实冲突:若构成而基准集未收录,属于基准集漏标,应补入基准集并记录,同时修正标注规则;若不构成,计为AI误报,进入准确率的分母。两类情况分开统计,误报率高说明检查规则过宽,漏标多说明标注规则或抽样覆盖不足,处理方向不同。
两轮检查之间需求范围扩大了,指标还能直接对比吗?
范围变化后基准集实际冲突数和AI输出数都会变化,直接对比会混淆范围效应和质量变化。建议把两轮结果分开报告,各自附上范围说明(版本号、模块清单、时间窗);确需对比时,在共同范围内重算一遍指标,用同一分母比较。若口径本身也调整了,新旧结果并列呈现,不做合并结论。
冲突严重度不同,只用一个召回率够不够?
主指标按冲突对等权计数,一对导致返工的目标矛盾与一对重复表述权重相同,可能掩盖高风险漏检。可在基准集中为每对冲突标注严重度等级,单独统计高严重度冲突的召回率作为补充判断,主指标口径保持不变。这样既保留可复算的基准,又能让评审人看到高风险冲突的识别情况。
检查结果要进入需求评审,报告里至少要写清哪些内容?
至少包括:本轮范围说明(需求版本、模块、时间窗)、基准集规模与抽样方式、不可判定和争议条目数量、总体与分层的召回率和准确率、分母为零或样本不足的指标标注、以及主要短板和下一步复核建议。把AI输出清单和基准集标注结果关联到对应需求版本,评审人才能从冲突条目追溯到原始需求,复算时也有据可查。
