☰
REANA:用多Agent智能体工作流打通汽车三安体系自动化
2026/10/8 10:05:59 网站建设 项目流程

做了快十年的汽车功能安全工程师,我一直有个很深的体会:真正让项目卡壳的,往往不是某个棘手的失效模式分析不出来,而是功能安全、SOTIF和信息安全三套标准体系同时压过来时,文档产出根本跟不上进度。这个月补HARA,下个月赶TARA,中间还得穿插场景分析和攻击路径梳理,每一样都是纯手工活。去年底我把REANA这套基于Agent的工作流引入日常之后,最直观的变化不是"自动写文档"这个表象,而是从"人建模型"变成了"Agent建初稿"——我自己从建模员变成了审查者和决策者。这篇文章就聊聊REANA怎么把三安体系串成一个智能体流程,以及我在实际搭这套东西时踩过的坑和总结下来的经验。

这套东西适合谁?如果你所在的车企或供应商正在同时推进ISO 26262功能安全、ISO 21448预期功能安全(SOTIF)和ISO 21434信息安全体系的落地,而你们团队已经有至少一个懂三安标准的人,同时对Agent、提示词工程不算陌生,那这篇文章应该能帮你少走不少弯路。

1. 为什么"三安"需要Agent,而不是继续堆人力和模板

1.1 三套标准并行带来的交付物海啸

先列一组数字感受一下。功能安全侧的ISO 26262,从概念阶段到系统级开发,核心交付物包括HARA(危害分析与风险评估)、安全目标、功能安全概念、技术安全概念、FMEA/FTA分析报告、功能安全需求规格等;SOTIF侧的ISO 21448,要求做SOTIF相关危害识别、触发条件分析、场景覆盖度论证、使用场景评估;信息安全侧的ISO 21434,又要求TARA(威胁分析与风险评估)、网络安全目标、网络安全概念、攻击路径分析、漏洞管理计划。

举个真实项目的例子:一套带L2+领航辅助功能的域控制器,光概念阶段的交付物就是几十份文档。传统做法是三个工程师小组并行推进,功能安全组做危害分析,SOTIF组做场景枚举,信息安全组做威胁建模。表面上是分工明确,实际上三份文档之间充满了隐性的耦合关系——一个SOTIF触发条件往往对应着功能安全里的某条安全目标,一条信息安全攻击路径可能直接影响功能安全的安全机制设计。结果就是大量评审时间花在了"三份文档对齐"上,而不是花在分析本身的深度上。

1.2 "人建模型"的天花板在哪里

"人建模型"这个说法,指的是传统工作模式下,所有的安全分析模型——无论是一张FMEA表格、一条攻击树,还是一组场景标签——都需要工程师手工逐行填写、逐项推导。这个模式的瓶颈不是建模能力本身,而是人脑的带宽有限。一个承担三安分析职责的工程师,一天能处理的危害条目、场景组合、威胁路径数量是存在物理上限的。

以HARA中的典型分析为例,一个中等复杂度的功能,危害事件通常有几十到上百条,每条危害事件需要评估S(严重度)、E(暴露度)、C(可控性),给出ASIL等级,再推导出安全目标。如果功能数量多、运行场景复杂,这个工作量会指数级上升。更麻烦的是SOTIF那边还要做触发条件分析,信息安全那边要做攻击可行性评估,三套分析在概念上共享大量底层信息,但在传统流程里,这些信息被重复输入了三遍。

这时候Agent能帮上的忙就很清楚了:它不取代人的判断,但能把"建立初稿"这个最耗时的环节大幅压缩,把人的精力解放到真正需要专业判断的地方去。这也是我把这套东西命名为REANA的原因——Regulatory Engineering Agentic Normative Assistant,一个专注于安全合规工程领域的Agent助手。

2. REANA的整体架构与设计思路

2.1 从"写文档"到"建初稿"的角色重新定义

在动手搭REANA之前,我和团队讨论最多的问题不是技术选型,而是"Agent到底应该承担什么角色"。如果Agent只负责总结文档、润色措辞,那它的价值非常有限;如果指望它完全替代工程师做安全决策,又不符合标准体系的初衷。

