欢迎光临
我们一直在努力

Archify × Codex 实战:让 AI 读懂代码,画出可验证的架构图

引言:为什么 AI 画的架构图总是“差点意思”?

用 Mermaid 画过复杂架构图的人都有体会:节点一多,箭头就开始乱飞,最后还是要手动调整。更麻烦的是,代码更新后,架构图很快就过期了,维护成本极高。

2026 年 8 月,一个名为 Archify 的开源项目冲上 GitHub Trending 榜首,狂揽 3.14 万 Star。它做的事情很简单:在对话里,把代码仓库或系统描述变成漂亮、可靠、可交互的系统地图。

更关键的是,Archify 的开发者“也无风雨也雾晴”并非名校出身,而是专升本考入重庆邮电大学软件工程专业。他在字节、猿辅导等大厂面试中屡次因学历被拒,最终用 Archify 证明了自己。这个项目不只是一款工具,更是一个关于“用作品说话”的故事。

本文将带你完成 Archify 与 Codex CLI 的集成,并通过一个真实的 Go 微服务项目,演示如何让 Codex 读懂代码,生成一张经过完整校验、可搜索、可交互的架构图。

一、Archify 的设计哲学:为什么它不只是“更好看的 Mermaid”

1.1 核心分工:Agent 理解,Archify 渲染

Archify 最聪明的设计在于职责分离。

传统的 AI 画图工具,让大模型直接生成 Mermaid 或 PlantUML 代码。模型既要做“理解代码”这件它擅长的事,又要做“精确布局”这件它并不擅长的事。结果就是:模型可以画得很快,但不一定画得对。

Archify 的做法完全不同。它把画图这件事交给了一个确定性程序,只让大模型干它真正擅长的事:读代码、抽信息。

整个过程分为三步:

代码或系统描述 → Agent 理解并生成 JSON IR → Archify 校验并渲染 HTML

Agent 生成的是一个带类型的 JSON 中间表示(IR) ,而不是最终图形。Archify 收到 JSON 后,会执行 Schema 校验、布局检查、节点冲突检测,只有全部通过才会渲染成最终的 HTML/SVG 成品。

1.2 五种图型,覆盖技术沟通核心场景

Archify 目前支持五类技术图:

图型用途典型场景
Architecture 系统架构 微服务拓扑、云基础设施
Workflow 工作流 CI/CD 流水线、审批流程
Sequence 时序图 API 调用链、请求生命周期
Dataflow 数据流 ETL 管道、数据血缘
Lifecycle 生命周期/状态机 订单状态、部署状态

1.3 可验证性:交付前先检查

这是 Archify 区别于其他工具的核心特性。在交付最终 HTML 之前,Archify 会执行一套完整的校验流程:

  • Schema 校验:JSON 结构是否符合规范

  • 布局检查:节点是否重叠、连线是否冲突

  • 质量档案检查:showcase 模式下必须通过全部 9 项 artifact 检查,且 0 错误 0 警告

如果校验失败,Archify 会指出具体问题和可采用的修复方式,而不是直接交付一张“看起来漂亮、实际有错”的图。

二、环境准备与安装

2.1 前置条件

  • Node.js ≥ 18(推荐 22+)

  • Codex CLI 已安装并可用(codex –version 验证)

2.2 安装 Archify Skill

Archify 通过 skills CLI 安装,兼容 Codex、Claude Code、Cursor 等 70+ Agent:

# 全局安装(推荐)
npx skills add tt-a1i/archify -g

如果你只想临时体验,不实际安装,可以用 use 命令:

# 以 Codex 为例,临时运行
npx skills use tt-a1i/archify@archify –agent codex

安装完成后,重启 Codex,输入 $ 即可在技能列表中看到 archify。

2.3 验证安装

在 Codex 对话中执行:

codex
> $archify 描述一下你能做什么

如果 Codex 正确加载了 Archify Skill 并返回其能力说明,说明安装成功。

三、实战:用 Codex + Archify 分析一个 Go 微服务项目

3.1 场景设定

假设你接手了一个开源的 Go 微服务项目,代码库有 50+ 个 Go 文件,包含 API 网关、用户服务、订单服务和数据库层。你需要快速理解它的运行时架构,以便决定从哪里开始做优化。

传统做法是手动翻阅代码、画草图,耗时且容易遗漏。现在,我们让 Codex 来完成这件事。

3.2 第一步:让 Codex 分析代码仓库

在项目根目录下启动 Codex:

codex
> 分析这个代码仓库,然后用 archify 生成一张高层运行时架构图。
> 展示 8-12 个核心组件、一条主要请求路径、外部依赖和信任边界。

Codex 会首先执行发现阶段:读取 go.mod 了解依赖、扫描目录结构、识别入口文件(main.go)和关键模块。

为了节省 Token,Codex 可以采用两阶段发现策略:第一阶段只提取文件路径、依赖名称和目录结构;第二阶段针对核心文件提取导入关系和导出符号。

3.3 第二步:Codex 生成 JSON IR

发现阶段完成后,Codex 会按照 Archify 的 Schema 生成 JSON IR。一个典型的架构图 JSON 结构如下:

