# 可視即意圖:把思維導圖變成人與 AI 共讀的意圖介面

**副標:一份技術白皮書——記前人已做的,與我們未來能做的**

EveMissLab 工作稿 · EML-VIC-2026-v0.1 · 2026 年 6 月

作者:Neo K.(許筌崴) · 一言諾科技有限公司(EveMissLab)

立場聲明:本文記錄一個構想,以及在它周圍、別人已經做出來的工作。我不在乎是我先想到還是別人先做——如果別人先做了,我尊重他們、感謝他們,並在文中如實引用。把它放到網路上,是希望有人看到之後能接手去做;即使現在來看的多半是 AI,至少它被記下來了。文中引用為 2026 年 6 月檢索所得,連結與年份待日後再核。

---

## 摘要

打開一個陌生的 GitHub 專案,你看到的是資料夾樹;你需要的是架構理解。資料夾是語法,架構是語義——GitHub 給了語法,把語義留給你自己猜。更一般地說:一個專案的**意圖**,在它的程式碼與目錄裡是隱形的。

本文圍繞一個構想:**可視即意圖**(visualization = intent)——讓一張思維導圖成為人與 AI 共讀的意圖介面。它有兩個方向。反向是「程式碼 → 圖」:把既有的 repo 解析成可互動的架構圖,讓人快速看懂(這是作者 2025 年初〈GitHub 架構透視器〉一文的主題)。正向是「圖 → 專案」:人畫一張思維導圖、直接編譯成專案骨架;而 AI 讀同一張圖,理解並建構、維護這個專案。兩個方向接起來,就是一個迴圈:人 ⇄ 導圖 ⇄ 程式碼,AI 作為其間的編譯器與維護者。

本文要誠實地報告地貌。反向那一半,已經有人做出來、而且幾乎一比一——開源的 GitDiagram 與作者那篇透視器的設計高度重合;這一半的工作不是「做」,是「改」。正向那一半,以及把兩端焊成迴圈的「可視即意圖」,目前沒有統一的成品:能用的零件散落各處(prompt→導圖、自然語言→圖即程式碼、畫 UI→碼、AI 讀寫畫布、古典的模型驅動工程、文字版的規格驅動開發),但沒有人把「思維導圖作為雙向的、人與 AI 共讀的唯一意圖真理」這件事焊起來。那個缺口,是本文留給後來者的設計與記錄。

本文不主張新穎優先;它主張一張地圖加一份設計,外加一個立場:記錄、歸功、交棒。

---

## 0. 立場與閱讀須知

這篇白皮書的寫法,被一個立場決定,所以先把立場講清楚。

我不在乎優先權。一個構想若有價值,它由誰先做出來,不改變它的價值。本文裡凡是別人已經做的,我盡量如實引用、清楚歸功;若有遺漏,是我檢索不周,非有意掠美。把東西放到網路上,本來就是為了讓它被接手——哪怕個人學術實驗站現在來看的人很少、且多半是 AI 爬蟲,至少它被記下來,成為一個未來的人或 AI 可以撿起來的起點。

這篇因此分三層。第一層是**地貌**:別人做了什麼(§3、§4),這是可被查證的事實,我用引用標出處。第二層是**缺口**:還沒有人做什麼(§5),這是一個判斷,我會說清楚判斷的依據。第三層是**設計**:我們能做什麼(§6 起),這是一份構想,不是一個成品,讀者應以「設計草案」待之,而非既成系統。

引用以 2026 年 6 月檢索為準。開源專案演化很快(模型換代、API 變動、倉庫更名),所以本文所列的連結、版本與年份,都應在採用前再核一次。凡涉及「這個工具現在到底長什麼樣」,答案以該專案當下的官方倉庫為準,本文只負責指出它在地圖上的位置。

一句話的閱讀守則:地貌當事實看,缺口當判斷看,設計當草案看。

---

## 1. 問題:意圖是隱形的

先把問題講到位,因為整篇都掛在這個問題上。

當你打開一個陌生的開源專案,面對的是一棵資料夾樹。即使它有詳盡的文件,大多數人第一次看到那幾十個資料夾時,仍然困惑:這些資料夾之間是什麼關係?哪些是核心、哪些可選?我該從哪裡開始讀?這個困惑揭示一個根本落差:**頁面展示的是原始的目錄結構,而你需要的是架構理解**。資料夾是語法,架構是語義;工具給了你語法,卻把語義留給你自己去猜[1]。

為什麼一棵目錄樹不足以傳達架構?認知科學給過答案,作者在前作中已援引[1]:人的工作記憶容量有限(Miller 的 7±2),一次看幾十個名稱無法整體把握,只能分批處理,導致理解碎片化;而人腦更擅長處理**空間化的層次結構**——組織圖、地鐵圖、思維導圖那樣——當資訊被組織成「中心—外圍」「上層—下層」的空間關係時,理解效率顯著提升(Tversky 一系關於空間與認知的研究)。一個平鋪的列表,既無語義標註(`contrib/` 到底是核心還是可選?),也無關係呈現(`forms` 依賴 `validators` 這件事,只能逐一打開檔案讀 import 去推),認知成本極高。

