site logo

Marico's space

用自然语言生成云架构图:SketchMyInfra 体验

服务器技术 2026-04-21 20:57:14 16

每个工程团队都面临同一个问题:架构图永远赶不上变化。

你在 Lucidchart 或 Eraser 里画一张图,接下来的一个月系统改了三次,没人去更新那张图。最后它就成了一个谎言——一张挺好看的谎言。

那如果每次系统变更时,你只需用自然语言描述一下,5 秒钟就能生成一张新的架构图呢?

这就是 SketchMyInfra 在做的事:一个免费 AI 工具,把自然语言描述转成生产级云架构图,基于 PlantUML,无需注册、不绑信用卡,描述 → 生成 → 下载搞定。

云架构图示意图

为什么不直接用 Eraser、Lucidchart、Miro?

好问题。对比一下:

SketchMyInfra Eraser Lucidchart draw.io
AI 从文本生成 ✅(有限)
官方云服务图标(AWS/GCP/Azure) 部分
导出可编辑代码(PlantUML)
版本可控输出
完全免费 Freemium 付费
无需注册

核心差异:**SketchMyInfra 输出的是 PlantUML 代码,不只是图片。**

这意味着:

  • 可以把图 Check in 到 Git 里,跟着基础设施代码一起管理
  • AI 生成有误时,可以手动改代码修正
  • 不会被闭源格式绑架
  • 可以集成进文档流程(Confluence、Notion、GitHub Wiki 都支持 PlantUML)

Eraser 这类工具本质上是协作文白板,真要快速出一个准确的架构图,有点杀鸡用牛刀了。


教程:5 步生成第一张架构图

第一步 — 打开 sketchmyinfra.com

不用注册,直接打开开聊。

第二步 — 用自然语言描述你的架构

AI 理解云服务名称,自动推断提供商。可以像这样描述:

A Node.js app on AWS ECS Fargate behind an ALB, connecting to RDS PostgreSQL in a private subnet, with CloudWatch for logs.

GCP 也行:

A Python microservice on Cloud Run, backed by Cloud SQL PostgreSQL, with a Cloud Load Balancer in front and Pub/Sub for async events.

多云也行:

Frontend on Vercel, backend API on AWS ECS, database on AWS RDS, with Cloudflare for DNS and CDN.

第三步 — 点 Generate

不到 5 秒,得到:

  1. 渲染好的 SVG/PNG 图,**使用官方云服务图标**(AWS v20 图标库、GCP、Azure PlantUML)
  2. **PlantUML 源代码** — 可编辑、可版本化、可移植

第四步 — 迭代

不满意?优化提示词:

Add a NAT Gateway in the public subnet and a Redis ElastiCache cluster in the private subnet.

AI 会把之前的图作为上下文来更新,不会从零开始。

第五步 — 导出

下载为 **SVG**(无限缩放,文档友好)或 **PNG**(Slack、Confluence、演示用)。


实际输出长什么样

给个真实例子。提示词:

Three-tier AWS app: ALB → ECS Fargate → RDS Aurora in us-east-1, with CloudWatch monitoring.

生成的 PlantUML:

@startuml
allow_mixing
!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/v20.0/dist
!include AWSPuml/AWSCommon.puml
!include AWSPuml/AWSCloud.puml
!include AWSPuml/VPC.puml
!include AWSPuml/PublicSubnet.puml
!include AWSPuml/PrivateSubnet.puml
!include AWSPuml/ElasticLoadBalancingApplicationLoadBalancer.puml
!include AWSPuml/ElasticContainerService.puml
!include AWSPuml/AuroraPostgreSQLInstance.puml
!include AWSPuml/CloudWatch.puml

skinparam actorStyle awesome
top to bottom direction

AWSCloudGroup(cloud) {
  RegionGroup(region, \"us-east-1\") {
    VPCGroup(vpc, \"VPC (10.0.0.0/16)\") {
      PublicSubnetGroup(pub, \"Public Subnet\") {
        ElasticLoadBalancingApplicationLoadBalancer(alb, \"ALB\", \"HTTPS Ingress\")
      }
      PrivateSubnetGroup(priv, \"Private Subnet\") {
        ElasticContainerService(ecs, \"ECS Fargate\", \"App Service\")
        AuroraPostgreSQLInstance(db, \"Aurora PostgreSQL\", \"Database\")
      }
    }
    CloudWatch(cw, \"CloudWatch\", \"Logs & Metrics\")
  }
}

actor \"User\" as user
user --> alb : HTTPS
alb --> ecs : Routes Traffic
ecs --> db : SQL Queries
ecs .r.> cw : App Logs
@enduml

代码 + 渲染图同时给你,改代码、重新渲染——搞定。


真实使用场景

PR 描述 — 附上一张图展示你的 PR 改了哪些基础设施,Reviewer 看了心情好。

新人 Onboarding 文档 — 30 秒生成一张系统现状图,不需要花 3 小时手动画。

RFC / 设计文档 — 写文档时同步把架构草图画了,不要事后补。

客户演示 — 无需 Visio 或设计师,快速出专业云架构图。

故障复盘 — 快速把故障爆炸半径画出来,趁记忆还新鲜。


背后的技术(感兴趣的话)

  • AI:Google Gemini,配了精心调优的系统提示词,理解 AWS、GCP、Azure 图标库路径和命名规范
  • 渲染:PlantUML 以容器化服务运行,负责拉取图标库、编译图、返回 SVG/PNG
  • 基础设施:Raspberry Pi 5 + k3s。是的,真的。跑在树莓派上扛住了真实流量
  • 免费额度:无需账号每天 5 张图,注册后更多

sketchmyinfra.com — 打开即用,不用注册。

说实话,树莓派跑 AI 服务这个细节挺有意思的——小团队做出这么可用的东西,比那些吹大模型的演示强多了。

译自 https://dev.to/aakashio/...