摘要

本文以自动驾驶车辆为应用场景,结合大语言模型与基于智能体的检索增强生成技术,研究安全需求的自动化推导方法。传统利用预训练大语言模型辅助安全分析的方法往往缺乏特定领域知识,现有检索增强生成技术虽能解决这一问题,但在处理复杂查询时性能会下降,且获取最相关信息的难度大幅增加,这一点在安全相关应用中尤为关键。本文提出采用基于智能体的检索增强生成技术推导安全需求,并验证该方法检索到的信息与查询的相关性更高。我们以汽车行业标准文档库和阿波罗自动驾驶感知系统案例为研究对象,实现了基于智能体的检索增强生成方法,并利用从阿波罗案例数据中提取的安全需求问答数据集对该方案进行测试。通过评估选定的一系列检索增强生成相关指标,本文阐述并分析了基于智能体的方法相较于传统检索增强生成方法的优势。

1、引言

安全分析流程耗时久,且需要精通相关领域专业知识的专家参与。大语言模型可辅助完成部分重复性工作,例如推导或校准需求、填写安全文档模板,同时保证输出语言(关键词、表述质量)的一致性;还能对现有安全文档进行审核,检查其一致性和完整性,确保需求、系统元件与验证步骤之间的可追溯性。然而,要让大语言模型有效协助安全工程师开展工作,其必须生成高度可靠且可解释的结果。

大语言模型的自然语言处理能力,本质上由注意力机制支撑,该机制通过识别词元间的语义关联,生成符合逻辑的文本续编。但此类符合逻辑的续编仍有可能缺乏事实依据,即出现所谓的 “幻觉现象”。要让大语言模型真正成为安全分析工作的实用工具,就必须有效抑制或缓解这一现象。

大语言模型产生幻觉的风险,与其可获取的信息以及这些信息对当前任务的适配性相关。模型权重通常基于海量通用知识语料训练得到,为整合特定领域的额外信息,业界普遍采用微调或检索增强生成等技术。若检索增强生成技术能成功获取相关信息,并将其作为最终大语言模型提示词的上下文,就能降低幻觉发生的概率;反之,若检索到无关甚至错误的上下文,幻觉出现的可能性则会进一步增大。

因此,为各类安全分析任务探寻高效、可靠的检索增强生成架构具有重要意义。在已提出的多种方法中,多智能体检索增强生成系统试图通过智能体间的协同配合发挥作用,每个智能体均可通过检索增强生成技术访问专属文档集。本文以安全工程工作流中普遍存在的问题 —— 为存在已知缺陷的特定系统元件推导安全需求为研究对象,探究定制化的基于智能体的检索增强生成方法的实际效果,为如何利用基于检索增强生成的大语言模型系统支撑安全分析流程提供重要参考。

2、研究背景

安全需求推导的通用流程

汽车领域的安全需求推导工作,主要依据《道路车辆 功能安全》(ISO 26262,国际标准化组织,2018 年)和《道路车辆 预期功能安全》(ISO 21448,即 SOTIF,国际标准化组织,2022 年)等核心标准。其中,ISO 26262 聚焦功能安全,通过降低系统故障(硬件 / 软件故障)风险保障安全;ISO 21448 则针对无故障情况下的性能限制和误用场景,研究预期功能的安全性问题。ISO 26262 为汽车系统全安全生命周期提供了指导规范,而安全需求的推导基础,源于概念阶段按顺序开展的安全生命周期工作,具体分为三个步骤:1)系统定义;2)危害分析;3)安全目标与需求制定。

该流程始于项目定义,项目定义需明确系统的各项功能、接口、边界,以及系统与其他系统、用户间的运行环境关联,核心是描述系统的用途和应用场景。完成系统定义后,需结合系统的运行模式和运行设计域,识别具体的运行场景。后续的危害分析则依据汽车行业标准中规定的危害与风险分析方法开展。

危害与风险分析是各领域专属的结构化流程,用于评估危害、相关风险及所需的安全措施,也是提取安全需求的前提,其核心目标是识别可能造成伤害的危害场景。工作人员会采用危害与可操作性分析等方法,识别系统偏离预期运行状态的潜在可能性,进而推导出危害场景。对于每个识别出的危害事件,需从严重性、暴露概率和可控性三个维度评估相关风险,并根据评估结果确定汽车安全完整性等级。

危害与风险分析报告需记录危害、相关风险等级及汽车安全完整性等级分类。针对每个识别出的危害事件,需制定对应的安全目标,以应对或控制相关风险;其中,相似的安全目标会进行整合,整合后的安全目标取各目标中最高的汽车安全完整性等级。为实现这些安全目标,需制定高层级安全需求,由于此类需求面向整个系统,需通过故障树分析等方法,将其转化为特定子系统或单个元件的具体需求。针对具体元件的需求,能够有效预防元件失效、元件间通信过程中消息损坏或丢失等情况。

