乐于分享
好东西不私藏

Graph Coding 可能是 AI 研发大型工业软件的最终形态

Graph Coding 可能是 AI 研发大型工业软件的最终形态

什么是 Graph Coding

今年7,8月份的时候,Graph Coding这个概念开始流行,关于AI 写代码已经有很多概念了,比如vibe coding,loop coding,harness coding等等,但是个人认为:只有Graph Coding才能真正意义上解决AI研发大型软件的瓶颈。

其实Graph coding的概念也不是新出来的,只是现在到了可以落地实施,工业化大规模的门槛。

Graph Coding 目前没有统一的行业定义。本文使用这个名称描述一种 AI 研发方式:软件中的产品能力、系统组成、代码实现、研发任务和验证记录被组织成关系图,AI 根据这张图理解并持续开发整个项目。当前开源工具主要建立代码关系图,节点通常是文件、类和函数,边主要描述调用、导入和继承。

工业软件通常经过多年研发,产品内部积累了专业能力、历史兼容、客户需求和工程限制。源码记录当前实现,设计文档保存部分决策,研发人员掌握更多背景。AI 可以快速理解局部代码,却很难仅靠一次对话掌握整个产品。

AI 接手大型工业软件,需要一种独立于人员、模型和会话的项目认知结构。而Graph Coding 可以承担这个角色。

AI 接手的是一套持续演化的工程系统

CAD、CAE、EDA 和优化软件都在把专业知识转化为工程能力。产品中的系统相互依赖,一项局部修改可能影响多个专业环节。

系统工程通过产品能力、系统组成和依赖关系管理这种复杂性。AI 也需要看到同样的整体结构。它需要知道一项任务属于哪个产品能力,由哪个系统负责,周围有哪些依赖,当前支持范围有多大。

缺少这些信息时,AI 会从局部代码自行推断产品结构。多个智能体同时工作后,项目容易出现职责交叉和重复实现。

Graph Coding 可以把系统工程形成的整体认识转换成 AI 能够查询和维护的关系图。

Graph Coding 为 AI 提供产品地图

当前 Graph Coding 主要用于代码库理解。CodeGraph 等工具会索引文件、函数和调用关系,帮助 AI 查找执行路径和修改范围。RepoGraph 的研究也说明,仓库级结构可以改善 AI 处理软件工程任务的能力。

Graph Coding 应当描述产品拥有哪些能力,这些能力由哪些系统承担,系统之间怎样相互影响。代码、设计资料、研发任务和当前状态都连接到对应的产品位置。

AI 接到任务后,可以先在产品地图中确定位置,再取得相关系统和历史决策。它无需重新扫描整个项目,也不必依赖上一位开发者留下的对话记录。Graph Coding 在这里承担项目导航作用。

Graph Coding 为 AI 选择当前任务所需的信息

大型工业软件的全部内容无法同时进入一次模型对话。AI 每次工作只需要其中一部分。

Graph Coding 可以围绕当前任务生成局部项目视图。一个任务对应某项产品能力,图会提供相关系统、依赖关系、已有工作和当前限制。AI 可以继续向外查询,也可以在边界清楚后开始工作。

传统文档按照固定章节组织内容。Graph Coding 根据任务关系组织内容。相同项目面对不同问题时,会向 AI 提供不同的信息范围。

项目整体保存在图中,当前会话读取相关部分。大型工业软件由此可以超过单个模型上下文的承载范围。

Graph Coding 支撑多智能体长期协作

大型工业软件会由多个 AI 智能体共同研发。每个智能体负责一部分工作,也可能运行在不同时间和不同模型上。

Graph Coding 为这些智能体提供共同的产品认识。任务对应明确的系统范围,任务之间的依赖保存在图中。智能体开始工作时,可以看到已有任务和当前状态。工作结束后,它把新的项目认识写回同一张图。

下一位智能体可以从当前状态继续工作。项目知识不会随会话结束而消失。

Graph Coding 由此成为 AI 的长期项目记忆,也成为多智能体之间的协同依据。它保存产品当前状态,减少重复探索,并避免不同智能体按照各自理解改变同一系统。

Graph Coding 控制 AI 的工作边界

AI 生成代码的速度已经很快。工业软件更关心这些修改是否符合产品整体结构。

Graph Coding 可以在工作开始前告诉 AI:当前能力属于哪个系统,已有方案怎样组织,修改可能影响哪些区域,哪些范围仍未获得支持。

AI 可以在明确边界内自主工作。任务触及系统结构时,它需要先获得新的系统层决定。局部开发由此服从产品整体安排。

系统工程师继续负责产品方向、系统划分和专业判断。AI 负责大规模阅读、影响分析和持续开发。Graph Coding 把系统工程师的决定传递给多个智能体,也把 AI 的工作结果放回产品整体。

Graph Coding 让项目状态能够持续继承

工业软件的研发状态经常依赖少数人员解释。一项能力可能已有部分实现,也可能只在旧版本中通过测试。新团队接手后,需要重新收集材料才能判断现状。

Graph Coding 可以把能力、实现、问题和当前证据连接起来。AI 查询某项能力时,能够判断它处于新增、补全、修复或重新验证状态。

NASA 的软件工程指南长期强调要求、实现和验证证据之间的追踪。NIST 的数字主线研究也要求产品数据在生命周期中保持来源和关系。NASA 软件需求分析指南、NIST Digital Thread for Manufacturing

Graph Coding 可以把这种追踪方式转化为 AI 可直接使用的项目状态。人员更换、模型升级和会话中断都不会改变产品当前状况。


最后,一句话:
Graph Coding 是目前AI能力背景下,考虑了AI能力,项目组织,产品技术迭代,以及工业软件固有的一些特征,比如需要长期积累,黑盒知识多,需要实践检验,以及项目周期长,历史包袱重等一系列特点,能持续稳定推进研发,也最适合大型工业软件研发的一种系统方法。