最终的定位是:Agent负责"建初稿",人负责"判定和决策"。什么是初稿?就是一份包含完整结构、初步分析结果、引用了标准条款依据、标注了待确认项的草案。工程师拿到初稿后,用20%的时间做修正和补全,而不是从零开始用100%的时间做搭建。这个定位听起来朴素,但它彻底改变了工作流程。

举个例子,在传统HARA流程中,工程师要自己枚举功能失效模式,然后逐个分析危害事件。而REANA的做法是:输入功能定义和系统边界,Agent自动生成一份包含候选危害事件列表、初步的S/E/C评级建议、对应ASIL建议以及标准条款引用的HARA初稿。工程师只需要在评审时确认或者修正评级。这中间的差异不是简单的时间节省,而是分析起点从"空白页"变成了"待审稿"。

2.2 三安知识底座怎么搭

REANA的核心底座是一套面向三安领域的知识库。这部分的搭建质量,直接决定了Agent产出的专业度。我在这块踩过不少坑,比如第一版直接用通用大模型对话方式去问,结果是它给出的分析"看起来很有道理,但一深究就露馅"。后面换成了RAG(检索增强生成)架构,才真正解决这个问题。

知识库主要包含四层内容:

第一层是标准原文和条款映射。把ISO 26262、ISO 21448、ISO 21434的中英文版本、关键条款、术语定义做结构化处理,并为每个标准章节建立可检索的索引。这一层的作用是让Agent在生成内容时能够引用具体的条款编号,而不是泛泛而谈。

第二层是公司内部的最佳实践模板。包括经过评审的历史项目交付物、经过验证的HARA条目范式、TARA攻击路径库、SOTIF场景标签体系等。这一层最关键,因为它让Agent输出的初稿符合公司既有的文档风格和质量基线,而不是生成一份需要大量改造的"通用内容"。

第三层是领域术语表和同义映射。三安领域有大量跨标准术语,比如"危害"在功能安全里是harm,在SOTIF里是hazardous behaviour,在信息安全里是damage。Agent需要理解这些术语在三个标准体系中的异同,才能做好跨领域的内容生成。

第四层是项目级事实库,包括当前项目的功能列表、系统架构、运行场景描述、已确认的安全目标和项目约束。每次新项目启动时,这一层会被更新,确保Agent的生成内容与当前项目上下文对齐。

2.3 为什么选多Agent编排而不是单一Agent

我在实际搭建中发现,用一个全能的Agent去处理三安分析,效果远不如拆成多个专职Agent协作。原因有两条。第一,三套标准的分析方法论差异很大——HARA偏重系统性危害推理,SOTIF偏重场景枚举和触发条件分析,TARA偏重威胁建模和攻击路径推理——单一Agent很难在这三者之间无缝切换,容易用一种分析范式硬套所有问题。第二,多Agent协作时可以引入"校验Agent"这个角色,对执行Agent的产出做独立的逻辑检查,这在单一Agent里很难实现。

REANA的Agent编排分三个层级。最上层是协调Agent,负责理解用户的任务请求、拆解子任务、调用下游执行Agent、汇总生成结果。中间层是执行Agent组,分别负责功能安全分析、SOTIF分析、信息安全分析、需求生成、验证用例生成。最底层是工具层,包括RAG检索器、规则引擎、模板渲染器和外部工具接口。

这里有个设计细节:执行Agent之间并不是完全隔离的,它们共享一个"分析上下文"内存。比如功能安全Agent在生成安全目标后,这个安全目标会被同步传递给SOTIF Agent和TARA Agent,作为它们分析的输入约束。这样就天然保证了三安文档之间的逻辑一致性,解决了我前面提到的"三份文档对齐"痛点。

3. 实操:从需求文档到Agent建初稿的核心流程

3.1 第一步:项目上下文与功能定义的喂入

REANA整个流程的第一步,是把项目上下文结构化地喂给Agent。这一步做得够不够好,直接决定了后面所有产出的质量。我的建议是不要只丢一段文字描述,而是用结构化的方式组织输入。

以AEB(自动紧急制动)功能为例,需要输入的内容包括功能清单(AEB的触发条件、介入逻辑、退出条件)、系统边界(传感器配置、执行器范围)、整车级运行场景(高速、城区、雨雾天气等)、以及相关的假设条件。

实际操作中,我会在REANA里维护一份"项目主数据表",大致长这样:

输入对象内容示例备注
功能定义AEB 车辆纵向碰撞避免含子功能拆解
系统边界前向毫米波雷达 + 前视摄像头明确感知冗余
运行场景高速公路跟车、城区交叉口、雨天、隧道含天气/光照/路面条件
约束条件最高车速80km/h以内触发项目早期的假设
历史基线上一代AEB项目HARA/TARA数据用于初稿风格对齐

这些信息整理完后,协调Agent会自动生成一份"分析任务单",明确本次要做哪些分析、输出什么格式的初稿、需要引用哪些标准条款。这个任务单相当于传统工作流里的开工会议纪要,但它是自动生成的。

3.2 第二步:HARA、SOTIF场景识别与TARA的联动生成

这是REANA价值最明显的环节。传统流程里,HARA、SOTIF场景识别、TARA是三个分开的会议,每个会议开两到三天,产出三份独立文档。REANA把这套流程变成了一个联动生成的流水线。

先说HARA部分。执行Agent收到AEB功能定义后,会先从支撑条件RAG中检索同类功能的HARA模板和危害事件库,再基于功能失效逻辑生成候选危害事件。比如"AEB在低速工况下误触发导致后车追尾"这样的危害事件,Agent会给出SAE评级建议值,引用ISO 26262-3:2018中关于S、E、C评级的条款,并推荐ASIL等级。

SOTIF部分,Agent会重点分析"功能不足"(Performance Limitation)和"误触发"(Misuse)这两类场景。注意,传统的HARA主要关注"系统失效"(如硬件故障),而SOTIF关注的是"预期功能不足",比如雷达在暴雨中性能下降导致AEB没有及时介入。REANA的SOTIF执行Agent会单独列出触发条件清单,并为每条触发条件关联到对应的SOTIF相关危害事件。

TARA部分则完全不同。信息安全的执行Agent基于资产识别、威胁建模的方法论,枚举出AEB相关资产(如毫米波雷达数据、制动控制指令、OTA升级包),分析攻击路径。最有意思的是,TARA Agent在生成威胁场景时,会自动调用HARA分析中已经确认的安全目标,标注"该威胁攻击成功后可能导致XX安全目标受限",实现信息安全分析向功能安全分析的桥接。

这个联动生成的产出是一份"三安联合分析初稿",里面同时包含HARA表、SOTIF场景清单和TARA威胁清单。工程师拿到这份初稿后开评审会,效率至少提升两倍,因为原本要开三天的会议现在主要聚焦在争议点的讨论上,而不是基础信息的确认上。

下面贴一段我在REANA里实际用过的任务指令模板,供参考:

请基于以下项目上下文生成AEB功能的三安联合分析初稿: 【功能定义】 AEB为车辆纵向碰撞避免功能,当前配置为前向雷达+摄像头方案, 在车速4-80km/h范围内介入,支持行人检测场景。 【需要进行分析】 1. HARA分析:故障模式、危害事件、SAE评级、ASIL建议 2. SOTIF分析:触发条件枚举、误触发场景、性能局限性 3. TARA分析:资产清单、威胁场景、攻击路径、风险评估 【格式要求】 每项分析必须引用对应标准的条款编号; 对不确定的项目以[待确认]标注; 按标准模板输出Markdown表格。

这个指令模板看起来简单,但实际效果比我预想的好很多。因为REANA的协调Agent会把我没有明确提到的中间步骤自动补齐,比如先识别运行场景、再映射危害事件、最后生成评级建议——它本质上是把一套分析方法论内化了。

3.3 第三步:安全需求规约的自动起草

HARA、SOTIF、TARA分析完成后,下一步自然是生成安全需求规约。这里的逻辑是:每一条安全目标(功能安全侧)、每一条SOTIF相关改进措施(降低触发条件风险)、每一条网络安全目标(信息安全侧),都需要转化为具体的安全需求条目。

REANA这一步的做法是"目标到需求的自动派生"。执行Agent会遍历所有安全目标,以功能安全为例,一条ASIL C的"AEB必须在识别到碰撞风险后300ms内输出制动请求"目标,会被派生为一条功能安全需求:需求编号、需求描述、ASIL等级、溯源关系(关联HARA条目)、验证方法建议等。