上述工作均由各相关方团队和安全专家协作完成,这类工作的特性决定了其需要工作人员开展头脑风暴、具备丰富的领域过往知识,且严格遵循相关标准规范;同时,工作人员还需理解每个阶段的输出结果,因为这些结果是下一阶段工作的重要输入。简言之,安全分析工作流中的各项任务,高度依赖安全专家所掌握的复杂领域专业经验,包括对相关标准的熟悉程度。大语言模型辅助工具应具备安全专家所需的上述能力特征。

检索增强生成技术

大语言模型通常需经过微调或重新训练,才能在特定领域的自然语言处理任务中达到最优效果。但如果微调训练集的样本质量低或数量不足,模型的回答质量仍会较差;此外,预训练大语言模型还可能生成存在事实错误的回复,即产生幻觉。刘易斯等人于 2020 年提出的检索增强生成模型,为解决上述问题提供了一种高成本效益的方案。

在检索增强生成技术中,外部信息会被向量化并存储于向量数据库;当预训练检索模型可访问该知识库时,检索增强生成模型就能基于提供的知识生成输出,同时保持回复的多样性、事实性和针对性。近年来,业界涌现出多种相关改进方法,旨在获取更具针对性、相关性的上下文,同时提升检索质量。

相关研究

齐等人研究了大语言模型在系统理论过程分析中的应用,利用大语言模型对自动紧急制动系统和电力需求侧管理系统两个案例开展系统理论过程分析,并推导对应的安全需求集。该研究探索了人类专家与大语言模型的多种协作模式,分析了输入复杂度和提示词工程对大语言模型输出结果的影响,同时强调,由于大语言模型缺乏特定领域知识,易生成与事实不符、不一致的输出,因此安全分析工作仍需人类安全专家的补充参与。

努里等人探索了利用大语言模型实现危害与风险分析的自动化,设计了基于大语言模型的危害与风险分析流程,并通过整合安全专家的反馈对该流程进行优化。该研究指出,大语言模型在理解汽车和安全领域的专业术语与流程方面存在不足,同时难以解读以图表形式呈现的技术信息;此外,模型生成的安全需求中,“应”“必须” 等情态动词的使用存在不一致问题,而这类词汇在汽车安全领域具有特定含义。为解决上述问题,研究人员将危害与风险分析拆解为多个子任务,为每个子任务设计专属的上下文、指导方案和提示词;同时,将背景信息融入提示词,引导模型进行逻辑推理并生成输出,以此缓解幻觉现象,提升结果的可解释性。

盖斯勒、罗舍尔和特拉普探讨了一种融合大语言模型与传统方法的安全工作流,适用于系统图中的故障传播分析等场景。在该工作流中,首先通过预设分类引导大语言模型智能体,识别输入提示词所反映的具体问题;随后,利用大语言模型分析得到的变量,通过确定性工具实际解决问题。

西瓦库马尔等人开展了另一项相关研究,评估了大语言模型基于目标结构化标记法理解并生成安全案例的能力,通过与其他参考研究论文推导的真实安全案例对比,验证模型生成安全案例的正确性。该研究发现,除了幻觉现象、生成内容的词汇准确性等问题外,参考安全案例的上下文信息缺失,会限制模型生成安全案例的范围和全面性。与该研究聚焦安全案例生成不同,戈哈尔等人利用大语言模型识别论证案例中各类主张的潜在反驳点,通过基于角色的提示词对每个主张进行迭代处理,验证了大语言模型在零样本场景下识别潜在反驳点的有效性。

上述研究均围绕大语言模型与安全分析流程的结合展开,但大多采用零样本提示词或改进的提示词工程技术,探究大语言模型在特定任务中的应用。这些研究普遍发现,大语言模型存在幻觉现象,且缺乏特定领域知识。本文在现有研究基础上进一步探索,提出基于智能体的检索增强生成方法,为安全分析流程提供更贴合实际需求的辅助支持。

3、研究方法与实验设置

定制化的基于智能体的检索增强生成方法

为在融入特定领域知识的同时,避免为特定任务对大语言模型进行微调或重新训练带来的高昂成本,本文提出一种创新方法,在传统检索增强生成方法的基础上进行优化,利用文档智能体处理更复杂的任务。该策略通过严格基于提供的领域知识开展工作提升可靠性,进而缓解幻觉现象;此外,文档智能体的采用让系统结构具备模块化和可扩展性,能够适配持续更新的特定领域知识。

