开源Archify:在Agent对话中直接生成架构图

开源Archify:在Agent对话中直接生成架构图

💡 原文中文,约4600字,阅读约需11分钟。
📝

内容提要

Archify 是一个开源图表生成系统,使AI编程助手能在对话中直接生成可验证的架构图、工作流图等五种图表。它让大模型仅负责读取代码并生成结构化JSON,再由确定性程序严格校验和渲染,确保图表准确可信,避免AI幻觉。支持架构变更对比、交互式探索和自包含HTML输出。开发者出身专科,曾遭歧视,但项目已获3.14万Star。

🔎

延伸解读

确定性渲染如何对抗AI幻觉

Archify的核心设计在于将大模型的职责限定为生成结构化JSON,而将渲染和校验交给确定性程序。这种分工刻意压缩了模型的自由度,确保同一份JSON输入能产生完全可复现的图表。相比直接让AI生成Mermaid代码,这种流程能有效避免模型在布局和细节上胡编乱造,因为所有输出都必须通过Schema校验,否则无法交付。

与Mermaid等工具的本质差异

Mermaid依赖自动布局,不关心线条是否穿过节点或箭头是否对应真实调用关系,容易产出视觉美观但事实错误的图。Archify则采用声明式布局,让Agent显式指定坐标和路由,并执行原子级校验,失败时保留最后已知好版本。这种“不迁就”的设计,使得Archify更适合对准确性要求极高的场景,如架构评审和PR审查。

适用场景与局限性

Archify适合需要“图必须对”的场景,如技术文档、系统onboarding,但不适合追求像素级美观的品牌宣传。它不解决“不知道画什么”或“代码混乱”的问题,只会忠实呈现现状。此外,其视觉自定义能力有限,无法像draw.io那样精细控制。用户需明确自身需求,避免期望过高。

开发者背景与设计理念的关联

开发者“也无风雨也雾晴”出身专科,曾因学历在求职中遭拒,这段经历影响了Archify的设计哲学:一个被系统拒绝过的人,做了一个拒绝输出错误结果的系统。Archify在验证失败时返回精确的修复建议,而非冷冰冰的报错,体现了对用户的同理心,也反映了项目对“可信赖”的执着追求。

Q&A

Archify是什么?它有什么主要功能?

Archify是一个开源的图表生成系统,面向AI编程助手,能在对话中直接生成系统架构图、工作流图、序列图、数据流图和生命周期图。主要功能包括:四种视觉预设和深浅主题、架构变更对比、交互式探索(搜索节点、追溯依赖等)、自包含HTML输出,并可导出PNG、SVG、WebM和分享卡片。

Archify如何避免AI生成架构图时的幻觉问题?

Archify采用“大模型只负责理解,确定性程序负责画图”的设计。大模型读取代码后生成结构化JSON IR,然后由Archify进行Schema校验、布局检查和渲染校验,全部通过后才输出HTML。这样确保图表准确可信,避免AI幻觉。

Archify与Mermaid相比有什么优势?

Archify与Mermaid的主要区别在于:Mermaid使用自动布局,不检查图的正确性,可能画出错误或混乱的图;而Archify采用声明式布局,让Agent显式指定节点坐标和边路由,并进行原子级校验,确保图准确无误。如果校验失败,Archify会返回修复建议,而不是输出错误的图。

Archify的开发者是谁?他的背景如何?

Archify的开发者是“也无风雨也雾晴”,他读过专科,后以专升本考试第一名考入重庆邮电大学软件工程专业。他曾当过保安、学过修车、进过厂,毕业求职时因专科学历在背调中被大厂拒绝。后来在Manus COO Cz Chen鼓励下开发了Archify,项目已获3.14万Star。

Archify生成的架构图如何保证可追溯性?

Archify生成的HTML中每个节点都带有SRC标记,可以跳回具体的文件和行号,确保图中的每个元素都能在代码中找到真实对应,从而保证可追溯性。

Archify的架构变更对比功能是如何工作的?

Archify支持在合并前对比两个验证快照,生成Before、Delta、After三组视图,精确显示新增、删除、变更、移动和重路由的组件。整个过程只读,不推断影响,判断权留给用户。

Archify有哪些局限性?

Archify不解决“不知道画什么”的问题,假设用户已知系统结构;不解决代码混乱问题,只会忠实呈现混乱;视觉自定义能力有限,不如draw.io精细。它适合需要图准确的场景,不适合追求像素级美观的设计稿。

Archify的交互式探索功能有什么特点?

Archify支持搜索节点、追溯上下游依赖、精确路由探查、角色对比和引导式故事播放。所有交互都基于已声明的拓扑,不会凭空捏造,确保交互的真实性。

🏷️

标签

➡️

继续阅读