SOTIF侧的需求生成略复杂。Agent生成的不是硬性的安全目标,而是"相关项改进措施建议"。比如针对"暴雨天气下摄像头性能下降"这个触发条件,Agent会建议增加"感知置信度融合策略,当摄像头置信度低于阈值时,制动策略降级为仅依赖雷达"这样的措施。这些措施会带优先级标签和关联的触发条件编号,方便在开发阶段做验证闭环。

信息安全侧的需求生成则是在线融合了ISO 21434-5的知识库。针对TARA中高风险的攻击路径,Agent会生成网络安全需求,比如"诊断会话必须基于SecOC机制实现消息认证"这样的具体条目。

最终输出的是一份"三安需求矩阵"Markdown文件,每一行都是一个需求条目,带类型标签(FS/SOTIF/CYBER)、优先级、来源、ASIL等级、验证建议。这份矩阵可以直接导入需求管理工具,也可以在评审会议中直接使用。

3.4 第四步:可追溯矩阵与验证用例初稿

最后一步是生成可追溯性矩阵和验证用例初稿。这一步在整个流程里是最繁琐但最容易被忽视的。我见过不少项目,安全分析做得很完整,但追溯性矩阵和验证用例跟不上,最终在功能安全评估或者网络安全评估时被审核员挑剔。

REANA的追溯矩阵生成逻辑基于需求条目之间的引用关系。因为前面三安需求矩阵里的每一条需求都已经标注了来源条目编号,Agent只需要遍历这些编号关系,就能自动生成一个从"危害事件→安全目标→安全需求→验证用例"的四级追溯矩阵。

验证用例初稿生成是我觉得最有"黑科技感"的部分。Agent会根据安全需求条目,自动生成对应的功能测试用例初稿。比如针对"AEB在碰撞风险下300ms内输出制动请求"这条需求,Agent会生成一条验证用例,包括测试场景(前方静止车辆)、测试条件(车速50km/h、干燥路面、能见度良好)、预期结果(在达到碰撞前完成制动介入)、通过标准(从识别到制动的响应时间≤300ms)。

别误会,这些验证用例远达不到生产可用的程度——真实的整车测试用例还要考虑硬件在环台架、实车底盘调校、天气环境模拟等多重维度。但它的价值在于,给测试工程师提供了一个完整的、可直接加工的初稿基座,把原本要花一周时间的用例编制压缩到一两天。

4. 常见问题与避坑实录

4.1 技术链路:LLM和RAG仍是绝对核心

第4.1节改成技术链路说明:REANA底层的大模型和检索链路,决定了Agent产出的天花板。我在搭建时最开始用的是一套通用大模型直接接RAG,效果不稳定。后来做了两个关键优化,产出质量明显上了一个台阶。

第一个优化是"分而治之"的检索策略。三安分析涉及的领域知识跨度很大,如果把所有标准条款、历史项目数据、术语库都塞一个向量库里,检索相关性会互相干扰。我把知识库拆成了功能安全、SOTIF、信息安全、项目事实四个子库,协调Agent根据任务类型路由到对应子库。比如SOTIF执行Agent只查SOTIF子库,不查ISO 26262的历史HARA数据。这样既降低检索噪声,也减少了生成时"张冠李戴"的概率。

第二个优化是"引用约束"。REANA的每个执行Agent生成内容时,都强制要求带上标准条款编号。这是通过提示词层面的约束加输出后置校验实现的。如果某条分析没有引用条款编号,生成结果会被拦截重新生成。这个操作看起来死板,但实际对质量的提升是关键性的——它逼着Agent去检索知识库而不是"凭印象生成"。审核员在评审时看到每一条分析都有条款依据,信任度完全不一样。

下面是我实际用的一个简化版提示词示例,核心是把"审查"责任稳固地交给Agent内部:

你是汽车三安分析专家。你的职责不是替工程师做决定,而是生成一份结构清晰、有条款依据、标注不确定项的初稿。 生成规则: 1. 所有结论必须引用ISO 26262、ISO 21448、ISO 21434的具体条款编号 2. 包含[待确认]标记,明确告知需要人工决策的内容 3. 使用模板格式输出,保持与历史项目的结构一致性 4. 不得自行使用未经验证的术语和假设

这套"引用约束"的方法,本质上是一种轻量的流程约束。它牺牲了一点点生成内容的自由度,但换来了合规审查中最看重的审计线索,这在汽车安全领域是价值的核心。