图 1 展示了传统检索增强生成方法的工作流程:首先,利用嵌入模型将特定领域的文档知识转化为保留语义信息的向量表示;将不同格式的相关文档解析为不同的文本块,为每个文本块添加元数据后进行向量化处理,供大语言模型使用;将向量表示存储于向量数据库索引中,以便后续检索。检索过程由查询引擎完成,该引擎作为人工智能模型与索引间的接口,实现检索功能并将查询语句转换为索引可识别的格式。检索时,通过相似度算法将查询语句的向量表示与存储的文本块向量进行对比,筛选出与查询相关的文本块;最后,将检索到的文本块作为上下文,与查询语句一同输入大语言模型,由模型生成回复。

图 1、该检索增强生成流程展示了领域知识如何被预处理、存储,以便后续作为上下文被检索,并与用户查询一同作为大语言模型的输入。图中绿色高亮的定制化方法替代了传统检索增强生成方法,该定制化方法实现了精细化的上下文检索机制,其详细内容如图 2 所示

在传统检索增强生成流程的基础上,本文为不同文档集配置了专属的文档智能体。如图 2 第三步所示,每个文档智能体均为一个查询引擎,包含向量数据库索引和摘要索引。其中,摘要索引由杰瑞・刘于 2024 年提出,是一种迭代的分层文档摘要方法,通过构建树状结构,在不同层级存储文档的摘要信息,能够处理篇幅较长、结构复杂的文档,同时保留文档的核心抽象信息。为两种索引分别配置对应的查询引擎,并为其添加明确的功能描述:向量查询引擎用于解答与文档相关的事实性问题,摘要查询引擎用于解答与文档相关的总结性问题。

图2、该图(按从上到下的顺序)展示了本文提出的基于智能体的检索增强生成方法中,上下文检索机制的工作流程步骤,通过该流程可获取精细化的上下文信息

当需要从某一文档中检索相关上下文时,系统会根据查询语句的类型,调用对应的向量查询引擎或摘要查询引擎,该选择功能基于 OpenAI 智能体框架实现,最终形成该文档的专属文档智能体。文档智能体负责选择文档对应的查询引擎,而文档工具则负责筛选出合适的文档:为每个文档的智能体配置一个查询引擎,并添加 1-2 行文档内容描述;将多个文档工具整合索引,构建顶层文档智能体。

如图 2 第二步所示,顶层文档智能体在接收用户查询语句后启动,检索出相关性最高的 3 份文档;随后,将同一查询语句输入这 3 份文档对应的文档智能体,由文档智能体选择合适的查询引擎;查询引擎生成精细化的上下文信息,若文档中无相关信息,则舍弃该上下文;最后,将所有精细化上下文与用户输入一同输入大语言模型,由模型生成最终输出结果。

实验数据集

为验证本文提出的方法,研究选取公开的阿波罗自动驾驶感知系统案例作为研究对象,从该案例的《设计评估》部分提取了 58 组问答对(其中 30 组基于安全策略,28 组基于机器学习设计元件),这些问答对由安全专家制定,涵盖关键系统元件及其对应的安全需求。

在实验设置中,将安全需求作为真实参考答案,查询问题则由系统元件(或元件组合,又称 “流程链”)、已知缺陷,以及(若有)触发条件拼接而成。所有查询问题均嵌入系统提示词中,遵循提示词工程的最佳实践,将系统提示词设计得尽可能具体,消除任务相关的模糊性。

实验数据集中的单个数据样本示例如下(另见附表):

本实验的任务为:让大语言模型根据输入信息生成安全需求,并通过后续章节介绍的指标,将模型输出结果与真实参考答案对比,评估模型性能。实验中,将阿波罗案例的全部文档作为检索增强生成的源材料,但排除包含真实参考答案的安全需求文档;同时,在检索增强生成可访问的文档库中,补充了《道路车辆 人工智能安全》、ISO 26262、ISO 21448、《道路车辆 自动驾驶系统的安全与网络安全 设计、验证和确认》(ISO/TR 4804,国际标准化组织,2020 年)和《关于自动车道保持系统车辆认证的统一规定》(UN 157,联合国欧洲经济委员会,2021 年)等相关汽车行业标准内容。

实验模型

实验采用预训练的 GPT-3.5 模型,既用于生成预测结果,也作为评估各指标的评判大语言模型,且均使用模型默认的温度参数。实验对比了三种方法的性能:传统检索增强生成方法、本文提出的基于智能体的检索增强生成方法,以及无检索增强生成上下文的纯大语言模型调用方法。

实验基于 LlamaIndex 库和 FAISS 向量数据库,实现了传统检索增强生成流程和本文提出的改进流程;向量数据库中解析上下文时,采用默认的文本块大小。

评估指标

为评估不同方法的性能,实验采用表 1 所列的指标,各指标均基于(问题、检索上下文、大语言模型回答、参考答案)四元组的子集进行计算。其中,检索精准度直接评估上下文检索步骤的质量,而增强准确性、增强精准度和回答一致性则聚焦于上下文与回答之间的语义匹配度。