{
"schema_version": 2,
"type": "architecture",
"meta": {
"title": "Order Service Runtime Architecture",
"quality_profile": "showcase"
},
"nodes": [
{
"id": "api-gateway",
"label": "API Gateway",
"role": "primary",
"card": { "details": "gin + JWT auth" }
},
{
"id": "order-svc",
"label": "Order Service",
"role": "primary",
"card": { "details": "gRPC, 3 replicas" }
},
{
"id": "postgres",
"label": "PostgreSQL",
"role": "external",
"card": { "details": "Primary + read replica" }
}
],
"edges": [
{
"from": "api-gateway",
"to": "order-svc",
"label": "gRPC"
},
{
"from": "order-svc",
"to": "postgres",
"label": "SQL"
}
]
}

Codex 会遵循 Archify 的 SKILL.md 规则:从一个清晰的主路径开始,保持短侧分支,标签精简,最多 12 个主节点。

3.4 第三步:Archify 校验并渲染

Codex 自动调用 Archify 的校验命令:

node bin/archify.mjs validate architecture candidate.json –quality showcase –json

校验通过后,执行最终交付命令:

node bin/archify.mjs deliver architecture candidate.json order-arch.html –quality showcase –json

生成的 order-arch.html 是一个自包含的独立文件,可以直接在浏览器中打开。

3.5 最终产出:可交互的系统地图

打开生成的 HTML 文件,你会看到一张完全可交互的架构图:

  • 搜索节点:输入 “order” 快速定位订单服务

  • 追踪路径:点击任意节点,查看它的上下游调用链

  • 切换主题:一键在深浅模式间切换

  • 导出分享:支持 PNG、SVG、WebM 和 1200×630 分享卡片

如果对结果不满意,可以直接在对话中继续指挥 Codex:“把数据库移到左边”、“突出缓存失效后的回退路径”、“加入 Redis 节点”——Codex 会更新 JSON IR,Archify 重新校验并渲染。

四、Archify 的差异化能力

4.1 架构变更对比

这是 Archify 在工程实践中非常有价值的能力。在合并 PR 之前,你可以生成两份已校验的快照,让 Archify 对比为 Before / Delta / After 视图,精确区分新增、删除、语义变化、移动和重路由。

这意味着,架构图不再是一张“静态文档”,而是可以纳入代码评审流程的版本化资产。

4.2 版本校验的源码溯源

Archify 支持在图中点击节点,直接打开经过 revision 校验的源码。图中展示的拓扑有据可查,不是模型“编造”出来的。

4.3 不止于“好看”

Archify 的四套视觉预设(Signal Flow、Blueprint、Classic 等)和内置品牌徽标,让生成的图可以直接用于 README、Release Notes 或社交分享。但它真正的价值不在视觉,而在确定性校验:每一张交付的图都经过了完整的一致性检查,不会出现“箭头指错方向”或“节点重叠”这类低级错误。

五、最佳实践与注意事项

5.1 控制 Token 消耗

对于大型代码库,Codex 直接读取所有文件会消耗大量 Token。推荐在 AGENTS.md 中定义一个两阶段发现流程:先提取文件路径和依赖关系,再针对核心文件做深度分析。社区已经验证了这种策略的有效性。

5.2 明确图型选择

在触发 Archify 时,尽量明确你需要的图型。虽然 Archify 会从问题中推断类型,但显式指定可以避免误判:

# 明确指定架构图
> 用 archify 生成一张架构图,分析这个仓库的运行时拓扑

# 明确指定时序图
> 用 archify 生成一张时序图,展示登录请求的完整调用链

5.3 与 Grill Me 组合使用

Archify 解决的是“看清系统”的问题,Grill Me 解决的是“想清楚要做什么”的问题。两者可以形成互补:

Grill Me(需求澄清) → Archify(系统可视化) → Codex(代码实现)

先用 Grill Me 把需求问透,再用 Archify 把现有系统或目标架构可视化,最后让 Codex 执行代码变更。

六、总结

Archify 的走红并非偶然。它抓住了 AI 编程时代的一个核心矛盾:模型擅长理解,但不擅长精确渲染。通过将“理解”和“渲染”分离,Archify 让大模型专注于它真正擅长的事,同时用确定性程序保证了输出的可靠性和可验证性。

Codex + Archify 的工作流可以概括为:

描述意图 → Codex 读代码生成 JSON IR → Archify 校验 → 交付可交互 HTML

对于软件产品和项目开发而言,这套组合的价值在于:

  • 降低理解成本:新成员可以通过架构图快速了解系统,而不是翻阅几十个文件。

  • 架构变更可评审:Before/Delta/After 对比让架构变化在 PR 阶段就可见。

  • 文档不再是“死”的:每次代码变更后重新生成,架构图始终与代码同步。

  • 如果你正在维护一个中等规模以上的代码库,不妨花 10 分钟安装 Archify,然后在 Codex 里试一次:

    npx skills add tt-a1i/archify -g

    然后对 Codex 说:

    > 用 archify 分析这个仓库的运行时架构,生成一张架构图。

    你可能会发现,理解自己(或同事)的代码,从来没有这么轻松过。

    赞(0)
    未经允许不得转载:171主机测评 » Archify × Codex 实战:让 AI 读懂代码,画出可验证的架构图
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址