把這個落差講得更一般:不只「架構」是隱形的,一個專案的**意圖**整體是隱形的。為什麼這樣分模組、為什麼這條依賴存在、哪些是骨幹哪些是裝飾——這些設計意圖,在程式碼與目錄裡不是不存在,而是**潛在而未顯**。我們缺的不是資訊,是讓潛在意圖顯現的介面。

這個落差有兩個方向的修法。一個方向是事後的:對著已經寫好的程式碼,把它的架構**透視**出來給人看。另一個方向是事前的:讓人先把意圖畫成一張圖,再由它**生成**程式碼,並讓 AI 讀這張圖去理解與維護。前者是「程式碼→圖」,後者是「圖→程式碼」。本文主張,真正值得做的,是把這兩個方向接成一個迴圈——讓那張圖,成為人與 AI 共讀的、唯一的意圖真理。下一節先把這個雙向框架立清楚。

---

## 2. 兩個方向:透視與編譯

把「可視即意圖」拆成兩個方向,各有各的成熟度,混為一談會看不清哪塊該做、哪塊該改。

**反向:程式碼 → 圖(透視)。** 拿一個既有的 repo,自動解析出它的架構,畫成一張可互動、可點擊跳轉到原始碼的圖。這條方向解的是「看懂別人的、或自己舊的專案」。它的輸入是已經存在的程式碼,輸出是一張顯現其架構的圖。作者 2025 年初的〈GitHub 架構透視器〉一文,主題正是這個方向:用 AI 讀資料夾樹與 README、推斷架構模式、生成帶語義標註與依賴關係的互動圖,並讓圖上每個節點超連結回對應的資料夾[1]。

**正向:圖 → 專案(編譯)。** 反過來,人先畫一張思維導圖,把意圖、模組劃分、依賴、骨幹與裝飾畫進去;然後由它**編譯**成專案骨架,再由 AI 填入程式碼;而且 AI 把同一張圖當成理解與維護這個專案的依據。它的輸入是一張表達意圖的圖,輸出是一個專案,外加一個能持續被 AI 讀懂的意圖來源。

**迴圈:可視即意圖。** 把兩個方向接起來,就得到一個環:人畫導圖 → 編譯成專案 → 專案演化 → 透視回導圖 → 人再改導圖。在這個環裡,那張思維導圖不是一張被生成一次就丟的圖,而是**人與 AI 共讀的、隨專案來回同步的唯一意圖真理**。「可視即意圖」這四個字的全部份量,就在這裡:讓「看得見的那張圖」直接**就是**意圖本身,而不只是意圖的插畫。

這個框架立清楚之後,接下來兩節要誠實地報告:這兩個方向、與這個迴圈,別人已經做到哪了。先講反向(§3),再講正向的散落零件(§4),然後指出缺口(§5)。

---

## 3. 前人已做的:反向(repo → 圖)

先講反向,因為這一半已經被做得相當完整,而且和作者那篇透視器高度重合。誠實地說:這一塊,不是該做,是該改。

最直接的對應是 **GitDiagram**(ahmedkhaleel2004/gitdiagram)[2]。它是一個開源 web 應用,把任何 GitHub repo 自動轉成可互動的系統架構圖:當你丟一個 repo URL,它向 GitHub API 取預設分支、遞迴檔案樹與 README,過濾掉噪音與依賴資料夾,再餵進一條串流生成管線——先由一個模型寫出白話的架構說明,第二個模型把說明加檔案樹轉成系統、節點、邊與真實 repo 路徑的結構圖,用 Mermaid 渲染,點擊節點可直接跳到對應檔案;它支援公開與私有 repo,可自架,還有一個「把 URL 裡的 hub 換成 diagram」的便捷存取技巧[2]。

把這個對照作者 2025 年初那篇〈GitHub 架構透視器〉[1],會發現設計幾乎一比一:同樣是「讀 tree+README → AI 推斷架構 → 生成可點擊節點的架構圖」,同樣偏好 Next.js 前端 + FastAPI 後端 + 關聯式資料庫 + 快取的技術棧,同樣強調節點超連結回原始碼。GitDiagram 初期以 Claude 3.5 Sonnet 為生成模型,其倉庫現已把模型改為可配置(GPT-5 系列等)、支援自架切換供應商[2]。換句話說,作者那篇白皮書描繪的反向系統,別人已經獨立做出來、且公開了。依本文的立場:尊重、感謝,然後撿來改,而不是從零重寫。

值得留意的是 GitDiagram 停在哪裡:它解的是「看懂既有 repo」,把架構顯現出來給人看。它**沒有**做的,正是作者那篇白皮書裡真正獨特的延伸——把透視出來的架構**導出成一份結構化的架構規格(作者稱 MSSP-Lang),反過來去生成新專案**[1]。也就是說,GitDiagram 完成了「程式碼→圖」,但沒有接上「圖→程式碼」。那道接縫,是反向工具普遍缺的,也正是本文正向設計的起點。

