技术规格审计AI代理开发实战经验
开发用于自动化技术规格(spec)审核的机器学习工具,需要明确策略和对常见陷阱的洞察。我们亲身实验发现,成功的关键在于高质量训练数据,以及结合大语言模型(LLM)和传统算法的混合架构。
构建训练数据集
第一步也是最关键的一步是收集和标注数据。我们构建了一个包含90个技术规格的代表性数据集,分为三类:
- 高质量规格(30个示例),开发过程顺利,几乎无需修改。
- 问题规格(30个示例),引发冲突、重工和延期。
- 一般规格(30个示例),能用但开发中暴露缺陷。
每个规格都附带分析师的详细评审,突出优缺点。为增加多样性,我们纳入了来自零售、制造和服务等行业的不同作者和项目的规格。
分类常见规格错误
分析问题规格揭示了系统性问题,代理需要检测这些。主要类别:
- 仅正面场景。 需求描述了正常路径,但忽略错误处理、边界情况和异常。
- 模糊表述。 使用主观或模糊词如“快速”、“用户友好”或“灵活”,缺少可衡量指标。
- 不可测试需求。 无法构建明确测试用例进行验证。
- 内部冲突。 同一规格中部分或条款间不一致。
- 缺失边界情况。 未指导系统对极端或异常输入的行为。
将不可测试需求转化为可测试需求的示例
典型模糊表述及其具体化:
- 原句: “用户应灵活自定义报表。”
具体化: “报表提供自定义设置:日期范围(任意区间)、对手方(多选)。设置按用户保存。包含按对手方和仓库分组选项。”
- 原句: “系统必须正确处理大数据量。”
具体化: “加载10,000个文档,总计500,000行,必须在15分钟内完成。内存使用上限2 GB。”
- 原句: “所有屏幕表单必须保持一致风格。”
具体化: “所有文档表单中,‘保存’和‘过账’按钮位于右上角。按钮颜色:绿色(R=0, G=128, B=0)。字体:Arial, 10pt。”
质量标准与代理架构
我们定义了规格评估清单,涵盖业务目标、场景完整性、清晰度、可测试性、一致性和可行性。这些构成了代理提示和逻辑的基础。
解决方案采用混合模型,结合检索增强生成(RAG)和决策树分类。
- RAG组件 处理上下文搜索。审核新需求时,代理从知识库(90个标注规格)提取语义相似的片段,回想常见错误及其上下文。
- 决策树 使用结构化特征分类错误。LLM代理先将原始文本解析为结构化特征(如JSON),再输入分类器。
分析的技术实现
检查单个需求遵循以下步骤:
- 特征提取: 基于LLM的分析器将文本转换为特征向量。例如:
* has_numbers:1(包含数字细节)或0。
* has_negative_keywords:1(提及“如果”、“否则”、“错误”)或0。
* boundary_conditions_mentioned:1(覆盖边界情况)或0。
* stopword_score:主观标记词(如“灵活”、“直观”)的权重。
- 分类: 结构化特征向量输入决策树模型(如Scikit-learn),分配到错误类别或标记为合格。
- 报告生成: 代理生成详细评论,标明问题类型、文本位置,以及基于知识库类比的修复建议。
这种分工——LLM负责语义理解和数据提取,分类器处理严格逻辑——确保了透明度和可控性。
核心经验总结
- 数据质量至上。 没有代表性、良好标注的数据集(至少数十个示例),就无法有效训练。
- 混合架构胜过纯LLM。 RAG提供上下文,决策树精确分类,结果更可靠、可解释。
- 优先可测试性。 优秀规格允许明确测试用例,所有需求必须可衡量且具体。
- 自动化繁琐工作。 代理不取代分析师,而是充当另一双眼睛,系统性发现常见错误,节省时间并减少人为失误。
- 持续学习。 定期用新规格和评审更新知识库,提升准确率并适应新项目类型。
— Editorial Team
暂无评论。