
每个工程团队都面临同一个问题:架构图永远赶不上变化。
你在 Lucidchart 或 Eraser 里画一张图,接下来的一个月系统改了三次,没人去更新那张图。最后它就成了一个谎言——一张挺好看的谎言。
那如果每次系统变更时,你只需用自然语言描述一下,5 秒钟就能生成一张新的架构图呢?
这就是 SketchMyInfra 在做的事:一个免费 AI 工具,把自然语言描述转成生产级云架构图,基于 PlantUML,无需注册、不绑信用卡,描述 → 生成 → 下载搞定。
好问题。对比一下:
| SketchMyInfra | Eraser | Lucidchart | draw.io | |
|---|---|---|---|---|
| AI 从文本生成 | ✅ | ✅(有限) | ❌ | ❌ |
| 官方云服务图标(AWS/GCP/Azure) | ✅ | 部分 | ✅ | ✅ |
| 导出可编辑代码(PlantUML) | ✅ | ❌ | ❌ | ❌ |
| 版本可控输出 | ✅ | ❌ | ❌ | ❌ |
| 完全免费 | ✅ | Freemium | 付费 | ✅ |
| 无需注册 | ✅ | ❌ | ❌ | ✅ |
核心差异:**SketchMyInfra 输出的是 PlantUML 代码,不只是图片。**
这意味着:
Eraser 这类工具本质上是协作文白板,真要快速出一个准确的架构图,有点杀鸡用牛刀了。
不用注册,直接打开开聊。
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.
不到 5 秒,得到:
不满意?优化提示词:
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 或设计师,快速出专业云架构图。
故障复盘 — 快速把故障爆炸半径画出来,趁记忆还新鲜。
sketchmyinfra.com — 打开即用,不用注册。
说实话,树莓派跑 AI 服务这个细节挺有意思的——小团队做出这么可用的东西,比那些吹大模型的演示强多了。