在更廣的脈絡裡,反向方向還有同族:把整個 repo 轉成帶圖的說明文件(repo→wiki)一類工具近年也出現了;而它更古老的祖先,是軟體工程裡的**逆向工程**與程式碼視覺化(從程式碼反推 UML、呼叫圖、依賴圖),那是幾十年的傳統,只是非 AI、也不互動。AI 這一代做的,是把這件事變得即時、便宜、且能讀懂自然語言層面的「這個專案在幹嘛」。總之,反向是一片已開發的地,GitDiagram 是其中最乾淨的 fork 目標。

---

## 4. 前人已做的:正向的散落零件

正向比較複雜:它**不是**一塊完整的地,而是一地散落的零件。每個零件都做了「圖↔意圖↔程式碼」這條鏈的一小段,但沒有人把它們串成一條完整的鏈。逐塊點名,並如實引用。

**零件一:文字/prompt → 思維導圖。** 這塊最成熟,工具一大把。Whimsical 用一句 prompt(底層為 Claude)生成可編輯的思維導圖[9];GitMind 從技術文件與筆記生成流程圖、UML 圖、心智圖[10];Jeda.ai 一類平台用多個 LLM 做「會診式」的導圖與圖表[11]。這些解的是「從文字長出一張圖」,但圖是產物,不是編譯源。

**零件二:自然語言 → 圖即程式碼。** LLM 能把日常描述轉成 PlantUML 或 Graphviz 之類的「圖即程式碼」,直接在對話裡渲染成專業圖,改一句話就重生程式碼、重畫一次[12]。這塊的價值是:圖有了一份**文字的、可版控的源**(diagram-as-code),這正是「可視即意圖」需要的 IR 雛形——但它生成的是圖,不是專案。

**零件三:畫 → 程式碼。** tldraw 的 make-real 是這塊的代表:畫一個 UI,就讓它變成真的、可運行的程式碼[3]。它證明了「視覺 → 程式碼」這條路在 LLM 時代走得通,但它的範圍是 UI/線框 → 前端碼,不是一張結構導圖 → 整個專案。

**零件四:AI 讀寫畫布。** 這塊最接近「AI 看圖理解專案」。tldraw 的 SDK 內建一個 Agent,能讓 AI 讀取、詮釋、修改畫布內容,還有一個拖拉節點的 Workflow 建構器,做自動化管線、視覺編程與 no-code[4];2026 年推出的 tldraw MCP App,更讓 Cursor、VS Code、ChatGPT、Claude 等 agent 能在對話裡畫圖、「diagram 我現在這個檔案」、把草圖變成現實[5];Whimsical 也提供 MCP,讓 AI 編碼代理直接讀寫它的工作區[9]。這塊把「AI 在畫布上工作」做出來了,但定位是**協作面**(AI 和你一起在畫布上塗改),不是「把一張導圖當成專案的唯一真理去編譯與維護」。

**古典祖先:模型驅動工程。** 「圖 → 程式碼」並非 AI 時代才有。軟體工程裡的**模型驅動工程(MDE/MDA)**早在二十年前就做「從 UML/領域模型生成程式碼」(Eclipse EMF、Sirius、Acceleo 一脈)。它和本文構想的差別有二:其一,它是非 AI 的、規則化的程式碼生成,模型必須畫到極精確;其二,它的模型是 UML 那種工程圖,不是思維導圖那種人類自然的意圖載體。它證明了這條路在原理上可行,也提醒我們:形式化過頭,圖就變得和寫程式一樣累,於是沒人想用。

**文字版的近親:規格驅動開發。** 這是最重要的定位坐標。2025 年起,一個叫**規格驅動開發**(spec-driven development)的範式快速成形:不先寫程式碼,而是先寫一份詳細的規格,讓它成為 AI 代理「生成、驗證、回報」所依據的唯一真理。GitHub 於 2025 年開源的 **Spec Kit** 提供 CLI、模板與提示,把工作流推過「規格 → 計畫 → 任務 → 實作」,且 agent 無關,能搭配 Copilot、Claude Code、Gemini、Cursor 等[14];AWS 於 2025 年 7 月推出的 **Kiro**,是一個建在 Code OSS 上的 agentic IDE,以 EARS 需求語法、三階段(需求/設計/任務)把開發者「從 vibe coding 帶到可用的程式碼」[15]。這個範式的核心洞見是:當 AI 能廉價產出程式碼,瓶頸就從「寫」移到「對齊」——而讓**規格成為單一真理**,是對齊的解法[14][15]。

把這個洞見記住,因為它直接撐起本文的賭注:規格驅動開發用的是**文字**規格;而本文主張,對許多人、許多專案,一張**思維導圖**是比散文更好的意圖載體——因為它把層次與關係**空間化**地攜帶。本文要的,是規格驅動開發的**視覺版**:不是用打字描述意圖,是用一張人與 AI 共讀的圖。順帶一提,「vibe coding」這個詞 2025 年 2 月才被提出,指開發者用 prompt 描述、LLM 自動生成程式碼[13];本文構想可以看成把 vibe coding 從「對著文字 prompt 即興」升級成「對著一張結構化意圖圖協作」。

---

## 5. 缺口:沒有人把它焊成迴圈

把 §3 與 §4 擺在一起,缺口就清楚了。**零件全在地上,但沒有人把它們焊成一個迴圈。**

