在軟體開發的前期規劃階段,系統架構設計(Architecture Design)與 API 規格定義(API Specification)往往需要耗費大量時間進行討論與撰寫。隨著 LLM 具備強大的語意理解與邏輯推理能力,開發者可以透過精準的 Prompt Engineering,讓 AI 成為架構師(Software Architect)的得力助手,加速從需求分析到架構落地的過程。
本篇將探討如何運用 AI 自動生成 Mermaid 架構圖、定義 OpenAPI / Swagger 規格,並進行架構決策評估(ADR)。
實戰 Prompt 範例
Markdown
請擔任資深系統架構師,根據以下需求生成 Mermaid.js 的 architecture 或 graph TD 語法:
需求:建立一個高並發的電商訂單系統
包含組件:React 前端、API Gateway、Order Microservice、Redis 快取、PostgreSQL 主從資料庫、RabbitMQ 訊息隊列、Payment Gateway
要求:標示資料流向與非同步處理區塊
AI 生成的 Mermaid 程式碼
程式碼片段
graph TD
Client[React 前端 / App] -->|HTTPS| Gateway[API Gateway]
subgraph Core Services
Gateway -->|REST/gRPC| OrderService[Order Microservice]
OrderService <-->|Read/Write Cache| Redis[(Redis Cache)]
OrderService -->|DB Connection| DB[(PostgreSQL Master)]
DB -.->|Replication| DBReplica[(PostgreSQL Replica)]
end
subgraph Asynchronous Processing
OrderService -->|Publish OrderCreated| MQ[RabbitMQ]
MQ -->|Consume| PaymentService[Payment Microservice]
PaymentService -->|Third-party API| ThirdPartyPayment[External Payment Gateway]
end
(可將此段語法貼至 GitHub、Notion 或 Mermaid Live Editor 直接渲染成圖表)
範例 Prompt 結構
「請為『使用者取消訂單』功能設計 RESTful API,撰寫 OpenAPI 3.0 YAML 格式。需包含 Path Parameter (order_id)、Request Body(取消原因)、200 成功回應、400 參數錯誤、404 找不到訂單與 500 系統錯誤。」
AI 生成 API 規格(YAML 簡化版)
YAML
openapi: 3.0.0
info:
title: Order Management API
version: 1.0.0
paths:
/api/v1/orders/{order_id}/cancel:
post:
summary: 取消指定訂單
parameters:
- name: order_id
in: path
required: true
schema:
type: string
example: "ORD-20261005-001"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
reason:
type: string
example: "買錯商品"
responses:
'200':
description: 成功取消訂單
content:
application/json:
example:
status: "success"
canceled_at: "2026-10-05T15:30:00Z"
'400':
description: 訂單狀態不允許取消
3. 架構決策記錄(ADR)與選型評估
在做技術選型(例如:SQL vs NoSQL、Kafka vs RabbitMQ)時,AI 能快速整理客觀的優缺點分析(Pros & Cons),並生成標準的 ADR (Architecture Decision Record) 文件。
分析面向 PostgreSQL MongoDB
資料結構 強型別、關聯式 schema,適合高一致性(ACID)。 彈性 JSON/BSON 格式,適合 Schema 經常變動的場景。
擴展性 垂直擴展為主,讀寫分離可用 Replica。 水平擴展(Sharding)原生支援度高。
適用場景 帳務、訂單交易、核心業務系統。 使用者行為 Log、產品動態屬性目錄。
今日小結
AI 輔助系統架構設計,能大幅降低架構師與開發團隊在文檔撰寫與初稿繪製上的時間。透過將需求結構化輸出為 Mermaid 圖解 與 OpenAPI 規格,能讓團隊在開發第一天就對系統全貌達成共識。
明天預告:Day 22 - AI 時代的資料庫設計與 SQL 效能調優:從 ER Diagram 到 Query Optimization