摘要:为复杂的工程挑战设计解决方案在人类生产活动中至关重要。 然而,检索增强生成(RAG)领域之前的研究并没有充分解决与复杂工程解决方案设计相关的任务。 为了填补这一空白,我们引入了一个新的基准,SolutionBench,来评估一个系统为具有多个复杂约束的工程问题生成完整和可行解决方案的能力。 为了进一步推进复杂工程解决方案的设计,我们提出了一种新的系统SolutionRAG,该系统利用基于树的探索和双点思维机制来生成可靠的解决方案。 广泛的实验结果表明,SolutionRAG在SolutionBench上实现了最先进的(SOTA)性能,突出了它在现实应用中提高复杂工程解决方案设计的自动化和可靠性的潜力。Huggingface链接:Paper page,论文链接:2502.20730
在人类生产活动中,为复杂的工程挑战设计解决方案是至关重要的。这些挑战通常包含多个现实世界的约束,并期望得到完整且可行的解决方案。例如,设计一个既安全又高效的医院建设方案,在一个年降水量达3000毫米、土壤膨胀性强且地震活动频繁的地区。人类专家通过查阅大量专业知识、精心设计和严格审议来完成这类工作,但这需要大量的时间和人力资源。随着检索增强生成(Retrieval-Augmented Generation, RAG)技术的不断发展,工程领域期待能够出现一个可靠的RAG系统,能够自动为这类复杂的工程需求生成解决方案。然而,以往在RAG领域的研究并没有充分解决与复杂工程解决方案设计相关的任务。本文旨在填补这一空白,提出一种新的基准SolutionBench来评估系统为具有多个复杂约束的工程问题生成完整和可行解决方案的能力,并介绍一种新型系统SolutionRAG,该系统利用基于树的探索和双点思维机制来生成可靠的解决方案。
为了确保基准的权威性和真实性,我们主要从权威期刊的工程技术报告中收集数据。这些数据来源自多个工程领域,包括环境、采矿、交通、航空航天、电信、建筑、水资源和农业等。选择权威期刊是为了确保基准的评价结果能够准确反映系统在实际工程需求下的能力。同时,为了确保数据的多样性,我们覆盖了广泛的工程领域,以提供全面的系统评估参考。
首先,我们使用强大的大型语言模型(LLMs)和手动格式化的模板从原始工程技术报告中提取有用内容。提取的内容包括需求、解决方案、分析性知识、技术知识和解释等。为了确保提取内容的准确性,我们进行了手动验证和修正,并将同一领域的知识合并到一个统一的知识库中,最终构建了一个完整的复杂工程解决方案设计基准SolutionBench。
SolutionBench包含了来自八个工程领域的数千个数据点,并为每个领域构建了一个知识库。数据点的格式包括需求、黄金解决方案、分析性知识、技术知识和解释等部分。为了评估系统,我们提供了两种使用SolutionBench的方式:一种是给定需求并期望得到可靠解决方案;另一种是在提供相关知识库的情况下进行检索和增强生成。
由于从次优解决方案到可靠解决方案的改进过程具有灵活性,并没有固定的推理模式,因此SolutionRAG采用基于树的探索方式,其中每个分支代表一个不同的改进方向。同时,由于需求中存在多个现实世界的约束,系统生成的解决方案无法保证满足所有约束。因此,SolutionRAG采用双点思维机制,在树的增长过程中交替进行解决方案设计和评审,逐步提高生成解决方案的可靠性。
在树的增长过程中,存在两种类型的节点扩展动作:一种是基于需求或评论节点设计新的解决方案节点;另一种是基于评审解决方案节点创建新的评论节点。为了平衡推理效率和性能,SolutionRAG实现了基于节点评估的剪枝机制,只保留最有前途的解决方案和最有帮助的评审评论,从而确保推理过程始终关注最有希望的路径。
在生成解决方案时,SolutionRAG首先根据需求和评论节点生成多个提案,然后从知识库中检索相关知识,并结合历史解决方案和检索结果使用LLM输出更精细的新解决方案。在评审解决方案时,SystemRAG同样生成提案、检索相关知识,并结合需求和旧解决方案输出评论。
为了全面评估各种系统在解决复杂工程解决方案设计任务中的能力,我们选择了多种类型的方法作为基线,包括深度思考模型、单轮RAG方法和多轮迭代RAG方法。在评估指标上,我们采用分析性评分和技术性评分来评估系统生成的解决方案是否使用了正确的分析性知识和技术知识来解决需求中的复杂约束。
实验结果表明,仅依赖内部知识的深度思考模型在SolutionBench上表现不佳,而现有的RAG方法虽然在一定程度上提高了性能,但仍然处于较低水平。相比之下,我们提出的SolutionRAG在所有八个工程领域都实现了最先进的性能,显著优于基线方法。例如,在采矿工程领域,SolutionRAG比Naive-RAG的技术评分提高了10.4分,比Self-RAG提高了8.9分。
为了进一步验证基于树的探索和双点思维机制的有效性,我们进行了消融实验。实验结果表明,移除这两个机制中的任何一个都会导致系统性能的显著下降,表明这两个机制在解决复杂工程解决方案设计任务中起着同等重要的作用。
为了验证SolutionRAG在树增长过程中解决方案的改进情况,我们评估了树的不同层级的解决方案评分。实验结果表明,随着树深度的增加,解决方案的评分逐渐提高,证明了SolutionRAG确实能够通过推理过程的深入来改进解决方案。
为了验证节点评估机制在剪枝过程中的有效性,我们比较了保留节点和剪枝节点的解决方案评分。实验结果表明,保留节点的解决方案评分显著高于剪枝节点,证明了节点评估机制是一种有效的评判和剪枝方法。
以往在RAG领域的研究主要集中在需要一定推理能力的知识问答任务上,如多跳问答和长形式问答。然而,这些任务与复杂工程解决方案设计任务存在显著差异。复杂工程解决方案设计任务中的问题是包含多个现实世界约束的复杂需求,而期望的答案是一个需要灵活改进过程的解决方案,而不是一个实体片段或简单集成的段落。因此,复杂工程解决方案设计是一个新颖且具有挑战性的任务。
本文首先构建了SolutionBench基准,用于评估系统在复杂工程解决方案设计任务中的能力。然后,我们提出了一种新的系统SolutionRAG,该系统通过基于树的探索和双点思维机制来生成可靠的解决方案。广泛的实验结果表明,SolutionRAG在SolutionBench上实现了最先进的性能,突出了它在现实应用中提高复杂工程解决方案设计自动化和可靠性的潜力。未来的工作可以进一步探索使用强化学习来训练LLMs,以开发更强大的复杂工程解决方案设计系统,并深入研究树结构的宽度和深度等超参数对系统性能的影响。
本文的研究存在一定的局限性。由于GPU计算资源的限制,我们构建的系统主要基于现有LLMs的能力,而没有进行专门的训练。未来的工作可以考虑使用强化学习来训练LLMs,以提高系统的性能。此外,由于同样的计算资源限制,我们没有广泛探索树结构的宽度和深度等超参数。这可以作为一个有价值的研究方向,以进一步优化SolutionRAG系统的性能。