具體而言,目前沒有一個工具,把「一張思維導圖」當成**雙向的、人與 AI 共讀的、與 codebase 來回同步的唯一意圖真理**。反向有 GitDiagram(repo→圖)但不回灌;正向有 prompt→導圖(圖是產物不是源)、有畫 UI→碼(範圍是 UI)、有 AI 讀寫畫布(定位是協作面)、有規格驅動開發(用的是文字而非圖)、有古典 MDE(非 AI 且要求工程精度)。每一塊都做了鏈的一小段,但「導圖 → 編譯成專案 → AI 據圖維護 → 演化回灌導圖」這整個環,沒有人焊起來。

為什麼這個環值得焊?三個理由。其一,**意圖可見**:把意圖畫成一張人看得懂的圖,降低了理解門檻——這正是 §1 那個落差的正面解法。其二,**意圖可版控**:若那張圖有一份文字的源(像 diagram-as-code 那樣),它就能進版本控制、能 diff、能和程式碼一起演化,不會像傳統架構文件那樣畫完就過時。其三,**人與 AI 同源**:在規格驅動開發裡,規格成為人與 AI 共讀的單一真理,解決了「AI 產出看似對卻不對」的對齊問題[14][15];本文主張把那個單一真理從文字換成圖,讓人用空間直覺把握、讓 AI 用結構讀取,兩邊讀的是同一張底圖。

缺口的形狀因此可以一句話說定:**把規格驅動開發的「單一真理」做成一張人與 AI 共讀的思維導圖,並讓它與 repo 雙向同步。** 反向的一半可以撿 GitDiagram 來改,正向與迴圈的一半沒有成品、需要從底座造起。下一節給出這個迴圈的設計。

---

## 6. 設計:可視即意圖的迴圈

這一節給出迴圈的設計。再提醒一次:這是一份草案,不是一個成品。它的價值在於把缺口的形狀畫成可以動手的樣子,讓接手的人有起點。

整個設計圍繞一個環:人畫思維導圖 → 編譯成專案 → 專案演化 → 透視回導圖 → 人再改導圖,而 AI 是這個環裡的編譯器與維護者。下面把環拆成六塊講。

### 6.1 思維導圖作為意圖的中間表示

第一個、也是最關鍵的設計決定:**思維導圖不是插畫,是意圖的中間表示(IR)**。它有雙層——一層是**視覺層**,人畫的、人讀的那張圖;一層是**文字源**,可版控、可 diff、AI 解析的那份底稿。這兩層綁在一起:你動視覺層,文字源跟著變;文字源進版本控制,圖跟著重畫。這不是新發明的綁法,「圖即程式碼」(diagram-as-code,如 Mermaid/PlantUML)早就讓圖有了文字源[12],markmap 一類工具也讓「導圖的源碼和專案一起存」成為常態[8]。本設計只是把這個雙層,正式當成「人與 AI 共讀的同一份意圖」。

### 6.2 編碼什麼:接母集子集(MSSP)

導圖裡畫的不是隨意的主題樹,是**架構意圖**。這裡直接接作者既有的母集子集(MSSP)框架[1]:節點是模組;節點的顏色/標記區分核心母集(SMS,不可移除)與可選子集(TMS,可插拔),並標出穩定性(核心/穩定/演化/實驗);邊是依賴(強依賴/弱依賴);節點大小反映被依賴的廣度。換句話說,**這張思維導圖,就是視覺化、且人畫得動的那份架構規格(mssp.config)**。作者那篇透視器已經定義過「把架構導出成 MSSP-Lang」[1];在本設計裡,這份規格不只是反向的導出物,而是正向的編譯源。

### 6.3 正向編譯路徑

正向的管線是:**思維導圖 → 結構化規格 → 專案骨架 → AI 填碼**。逐步說:視覺層的導圖被解析成它的文字 IR;這份 IR 就是 mssp.config(模組、依賴、穩定性);再由 FPL(作者構想的「資料夾程式語言」編譯器[1])把規格轉成完整的專案骨架——資料夾結構、模組劃分、依賴佈線;最後由 AI 代理依著這份規格,把每個模組的實作填進去。這條路徑解的是「圖 → 專案」那一半;它和規格驅動開發的「規格 → 計畫 → 任務 → 實作」[14]同構,差別只在源是一張圖、不是一篇文字。

### 6.4 反向回灌

反向的一半,撿 GitDiagram[2] 來改:讓演化中的 repo 反過來被解析成架構圖、再轉回導圖的形式。這一步把環閉上,並啟用**漂移偵測**——把「從 repo 反推出來的導圖」和「人畫的意圖導圖」對比,哪裡分岔,就代表要嘛程式碼偏離了意圖、要嘛意圖移動了,把它顯示出來讓人對帳。這正是 GitDiagram 缺、而作者透視器構想裡有的那道「回灌」接縫[1][2]。

### 6.5 AI 讀圖:導圖作為代理的單一真理

