基于 OpenClaw+DeepSeek 实现需求评审的技能开发与实践
785
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
为助力客户精准识别需求文档中的问题,我尝试通过安装 OpenClaw 并编写专属 Skills,结合 DeepSeek 大模型实现需求的智能化语义评审,整个实现流程与实践心得如下。
一、需求评审 Skills 的开发与落地流程
- 采购 DeepSeek 的 API key 相关资源,完成大模型调用的基础准备;
- 搭建 OpenClaw 的完整运行环境,保障工具正常运转;
- 完成 OpenClaw 与 DeepSeek 的接口配置,实现二者的联动对接;
- 编制需求评审的检查清单(checklist),明确评审核心维度;
- 撰写需求评审 Skills 的开发需求,界定技能功能与执行标准;
- 依托 OpenClaw 工具自动生成对应的 Skills 代码;
- 对生成的 Skills 进行调试,检验评审结果输出效果,并通过 OpenClaw 持续优化 Skills 中的算法逻辑;
- 完成 Skills 版本的稳定化迭代,投入长期的实际业务使用。
在上述全流程中,编制评审 checklist 与撰写 Skills 开发需求是两大核心环节,一份科学完善的检查清单和清晰明确的技能开发需求,直接决定了后续智能化需求评审的质量与效果。
二、融合 checklist 的 Skills 开发核心需求
我将需求评审 checklist 全面融合至 Skills 开发需求中,明确了大模型执行需求评审的全流程规则、检查维度与输出标准,具体要求如下:
1、Skill 总体目标:针对输入的需求文档,大模型参考预设检查项开展语义评审,精准识别文档中的问题。支持用户指定局部和完备两种评审方法,满足不同评审场景需求。
2、评审模式识别规则:评审前先判定用户指定的模式,若为完备评审,需对所有预设需求元素进行全面检查,未被完备描述的需求元素直接标注为遗漏问题;若为局部评审,仅对用户指定的需求元素开展评审,未涉及的元素不认定为问题。缺省评审模式为局部模式。
3、语义匹配要求:需求文档中的章节名称可能与预设需求元素名称不一致,或无显式标注,大模型需通过语义分析实现需求元素的自动匹配。
4、真实接口集成:对接真实的大模型 API,实现真正意义上的智能化语义评审,而非模拟评审。
5、通用检查项(全场景适用):无论采用局部 / 完备评审模式,无论评审对象是新需求还是需求变更,均需执行以下通用检查:
1)名词:能否准确识别所有业务对象的属性?无其他名词修饰的名词为属性,有其他名词刻画特征的名词为业务对象;
2)动词:所有动词的执行流程需有详细描述,明确操作方式与步骤;
3)形容词与副词:此类词汇具备不可测试性,出现时需直接列为问题;
4)代词:需结合上下文明确指代关系,确保无歧义;
5)术语一致性:梳理含义相近的词语,列出并提请作者澄清是否指代同一含义。
6、需求元素专属检查项:对需求文档中的不同需求元素,大模型需分别匹配对应的检查项开展针对性评审,核心元素及检查要求如下:
需求元素 1(项目目标):是否明确阐述项目具体目标?是否清晰说明要解决的核心问题?是否描述系统的业务价值?
需求元素 2(业务概述 / 业务背景):是否列明系统用户的所有角色?是否通过流程图或文字描述业务流程?是否明确用户角色、业务活动、业务单据 / 账本 / 报表之间的关联关系?
需求元素 3(系统概述):是否介绍系统总体功能?是否清晰界定系统范围,明确系统的功能边界(做什么 / 不做什么)?是否描述功能模块划分及各模块包含的具体功能?
......
需求元素 11(非功能需求):是否对所有非功能性需求进行定量描述?是否包含响应时间、吞吐量、数据量、并发用户数、安全性、可靠性、可移植性等核心维度?
需求元素 12(环境需求):是否完整描述软件、硬件、网络的配套环境需求?
7、需求变更附加检查项:从是否修改历史功能的角度,需求可分为新需求和变更需求。若为变更需求,需额外检查:是否明确变更前、后的需求内容?是否界定变更类型(业务规则、业务对象、操作方式、界面布局等)?
8、综合质量评分:完成评审后,对需求文档的综合质量进行评分,满分设定为 100 分。
9、输出格式要求:评审结果以 Excel 表格输出,包含两个工作表,具体列项如下:
sheet1(问题列表):问题序号、问题描述、原始需求描述、对应的检查项、严重级别;
sheet2(综合评价):问题个数、综合评分及其他相关统计分析内容。
三、Skills 开发调试中的 AI 编码常见问题
在完成 Skills 需求定义后,通过 OpenClaw 实现代码编程,并开展持续调试优化,过程中针对 AI 的评审遗漏问题进行纠正并反复迭代,持续完善 Skills 开发需求。在此过程中,总结出 AI 编码存在的八大常见错误,需重点规避:
- 代码中出现无注释说明的魔法数字,降低代码可读性与维护性;
- 代码中硬编码固定文件名,将模拟用的输入内容直接写死,灵活性极差;
- 存在漏修改问题,例如指定修改 4 个 bug,实际仅完成 3 个的修改;
- 多 bug 修改时出现回退问题,修改后续 bug 时,已修复的前期 bug 被重新还原;
- 同一文件的不同版本未在文件名上做区分,导致大模型误将老版本当作新版本,拒绝接受新代码;
- 未对程序需求进行版本记录,需求迭代过程无追溯性,大模型易混淆版本,导致老错误复现;
- 过度依赖调试修改,忽视前期设计,最终陷入修改泥潭,代码越改越乱;
- 出现人类编码极少犯的低级错误,因未理解需求中的潜台词,导致代码逻辑与实际需求偏离。
针对上述问题,TDD 开发模式对 AI 编码尤为适用,每次 AI 编码完成后,需通过所有测试用例再进入下一环节;同时需明确,程序是设计出来的而非调试出来的,AI 编码也应追求一次成型;若陷入修改泥潭,需基于最新、最完备的需求重新编写代码;且 AI 编写的代码必须经过严格的人工评审,确保需求落地准确性。
四、需求评审实践效果:DeepSeek 智能化评审的优势
为验证 Skills 的实际评审效果,我以一份自主编写的、相较于实际业务中多数项目更详尽清晰的个人名片管理系统需求文档为测试对象,通过 DeepSeek 开展智能化需求评审,最终识别出 17 类具体问题,覆盖项目目标、系统概述、功能设计、数据对象、环境需求、术语规范等多个维度,核心问题及评审标准匹配情况如下表所示:
|
问题序号 |
问题描述 |
原始需求描述 |
对应的检查项 |
严重级别 |
|
1 |
文档未明确阐述项目的具体目标、要解决的主要问题以及系统的业务价值。仅简单提及“拟开发一套个人名片管理系统”,缺乏对项目成功标准、用户痛点或预期收益的描述。 |
Measures拟开发一套个人名片管理系统,需求如下: |
是否明确阐述了本项目的具体目标?是否清晰说明了项目要解决的主要问题?是否描述了系统的业务价值? |
高 |
|
2 |
文档缺乏对系统总体功能的介绍,未清晰界定系统范围(做什么/不做什么),也没有描述功能模块的划分。仅以列表形式罗列了部分功能点,缺乏整体架构和模块化描述。 |
整个需求文档内容摘要 |
是否对系统的总体功能做了介绍?是否清晰界定了系统范围?系统做什么不做什么是否有清晰的定义?是否描述了功能模块的划分,每个模块包含了哪些功能? |
高 |
|
3 |
功能项描述过于笼统,未细化到最小的可独立执行的基本功能单元层级,不满足VISTA原则。例如,“可以录入名片信息”未分解为具体的操作步骤、界面元素和验证规则。 |
(2)可以录入名片信息:姓名,公司名称,公司地址,邮编,固定电话,手机,职务,职称,网站地址等。 |
功能项是否细化到最小的可独立执行的基本功能单元层级?要满足VISTA原则:V-独立价值、I-无依赖、S-稳定态、T-可测试、A-原子级 |
高 |
|
4 |
文档未描述角色与功能的对应关系(谁可以使用什么功能)。没有定义系统用户角色(如管理员、普通用户),也未说明不同角色对功能的访问权限。 |
整个功能需求列表 |
是否描述了角色与功能的对应关系(谁可以使用什么功能)? |
高 |
|
5 |
文档未描述外部实体(人、设备、软件)与系统功能的交互关系或动作序列,内外部责任划分不清晰。缺乏用例描述,无法理解用户如何操作系统完成具体任务。 |
整个功能需求列表及USE CASE图/描述提及 |
是否描述外部人、设备或其他软件与本功能的交互关系或动作序列?内外部责任是否划分清晰了?建议通过用例的方法描述清楚人机交互动作序列 |
高 |
|
6 |
每个功能都缺乏对异常或替代事件流的描述。例如,录入信息时输入格式错误、查询无结果、导入/导出文件失败等场景均未涉及。 |
整个功能需求列表 |
每个功能里是否有遗漏的异常或替代事件流?正常与异常事件流都要描述出来 |
中 |
|
7 |
文档未明确列出系统涉及的所有核心业务数据对象(业务实体)。仅提到了“名片信息”及其部分属性,但“分类”等可能也是重要实体,未清晰定义。 |
(2)可以录入名片信息:姓名,公司名称,公司地址,邮编,固定电话,手机,职务,职称,网站地址等。(5)可以对这些人员进行分类。 |
是否明确了系统涉及的核心业务数据对象?要清晰的列出所有的业务实体 |
高 |
|
8 |
对“名片”这个主要数据对象的属性描述不完整。例如,缺少唯一标识符(如ID)、创建时间等系统属性,且“自定义属性”的描述过于模糊。 |
(2)可以录入名片信息:姓名,公司名称,公司地址,邮编,固定电话,手机,职务,职称,网站地址等。(4)除上述属性外,可以由操作员自定义增加不超过其他10个属性。 |
每个数据对象的属性是否完整列出?每个业务实体的属性要清晰列出 |
中 |
|
9 |
文档未通过ER图、类图等方式描述数据对象之间的关系。例如,“名片”与“分类”之间是多对多关系还是一对多关系,没有明确说明。 |
(5)可以对这些人员进行分类。 |
是否通过ER图、类图等方式描述了数据对象之间的关系?实体之间的关系要描述出来 |
中 |
|
10 |
环境需求描述不完整。仅提到了操作系统兼容性(WINDOWS 2003/XP)和数据库空间要求,缺少对硬件(如CPU、内存)、软件(如.NET Framework版本、Excel版本)和网络(单机运行是否意味着无网络需求?)的明确描述。 |
(1)运行在单机上,支持WINDOWS 2003,WINDOWS XP操作系统。(8)数据库系统不限,但是应该占用的硬盘空间尽可能小。 |
是否描述了软件、硬件、网络的环境需求? |
中 |
|
11 |
文档中提到“USE CASE图”和“USE CASE 描述”,但在提供的摘要中并未给出具体内容,导致文档内容不完整,关键设计信息缺失。 |
USE CASE图: |
(隐含检查项:文档内容完整性) |
高 |
|
12 |
名词'人员'与'名片'指代关系不明确,可能指同一业务对象但用词不一致。 |
(3)人员可以重名;(5)可以对这些人员进行分类。 |
术语一致性检查 |
中 |
|
13 |
动词'录入'执行过程描述不够详细,未说明录入方式(如手动输入、批量导入等)及验证规则。 |
(2)可以录入名片信息:姓名,公司名称,公司地址,邮编,固定电话,手机,职务,职称,网站地址等。 |
动词检查 |
中 |
|
14 |
形容词'尽可能小'不可测试,未定义具体阈值或范围。 |
(8)数据库系统不限,但是应该占用的硬盘空间尽可能小。 |
形容词与副词检查 |
高 |
|
15 |
名词'操作员'未明确其属性或角色定义,可能与其他术语(如用户)存在混淆。 |
(4)除上述属性外,可以由操作员自定义增加不超过其他10个属性。 |
名词检查 |
低 |
|
16 |
动词'分类'执行过程描述不够详细,未说明分类方式(如标签、文件夹等)及分类规则。 |
(5)可以对这些人员进行分类。 |
动词检查 |
中 |
|
17 |
术语'名片信息'与'数据项'可能指代相同内容但用词不一致,需澄清是否同义。 |
(6)可以按名片信息中的任何一个数据项进行任意组合条件查询 |
术语一致性检查 |
低 |
从评审结果可以看出,即便这份需求文档已具备较高的详尽度,DeepSeek 仍识别出了大量人工评审易忽略的细节问题,其评审过程更细致、全面、完备,能够从多维度、全视角挖掘需求文档中的潜在问题。
当然,智能化评审识别出的问题并非强制修改,最终可由需求文档的作者结合实际业务场景,自主决策问题的整改方式与整改优先级。
麦哲思科技任甲林
麦哲思科技(北京)有限公司总经理 敏捷性能合弄模型评估师 认证的Scrum Master 认证的大规模敏捷顾问SPC CMMI高成熟度主任评估师 COSMIC MPC,IAC 成员,中国分部主席
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
白皮书上线