我用 AI 建了一座 AUTOSAR 知识图谱:从 R22-11 规范到可交互的 Architecture Atlas

作为 AUTOSAR SWC 开发工程师,我最大的日常痛点是:AUTOSAR 的知识散落在几百页官方 PDF、零散的社区文章和我的记忆里。29 个模块、290 个 API、复杂的跨层依赖——查一个"这条 CAN 信号到底怎么从物理层走到应用层",要在规范、同事和代码里翻半天。

于是我做了件"网上还没有"的事:用 AI 把 AUTOSAR Classic R22-11 规范体系结构化,炼成一座可交互、可检索、可导入的知识图谱——它不是一个 Demo,而是一套能长期使用、能验证、能进团队协作的知识资产。

Architecture Atlas 产品卡片


一、它是什么:不止"看图",是四种形态的知识资产

这个项目以 AUTOSAR Classic Platform R22-11 为事实基线,沉淀了:

规模内容
29 个核心模块ADC / CAN / CanIf / CanTp / Com / Dcm / Dem / NvM / PduR / RTE / OS / MCAL…
290 条 API 参考固定标准 API 名称、归属模块、调用方向、版本来源
339 个图节点模块 + API + 架构层概念 + 运行时流程
376 条关系边模块依赖、调度激活、回调通知、调用流向、CDD 例外访问

同一份模型,输出 四种可直接使用的形态:

  1. 交互式 Web 图谱(Architecture Atlas)—— 浏览器打开就能用,完全离线;
  2. Obsidian 双向链接知识库 —— 像逛 Wiki 一样逛 AUTOSAR;
  3. Neo4j Cypher 导入脚本 —— 在真·图数据库里做影响分析;
  4. Markdown / CSV 结构化数据 —— 带 frontmatter 的事实源,AI Agent 可以直接检索。

二、亮点 1:可交互的 Architecture Atlas

图谱不是一张静态大图,而是一个 Cytoscape.js 驱动的交互式 IDE。默认的行星轨道布局把 Hardware 放在核心,MCAL → ECU Abstraction → BSW Services → RTE → Application 依次向外分轨,一眼看懂分层结构:

行星轨道全貌

五种布局覆盖不同分析视角——架构泳道强调分层、关系星云强调聚类、调用瀑布强调时序、影响波纹强调传播:

架构泳道布局

关系星云布局

细节上做了工程向的取舍:Camera LOD(缩放自动降载)、节点/边的完整语义标签、搜索定位、PNG 导出。整套应用零依赖、完全离线,拷到工程电脑上就能用。


三、亮点 2:从信号到硬件的调用链可视化

这是我认为最有工程价值的功能。图谱里内置了 CAN / 诊断 / 存储 / SPI / Ethernet 等真实调用链,输入起点和终点,自动追踪跨层最短路径:

聚焦 RTE 的 1-hop 图谱

Rte → Can_Write 的调用链 Trace

比如从 Rte 到 Can_Write,7 步走完一条真实的下行调用链。这对下面这些场景特别有用:

  • 新人上手:一条 CAN 信号从 Can Driver → CanIf → PduR → Com → RTE → SWC 的完整路径,可视化比读十篇教程都快;
  • 影响分析:改了 CanIf 的一个接口,下游谁在依赖?上游谁在调用?
  • 面试/述职:把"我懂 AUTOSAR 分层"变成一张能现场讲解的图。

四、亮点 3:可检索的知识资产(Obsidian + Neo4j + AI Agent)

交互式图谱只是"看",这个项目真正特别的是——同一份模型可以进 Obsidian、进 Neo4j、喂给 AI。

  • Obsidian:模块页带 frontmatter 和双向链接,点开 RTE 就能看到它依赖谁、谁依赖它、暴露了哪些 API;
  • Neo4j:Cypher 脚本一键导入,可以在真图数据库里跑"改了 NvM 会影响哪些模块"这类查询;
  • AI Agent:结构化 frontmatter + 调用链就是现成的 RAG 语料。把知识图谱喂给 LLM,等于给它装了一个"行走的 AUTOSAR 手册"——这正是 AI 时代工程师知识资产的新形态。

五、亮点 4:确定性生成 + 可验证(区别于"AI 生成的野内容")

网上 AI 生成的技术内容最大的问题是不可信。这个项目的构建方式是工程化的:

结构化模型(唯一事实源)
      ↓ 确定性生成器
Markdown / CSV / Cypher / 图谱数据
      ↓ 自动校验器
PASS:链接、API 表、图导出、manifest 全覆盖
  • 确定性:连续跑两次生成器,产物 diff 为空,可重建可追溯;
  • 可验证:validate 返回 PASS,链接不悬空、API 表不缺失;
  • 可审计:固定标准 API 用本地官方 R22-11 PDF 逐条比对(verify_autosar_api_sources.py),不把供应商私有 API 冒充成 AUTOSAR 标准 API。

六、怎么用 / 在哪里

  • 在线体验:https://jeffrey.xin/atlas/
  • 本地:仓库 viewer/ 目录,双击 index.html 即用,全程离线;
  • Obsidian:把 AUTOSAR-Knowledge-Graph/ 作为 vault 打开;
  • Neo4j:导入 11_GRAPH_EXPORT/*.cypher;
  • 技术栈:Python 3.10+(模型/生成器/校验器)+ Cytoscape.js(前端)+ Obsidian / Neo4j(消费端)。

七、写给同行的话

做这个项目最大的体会:在 AI 时代,工程师的差异化不在于"知道得多",而在于把经验结构化、可查询、可复用。 知识图谱不是终点,而是让工程知识"活起来"的起点——它让我从一个"查资料的工程师",变成了"知识资产的构建者"。

如果你也在做 AUTOSAR / 汽车软件,欢迎体验并交流。下一步我计划加入更多供应商实现示例、运行时时序视图,以及让 Agent 直接基于图谱回答"影响分析"类问题的能力。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