AI 在這個環裡不只負責「生成導圖」,更要把導圖**讀成建構與維護的單一真理**。這是規格驅動開發的視覺版:在規格驅動開發裡,一份文字規格是代理執行、驗證、回報所依據的唯一真理[14][15];在這裡,那份唯一真理是導圖(經由它的文字 IR)。「AI 讀畫布」的管線其實已經有人鋪好——tldraw 的 MCP App 讓代理能讀取並圖示一個工作區[5],Whimsical 也把工作區經 MCP 開放給編碼代理[9]。所以本設計要做的,不是發明「AI 怎麼讀圖」,而是把導圖從一個**協作面**,提升成代理據以行動的**規格本身**。

### 6.6 迴圈與漂移

把六塊合起來,完整的環是:人畫/改導圖 → 編譯成專案 → 專案(人與 AI 一起)演化 → 反向轉回導圖 → 與意圖導圖對帳 → 人調和差異。在這整個循環裡,導圖始終是那唯一的真理。**漂移偵測是這個環的紀律核心**:一張會和真實 repo 對 diff 的活導圖,讓意圖與程式碼不再悄悄分家——而「悄悄分家」正是傳統架構文件畫完即過時的死因,也正是 2025 年被稱為「vibe coding 宿醉」、規格驅動開發要對治的那個對齊問題[13][14][15]。

### 6.7 底座選擇(依決策規則)

照作者的規則——已有近似就 fork,沒有就挑底座造——分兩半落地。反向那一半:**fork GitDiagram**[2],把「回灌成 MSSP-Lang/導圖」那段補上去。正向與迴圈那一半:沒有成品,從底座造。最強的底座,是要「AI 能讀寫畫布 + 視覺編程 + 可被代理經 MCP 操作」的——**tldraw SDK**[4][5] 最對路(內建 Agent、節點 Workflow、MCP app),make-real[3] 是現成的「畫→碼」參考實作可拆解;若要純導圖 UI,**simple-mind-map**[6](MIT,功能完整,匯出 json/md/xmind)或 **mind-elixir**[7](可嵌入的導圖核心);文字 IR 的來回,用 **markmap**[8](markdown ⇄ 導圖)。

---

### 6.8 為什麼是思維導圖,不是別的圖

值得停下來回答一個前面跳過的問題:意圖介面為什麼非得是**思維導圖**?別的圖不行嗎?逐一比過,答案就清楚了。

UML 與類圖那種**工程圖**太精確、太形式——它要求你把型別、介面、關係畫到能直接生成程式碼的程度,於是畫圖和寫程式一樣累,這正是模型驅動工程沒普及的原因[16]。**流程圖**擅長表達時序與控制流,適合描述一個過程怎麼跑,卻不擅長表達架構那種「整體—部件」的層次。**ER 圖**鎖在資料與結構層,太低階,離「意圖」太遠。另一端,**自由白板**(如手繪式的 Excalidraw、tldraw 塗鴉)夠自由、人愛畫,但太無結構——AI 很難穩定地把一團自由塗鴉解析成一份可編譯的規格。

思維導圖剛好落在中間那個甜蜜點。它天生就以「中心 → 分支」的方式編碼層次,這既對應架構的整體—部件結構,也順著 §1 講的空間化認知;它鬆到人真的願意畫(不像 UML),又有足夠的結構(樹加跨節點連線)去承載 SMS/TMS 與依賴(不像自由白板那樣無從解析)。換句話說,思維導圖正好坐在 §7 那條核心張力——「鬆到人願意畫、結構到 AI 能編譯」——的最佳位置上。這不是隨意的偏好,是被那條張力選出來的:在所有常見的圖裡,思維導圖是最能同時讓人畫得動、又讓 AI 讀得懂的那一種。

## 7. 設計原則

把作者透視器一文的幾條原則[1],延伸到這個雙向迴圈,得到五條設計守則。

**非侵入。** 反向工具直接分析公開的 repo 資訊,不要求專案方做任何改動;正向工具不把人鎖進專有格式——導圖的文字 IR 是開放、可版控的,人隨時能把它帶走。

**漸進展開。** 不是生成一張塞滿所有東西的大圖,而是先給全景(幾個主要模組),點一下展開內部,再點一下深入檔案。這順著 §1 的認知限制——人先把握整體、再深入細節。

**雙向連結。** 圖上每個節點超連結回對應的程式碼;整張導圖與 repo 來回同步。看圖理解、點圖跳碼、改碼回灌,無縫切換視圖與實作。

**人畫得動,且 AI 讀得懂。** 這是本設計的核心張力,也是它和古典模型驅動工程的分野。MDE 失敗的地方在於模型要畫到像寫程式一樣精確,於是沒人想用;但若導圖鬆散到沒有結構,AI 又無從編譯。所以 IR 必須卡在中間——**鬆到人願意畫,結構到 AI 能編譯**。怎麼拿捏這條線,是整個專案最難、也最值得做的工程判斷。

**圖即真理,不是插畫。** 導圖必須可版控、可 diff、可與 repo 來回同步,而不是被生成一次就丟的圖片。一張會過時的圖,和傳統架構文件沒兩樣;一張會對帳的活圖,才配當「意圖」。

---

## 8. 風險與邊界

一份誠實的白皮書要標出自己會在哪裡撞牆。這個構想至少有六處需要正視。