4.2 内容验证:别高估Agent的"专业判断"

我在项目早期吃过的最大亏,是让Agent直接输出ASIL等级和安全目标,结果在一个关键功能上出了偏差。原因不复杂:Agent的评级建议是基于对历史数据的统计模式推出来的,它并不真正理解"这个功能失效后,车上乘员可能承受多大的伤害"这个物理含义。这类判断是需要场景知识和工程直觉的,人和Agent在这方面有质的差距。

所以REANA的内容验证环节被我设计成了三层。第一层是规则校验,用规则引擎检查评级取值范围、标准引用编号是否合法、需求编号是否重复、追溯关系是否存在断链。第二层是Agent自检,由一个独立的校验Agent扮演"同行评审"角色,检查执行Agent的输出是否存在逻辑矛盾。第三层是人工评审,由功能安全工程师、SOTIF工程师和网络安全工程师组成的评审组对初稿做最终确认。

这三层验证里,最值得谈的是校验Agent的设计。它的提示词思路和生成Agent完全相反,核心是挑毛病。它会主动寻找评级不一致的地方,比如同一危害在前后两条记录里S级一个评4一个评3,或者某个安全需求的ASIL等级低于其派生目标应有的等级。这类问题靠人工检查耗时很大,但校验Agent做这个特别擅长。

4.3 团队协作:Agent产出不等于免评审

REANA上线后最大的一次争议,是团队里有人担心"Agent产出的文档到底算谁的"。这个担心不是技术问题,而是流程主权问题。传统工作流中,文档作者是明确的,责任是明确的。Agent参与后,如果评审流程不变,工程师会觉得"这不是我写的,我不太敢认领"。

我的解决方式是明确一个流程:REANA的所有产出初稿,最终都经过人工确认后,才进入受控文档库。而且初稿的封面会标注"初稿由REANA生成,经XXX人工确认",保留了完整的生成和评审记录。实际执行下来发现,这套"Agent建初稿、人确认负责任"的模式,反而比传统模式更容易通过项目内部的质量关卡,因为所有改动记录都有清晰的来源。

4.4 工具链集成:不要试图替换现有工具链

很多同行在做这类智能体时,容易掉进一个坑:期望Agent直接生成可导入既有工具链的文件格式,甚至直接操作需求管理工具、变更管理工具、验证管理工具。我试过,效果不理想。原因在于汽车行业的工具链都有严格的流程约束,直接开放数据写入接口给Agent,风险很大不说,还会成为安全审计的弱点。

REANA的实际做法是"边界外生成,人工导入"。Agent生成的都是标准Markdown、CSV或XML文件,导出后由工程师通过既有工具链的导入功能上传到需求管理平台。等车队真正对自动导入放心之后,再做工具链的受控集成。这个渐进式路径比一步到位稳妥得多。如果用的是比较封闭的历史项目数据,注意做脱敏处理。

5. 一点心得与经验

最后分享几点实际操作中的经验,供各位参考。

第一点,Agent化改造的切入点要选准。以三安联合分析为起点,是我评估了所有候选场景之后认为ROI最高的选择。因为它横跨三套标准且包含大量可模板化的分析内容,Agent化后产生的复用价值非常高。之后逐步扩展到需求生成和验证用例初稿,每一步都是跑通之后再进入下一个环节。

第二点,"人机信任"是靠流程设计建立的,不是靠说服。在REANA上线头两个月,团队里至少有一半人不愿意用。直到我们把"Agent生成初稿、人工向初稿做修改、最终反馈到消偏矫正"这整个闭环跑顺之后,大家才真正把Agent当成日常工具。信任的建立需要流程和证据,而不是让人说服。

第三点,也是我现在最深的体会:从"人建模型"到"Agent建初稿",本质上不是工具的替换,而是安全工程团队角色的转换。工程师不再是一个建模员,每天趴在表格里逐行填写,而是一个岗位更接近审稿人、仲裁者和决策者的角色。三安一体智能体REANA把我从"面对空白模板发愁"变成了"面对初稿做判断",这种转变带来的效率和体验感,是单纯加人、加时间换不来的。如果你也正在三安流程里被文档淹没,可以试试把初稿环节交给Agent,你会发现自己做分析的时间,终于花在了真正该花的地方。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询