基于 OpenClaw + Claude Code 的端到端研发自动化系统 · 需求结构化提取规则设计
需求分析 Agent 是端到端研发自动化系统的首个智能节点,负责将非结构化的用户需求、业务描述、口头表达转化为标准化的 PRD 文档和结构化的技术需求规格。该 Agent 基于 ReAct(Reasoning-Action)循环架构,具备意图理解、信息抽取、逻辑推理、冲突检测、需求优先级排序等核心能力。
从"对话式建议"到"自动化执行":需求分析 Agent 不仅仅是理解用户输入,更要主动追问、澄清歧义、识别隐含需求、验证一致性,最终输出可直接驱动后续技术方案设计和 API 接口开发的标准化需求规格说明书。
需求结构化提取是需求分析 Agent 的核心能力,通过 NLP 技术与规则引擎的结合,将自然语言描述的需求转换为机器可读、可执行的结构化数据。以下是完整的提取规则体系:
StructuredRequirement = NLP_Parse(Input) + Rule_Transform(Context) + Domain_Map(Knowledge) + Validation_Check(Constraints)
Completeness_Score = Σ(Weight_i × Presence_i) / Σ(Weight_i) × 100%
| 规则类型 | 触发模式 | 提取目标 | 输出格式 |
|---|---|---|---|
| 用户故事识别 | "作为 [角色],我想要 [动作],以便 [价值]" | 角色、动作、业务价值 | {role, action, value} |
| 功能点提取 | "系统应该/必须/需要 [功能描述]" | 功能名称、输入、处理逻辑、输出 | {function_name, input, process, output} |
| CRUD 操作识别 | "创建/查询/更新/删除 [实体]" | 操作类型、目标实体、权限要求 | {operation_type, entity, permissions} |
| 业务流程提取 | "首先...然后...最后..." / "当...时,如果...则..." | 流程步骤、条件分支、异常处理 | {steps[], conditions[], exceptions[]} |
| 状态机识别 | "从 [状态 A] 变为 [状态 B]" / "[事件] 触发状态变更" | 初始状态、终止状态、触发事件 | {from_state, to_state, trigger_event} |
| NFR 类别 | 关键词触发 | 量化指标提取 | 默认阈值 |
|---|---|---|---|
| 性能需求 | "响应时间"、"并发"、"吞吐量"、"QPS" | 数值 + 单位(ms/s/requests) | P95 < 500ms, QPS > 1000 |
| 可用性需求 | "可用性"、"SLA"、"正常运行时间" | 百分比(%) | ≥ 99.9% |
| 安全性需求 | "认证"、"授权"、"加密"、"审计" | 安全等级、合规标准 | 等保三级、OAuth2.0 |
| 可扩展性需求 | "扩展"、"增长"、"弹性"、"水平扩容" | 扩容因子、自动伸缩阈值 | CPU > 70% 触发扩容 |
| 兼容性需求 | "浏览器"、"移动端"、"API 版本"、"向下兼容" | 支持列表、版本范围 | Chrome/Firefox/Safari 最新 2 版本 |
| 接口要素 | 提取规则 | 示例 |
|---|---|---|
| HTTP 方法 | 根据操作类型推断:查询→GET, 创建→POST, 更新→PUT/PATCH, 删除→DELETE | "用户提交订单" → POST /orders |
| 请求参数 | 从输入描述提取:路径参数、查询参数、请求体字段 | {userId: path, status: query, orderData: body} |
| 响应结构 | 从输出描述提取:成功响应、错误响应、分页信息 | {code, message, data{items[], total, page}} |
| 错误码定义 | 识别异常场景并分配错误码 | 400:参数错误,404:资源不存在,500:系统异常 |
需求分析 Agent 输出的结构化需求将直接驱动后续研发流程,以下是关键集成点:
| 评估维度 | 指标名称 | 计算公式 | 目标阈值 |
|---|---|---|---|
| 准确性 | 意图识别准确率 | 正确分类数 / 总样本数 × 100% | ≥ 95% |
| 准确性 | 实体抽取 F1 值 | 2 × (Precision × Recall) / (Precision + Recall) | ≥ 0.90 |
| 完整性 | 需求要素覆盖率 | 已提取要素数 / 应提取要素数 × 100% | ≥ 98% |
| 完整性 | 歧义检测召回率 | 检出的歧义数 / 实际歧义数 × 100% | ≥ 90% |
| 一致性 | 冲突检测准确率 | 正确检出的冲突数 / 总检出数 × 100% | ≥ 92% |
| 效率 | 平均处理时长 | Σ(单个需求处理时间) / 需求总数 | < 30 秒/需求 |
| 用户满意度 | 人机协同满意度 | 用户评分平均值(1-5 分) | ≥ 4.5 分 |