**精度的兩難。** §7 已點出核心張力:導圖鬆到人願意畫、又要結構到 AI 能編譯,這條線不好拿捏。偏鬆,AI 編出來的東西和你想的有落差;偏緊,它就退化成 UML,沒人想畫——這正是模型驅動工程二十年沒普及的原因[16]。這個專案成敗,很大程度押在這條線拿捏得好不好,而它沒有現成答案,只能在做的過程中不斷校準。

**漂移與同步是硬問題。** 「圖與 repo 雙向同步」說起來漂亮,做起來難。程式碼一直在變,要讓導圖持續、自動地反映變化而不過時,需要可靠的反向解析與差異對帳;規格驅動開發的工具至今也還在和「規格與程式碼悄悄分家」搏鬥[14][15]。漂移偵測是這個迴圈的紀律核心,也是它最可能先壞掉的地方。

**AI 填碼的可信度。** 正向管線最後一步是「AI 依規格填實作」,而這一步繼承了 vibe coding 的全部風險:產出看似對、跑得動,卻可能藏著沒被發現的錯[13]。把導圖當單一真理、讓每段程式碼可追溯回圖上的某個節點,是為了**讓錯誤可被定位**;但它不能消滅錯誤,只能讓對齊變容易。這個工具降低的是對齊成本,不是審查責任。

**有些意圖,圖畫不出來。** 思維導圖擅長表達層次與關係,但不是所有意圖都是層次與關係。時序邏輯、效能權衡、邊界條件、那些住在「為什麼這樣而不那樣」裡的細微取捨,未必塞得進節點與邊。導圖是意圖的一個強投影,不是意圖的全部;硬要把所有東西畫進去,會把它壓垮成另一種難讀的文件。知道它能表達什麼、不能表達什麼,才用得好它。

**讀者多半是 AI——而這反而是設計線索。** 作者坦言,個人學術實驗站現在來看的人很少,多半是 AI 爬蟲。但這件事換個角度看是設計輸入:如果這套東西未來的主要讀者(無論是讀這份白皮書、還是讀那張意圖導圖的)有很大比例是 AI,那麼「AI 讀得懂」就不是次要需求,而是**第一需求**。導圖的文字 IR 該為機器可解析而設計,文件該為被檢索與被理解而寫。把 AI 當一等讀者,不是退而求其次,是順應這個工具真正的使用情境。

**鎖定風險。** 任何「意圖編譯器」都有把人鎖進專有格式的危險。對治的方式只有一個:讓導圖的文字 IR 開放、可版控、可被任何工具讀寫,讓人隨時能把意圖帶走。這條原則(§7「非侵入」)不是錦上添花,是這類工具能不能被信任的底線。

**評估的困難。** 還有一個繞不開的問題:你怎麼**衡量**編譯出來的專案,到底有沒有符合意圖?麻煩在於,意圖本身就是那張導圖——導圖即規格,於是「符不符合」有點循環:除非有導圖之外的驗收標準(測試、實際跑起來的行為、使用者的回饋),否則你只是在確認「程式碼符合圖」,而不是「圖符合你真正要的」。這和規格驅動開發面對的驗證難題同源[14][15]:規格再清楚,也不保證規格本身是對的。所以這個迴圈需要一個圖之外的錨——可執行的驗收——否則它會在自己的閉環裡自我滿足。

標出這七處,不是勸退,是定位:這是一個值得做、但難做對的東西,而它最難的部分(精度的線、漂移的同步)恰恰也是最有價值的部分。

---

## 9. 應用情境

把抽象落成幾個具體的人(或 AI)會怎麼用它的場景,呼應作者透視器一文裡的鏈條[1]。

**情境一:看懂一個陌生專案。** 你想參與一個開源專案,但它有上百個檔案。你打開它的反向視圖(fork 自 GitDiagram[2]),五分鐘看懂整體架構:哪些是核心、哪些可選、依賴怎麼流。這是今天就能用的那一半。

**情境二:從一張圖起一個新專案。** 你有個構想。你不先寫程式,而是畫一張思維導圖:中心是專案目的,主幹是幾個核心模組(標成 SMS),外圍是可選功能(標成 TMS),節點之間連上依賴。畫完,按「編譯」——它轉成 mssp.config、由 FPL 生成資料夾骨架[1],AI 把實作填進去。你從一張圖,得到一個專案骨架。

**情境三:AI 接手維護。** 半年後,你或別人要改這個專案。AI 代理把那張意圖導圖讀成單一真理,知道每個模組該幹嘛、彼此怎麼依賴,於是它的修改不是盲改,而是對著意圖改——每段變更都可追溯回圖上的某個節點[14][15]。

**情境四:架構漂移告警。** 專案演化了一陣子,程式碼可能悄悄偏離了當初的意圖。反向解析把當前 repo 轉回一張導圖,和意圖導圖對 diff;凡分岔處,系統告警:這裡的程式碼長得和你畫的不一樣了——是程式碼跑偏,還是你的意圖該更新?讓人來對帳。這把「架構文件畫完即過時」這個老問題,變成一個可被持續偵測的訊號。