表1、改编自 Tonic AI(2024 年)的选定评估指标

实验结果

图 3 展示了利用本文提出的基于智能体的检索增强生成方法,对安全需求数据集的评估结果,并与纯大语言模型调用(仅参与归一化回答相似度得分评估)和传统检索增强生成两种基准方法进行对比。通过实验得出以下结论:

1、两种检索增强生成方法的归一化回答相似度得分相近,甚至与无检索增强生成的纯大语言模型调用方法也相差无几。这表明,平均而言,大语言模型能够利用通用知识生成与正确答案相似度较高的回答。实验进一步验证,采用 BERT 得分等其他相似度指标时,三种方法的结果也仅有微小差异。但对部分示例的分析显示(见表 2),基于检索增强生成的回答包含人类用户认为有用的额外信息。例如,针对降雨导致摄像头系统性能下降的问题,无检索增强生成的大语言模型仅指出,该情况不得导致对其他车辆或障碍物的状态估计出现错误;传统检索增强生成的大语言模型回答则进一步提及应激活备用传感器;而基于智能体的检索增强生成方法的大语言模型回答,还结合阿波罗系统架构,明确了雷达、激光雷达等具体的备用传感器类型,体现出该方法在安全需求推导中捕捉细节的能力。尽管如此,评判大语言模型为所有回答给出的归一化回答相似度得分仍相近。由此可见,归一化回答相似度得分、BERT 得分等相似度指标,无法捕捉到人类审核人员可能关注的细微差异。研究认为,在更复杂的问题场景中,或使用通用知识储备较少的小型大语言模型时,归一化回答相似度得分的区分度会更高。

2、本文提出的基于智能体的检索增强生成方法,其检索精准度显著高于传统检索增强生成方法。在基于智能体的方法中,用于评估的上下文是经检索增强生成智能体多次调用后预处理得到的信息,这种多步骤处理方式能够将原始源文档的文本块浓缩为简洁的摘要,且该摘要与查询语句的语义高度相关;而传统检索增强生成方法仅从源文档中检索原始文本块作为上下文,可能导致检索到的文本块仅与提示词中的个别关键词(如 “缺陷”“标准名称” 等)匹配,却偏离了查询的整体语义。实验还发现,传统检索增强生成方法易受单一文档的局限,即检索器从同一文档中提取所有高相关性文本块,而该文档往往并非与查询最相关的文档。检索精准度得分较低也表明,传统方法易检索到大量无关信息块(见表 2);与之相反,基于智能体的检索增强生成方法能更有效地融合不同文档源的信息。

3、由于基于智能体的方法对检索到的上下文进行了浓缩处理,大语言模型的最终回答与检索上下文高度契合,这一点体现在该方法的增强准确性、增强精准度和回答一致性得分均较高。传统检索增强生成方法的增强精准度得分也较高,表明该方法若能检索到相关上下文,也能将其融入大语言模型的回答中;但该方法生成的回答通常包含上下文未提及的内容(增强准确性、回答一致性得分较低),这些内容由模型基于通用知识生成。而基于智能体的检索增强生成方法在预处理阶段就已剔除无关上下文,因此其增强准确性、增强精准度和回答一致性得分均处于较高水平。

图3、表1中选定指标在10次独立运行后的平均值与标准误差

表2、同一提示词下不同检索增强生成方法的大语言模型回答示例

4、结论与展望

针对本次实验所用的安全需求数据集,研究发现:无检索增强生成、传统检索增强生成两种方法均能让大语言模型生成与参考答案相似度较高的回答。但对检索精准度、增强准确性、回答一致性等指标的进一步分析表明,本文提出的基于智能体的检索增强生成方法,检索到的上下文相关性显著高于传统检索增强生成方法。

研究认为,本次实验的问题设置(所用数据集和模型)相对简单,未能充分体现基于智能体的检索增强生成方法的全部优势:大语言模型仅利用通用知识就能生成较好的答案,导致检索上下文的质量仅靠回答相似度这一指标无法体现出显著差异。尽管如此,该方法能检索到相关性明显更高的上下文,这一结果对于安全关键型应用而言,具有重要的参考价值和发展前景。

进一步分析还发现,以归一化回答相似度得分为代表的基于大语言模型的相似度指标,无法全面捕捉生成需求的所有质量特征。尽管本文未开展人类专家审核验证,但研究推测,在人类专家的评分体系中,基于智能体的检索增强生成方法因能提供更多潜在有用的细节,表现会优于传统检索增强生成方法。

作为后续研究方向,团队将在更复杂的数据集或更简单的大语言模型中测试该方法,以建立检索上下文相关性与大语言模型回答质量之间更紧密的关联。

附表

表3、以表2示例为对象,检索精准度、增强准确性、增强精准度、回答一致性指标的上下文溯源与成分分析

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