**情境五:跨專案的架構模式庫。** 當夠多專案的意圖導圖累積起來,你就有了一座架構模式庫[1]。你可以搜:「我想做一個 CLI 工具,有什麼架構推薦?」可以比:「同樣是 Web 框架,這個和那個的架構差在哪?」可以學:成功的專案通常怎麼劃分核心與可選、怎麼佈線依賴。每一張意圖導圖,既是一個專案的起點,也是一塊可被後人複用的模式;個別的圖匯成庫,庫又餵養新的圖——生態正向循環[1]。這一層要等前四個情境跑順、導圖累積到一定量才長得出來,但它是這套東西規模化之後最有價值的回報:讓「站在巨人的肩膀上」從一句口號,變成一個可搜尋、可複用的模式庫。把這件事再推一步,模式庫本身也能被反向解析、被 AI 讀懂——於是「別人怎麼蓋的」這個知識,不再鎖在各自的 repo 裡,而成為人與 AI 都查得到、用得上的共同資產。

五個情境共用同一張導圖。它不是五個工具,是一張意圖底圖在一個迴圈裡的五種讀法——這正是「可視即意圖」要的:一張人與 AI 共讀的圖,貫穿看懂、生成、維護、糾偏。

---

## 10. 與既有工作的關係與致謝

按本文開頭的立場,這一節把歸功講清楚。

反向的「程式碼→架構圖」,**GitDiagram(ahmedkhaleel2004)做得又早又好**[2],它和作者 2025 年初的透視器構想[1]高度重合。我尊重也感謝這個專案;依本文立場,這一半該撿來改,而不是重做。正向的零件,分別感謝:tldraw 團隊的 make-real[3]、SDK 的 Agent 與 Workflow[4]、以及 MCP App[5],把「畫→碼」與「AI 讀寫畫布」做了出來;simple-mind-map(wanglin2)[6]、mind-elixir[7]、markmap[8] 提供了可靠的開源導圖底座;Whimsical[9]、GitMind[10]、Jeda.ai[11] 推進了 AI 導圖;GitHub Spec Kit[14] 與 AWS Kiro[15] 把「規格作為單一真理」這個關鍵範式立了起來,而這正是本文視覺版構想的文字版近親。更古老的模型驅動工程[16],則早已證明「圖→碼」在原理上可行。

那麼,在這些之上,這份白皮書添了什麼?三件事:其一,**把散落的零件焊成一個迴圈**——把反向透視、正向編譯、AI 讀圖、漂移回灌,串成一張導圖貫穿的環。其二,**用母集子集(MSSP)給導圖一個架構語義**[1]——讓圖不只是主題樹,而是 SMS/TMS、依賴、穩定性都編碼在內的、人畫得動的架構規格。其三,**把「規格作為單一真理」從文字推到視覺**——主張思維導圖是比散文更貼合人類直覺、也能被 AI 讀取的意圖載體。

如果這三件事,別人也已經做了而我沒查到,那麼這份文件就退化成一份「我也想到了」的記錄——而那也完全沒關係。我把它寫下來、放上去,是為了讓接手的人省一段路,不是為了爭一個名分。

---

## 11. 連回更大的線

這個構想不是孤立的,它接在作者既有的幾條線上,這裡輕點,不展開。

它是「視覺意圖」這條線(VIML,視覺意圖標記語言)的具體產品化——把「視覺即意圖」從一個語言構想,落成一個導圖編譯器加一個 repo↔圖透視器。它也接在作者的「切口」那條線上:那張思維導圖是一個**場**,把它編譯成專案是**縫**(把局部意圖縫成一個整體系統),而 repo 與導圖的來回同步,正是「切—縫」的一個工程實例——打散(把系統解析回局部節點)與重建(把節點編譯回系統)的雙向操作。從這個角度,意圖導圖也可以看成一個**因果場**:節點是元素,依賴邊是因果/依賴關係,而「能不能從圖乾淨地編譯出可運行的系統」,測的是這張意圖圖本身有多自洽、多可實現。

往最大處看,它接在「意圖即創造」這條總線上[1]:人用自然的方式表達意圖 → 經對話與工具挖掘、結晶成一份結構化規格 → 編譯成專案骨架 → AI 填入實作 → 推上 GitHub → 別人(或 AI)透視、學習、再複用 → 生態正向循環。在這條鏈裡,本文的思維導圖編譯器補的是最前面那一段——把「人表達意圖」從打字描述,換成畫一張人與 AI 共讀的圖,讓意圖在進入編譯之前,就已經是可見、可版控、可被機器讀取的。把入口從文字換成圖,看似只是換了個介面,但它改變的是整條鏈的起點品質:意圖越清晰、越結構化地被表達出來,後面每一段的對齊成本就越低。這也是為什麼這個看似小的工具,值得放進那張更大的網裡認真做。

這些連結這裡只記一筆,留待各自的正式論文展開。點出它們,是要說明:這個白皮書不是一時的工具構想,它是一張更大的網裡的一個節點。

---

## 12. 路線圖

把它落成可以一步步做的階段。誠實地說,這是一份設計與記錄,不是一個進行中的工程進度;階段是給接手的人的順序建議。

第零階段,反向先撿現成:**fork GitDiagram**[2],跑通「repo → 架構圖」,並把「回灌成 MSSP-Lang/導圖」那段接上去——這是今天就能動手、且站在別人肩膀上的一步。

第一階段,立導圖底座:在 tldraw SDK[4] 或 simple-mind-map[6]/mind-elixir[7] 上,做出帶 MSSP 語義(SMS/TMS、依賴、穩定性)的思維導圖編輯器,並讓它有一份開放的文字 IR(可參考 markmap[8] 的 markdown ⇄ 導圖)。

第二階段,通正向編譯:把導圖的文字 IR 接成 mssp.config,再接 FPL 生成專案骨架[1],打通「圖 → 專案骨架」,先不求 AI 填碼完美,求骨架正確。

第三階段,讓 AI 讀圖:循 tldraw MCP[5]/Whimsical MCP[9] 的模式,讓編碼代理把意圖導圖讀成單一真理去填碼與維護,對齊規格驅動開發的做法[14][15]。

第四階段,閉環與漂移:接上反向回灌,做漂移偵測——讓意圖導圖與真實 repo 持續對帳。這一階段最難,也是「可視即意圖」真正成立的標誌:那張圖,從此是活的、是真理、是人與 AI 共讀的同一份意圖。

每一階段都可以獨立交付、獨立有用;不必等到第四階段才見價值。這也是這份路線圖的用意:讓接手的人,從任何一階段都能開始。

---

## 13. 結論

GitHub 是全球最大的程式碼倉庫,但它少了一層:意圖的顯現層。一個專案的架構與設計意圖,潛伏在目錄與程式碼裡,等著被翻譯,而我們長期缺一個翻譯器。

本文圍繞一個構想:讓一張思維導圖,成為人與 AI 共讀的意圖介面——反向把既有專案透視成圖,正向把圖編譯成專案,兩端接成一個迴圈,讓那張圖始終是唯一的意圖真理。誠實的地貌是:反向那一半,別人已經做出來、且幾乎一比一,撿來改就好;正向與迴圈那一半,零件散落各處,但沒有人焊成一個環——而那個環,就是這份文件留下的設計與記錄。

我不在乎是我先想到,還是別人先做。如果別人先做了,我尊重他們、感謝他們。我把它寫下來、放到網路上,即使現在來看的多半是 AI,至少它被記下來了——成為一個未來的人、或未來的 AI,可以撿起來接手的起點。地圖畫到了路的盡頭,而路的盡頭之外那段還沒人走的,我把它標了出來;走不走、誰去走,那是後來者的事。退一步說,這份文件最實在的價值,或許不在那個迴圈最終會不會被造出來,而在它把「現在有什麼、缺什麼、可以怎麼接」記成了一張清楚的地圖。技術會換代、工具會更名,但「意圖該被顯現」這個問題不會過時;只要問題還在,這張地圖就還有人、或還有 AI,用得上。

把隱藏的意圖顯現出來,讓看得見的圖直接就是意圖本身——這件事值得有人去做,無論那個人是誰,無論是不是我。

---

## 引用

引用為 2026 年 6 月檢索所得;開源專案演化快,連結、版本與年份請於採用前再核。

[1] Neo K.(許筌崴),〈GitHub 架構透視器:讓隱藏的架構可視化〉,一言諾科技有限公司(EveMissLab),2025 年 1 月。(作者前作)
[2] GitDiagram — ahmedkhaleel2004/gitdiagram. https://github.com/ahmedkhaleel2004/gitdiagram ; https://gitdiagram.com/
[3] tldraw make-real. https://github.com/tldraw/make-real ; https://makereal.tldraw.com/
[4] tldraw SDK(Agent / Workflow / 畫布). https://github.com/tldraw/tldraw ; https://tldraw.dev/
[5] tldraw MCP App. https://tldraw.dev/blog/tldraw-mcp-app
[6] simple-mind-map — wanglin2. https://github.com/wanglin2/mind-map
[7] mind-elixir(框架無關的導圖核心). https://github.com/SSShooter/mind-elixir-core
[8] markmap(markdown ⇄ 導圖). https://markmap.js.org/
[9] Whimsical AI Mind Maps(含 MCP). https://whimsical.com/ai/ai-mind-maps
[10] GitMind. https://gitmind.com/
[11] Jeda.ai Visual AI / AI Mind Maps. https://www.jeda.ai/
[12] 自然語言 → 圖即程式碼(PlantUML / Graphviz via LLM);參 Galileo, "How Code Interpreters Generate Visuals From Natural Language". https://galileo.ai/blog/code-interpreters-visual-models
[13] Vibe coding(術語,2025 年 2 月提出). https://en.wikipedia.org/wiki/Vibe_coding
[14] GitHub Spec Kit(規格驅動開發開源工具,2025). https://github.com/github/spec-kit
[15] AWS Kiro(agentic IDE,規格驅動,2025 年 7 月). https://kiro.dev/
[16] 模型驅動工程(MDE / MDA);Eclipse EMF、Sirius、Acceleo 一脈為代表參考。

*本文為 EveMissLab 技術白皮書工作稿。立場已於開頭與 §0 標明:記錄、歸功、交棒;地貌當事實,缺口當判斷,設計當草案。*
