2026年10月28日 星期三

用Visualize把抽象概念變成可操作的互動範例-2


作者:許薰尹  
精誠資訊/恆逸教育訓練中心資深講師

本系列共分為兩篇,介紹如何在 ChatGPT Desktop App 中使用 Visualize外掛程式,將資料分析、版本控制與資料庫查詢等抽象內容,轉換成容易理解、可以操作的互動範例。第一篇聚焦在Visualize 基礎與銷售儀表板的設計;第二篇則延伸應用在 Git Branch 與 SQL JOIN 的互動模擬。

前言

Visualize 的價值不只在於產生圖表,也在於讓使用者透過操作理解狀態與規則。本篇承接上篇,示範如何把 Git Branch 的版本流程,以及 SQL JOIN 的資料配對結果,做成可以切換、輸入與即時觀察的互動模擬器。


情境二:把抽象狀態做成互動模擬器

Visualize 不只適合資料圖表,也能根據文字描述建立帶有狀態變化的互動式介面。下一個範例是使用Git Branch管理程式版本的情境:假設目前只有 main 分支,要建立 feature分支修改網站的功能,完成後再合併回 main。這裡所要呈現的是 Git Graph 與指令造成的狀態變化,不需要建立真正的 Git Repository。

 

使用提示詞

@Visualize 建立一個 Git Branch 互動式模擬器,讓使用者手動輸入 Git 指令。初始狀態只有 main,輸入 git commit -m "Initial commit" 後才出現第一個 Commit。使用 Git Graph 顯示 Commit、Branch、HEAD 與 main,介面使用繁體中文。

 

Visualize 會先建立Git Graph,這時先確認圖形是否清楚,參考下圖,模擬器下方有一個手動輸入「Git 指令」的區塊。

圖 1:Git 模擬器的初始狀態:只有 main,尚未建立 Commit

 

建立 Initial commit

在Git 模擬器的「Git 指令」區塊輸入下列指令,再按「執行」完成後,圖上會出現第一個 Commit 圓點,main 也會指向它。

git commit -m "Initial commit"


執行的結果請參考下圖所示:

圖 2:第一個 Commit


建立 feature Branch

在Git 模擬器的「Git 指令」區塊輸入下列指令。圖上會多出一個 feature,但 HEAD 仍留在 main,代表目前還在main這個Branch;建立 Branch 只新增指標,不會複製 Commit。

git branch feature


執行的結果請參考下圖所示:

圖 3:建立 feature Branch

切換到 feature

在Git 模擬器的「Git 指令」區塊輸入下列指令。看到 HEAD → feature,就表示下一個 Commit 會建立在 feature。

git switch feature

執行的結果請參考下圖所示:

圖 4:切換到 feature


在 feature 建立 Commit

在Git 模擬器的「Git 指令」區塊輸入下列指令:

git commit -m "新增功能"

Git Graph 會新增圓點,feature 向前移動,而 main 保持原位,執行的結果請參考下圖所示:

 

圖 5:在 feature 建立 Commit


合併回 main

在Git 模擬器的「Git 指令」區塊輸入下列指令切換到main:

git switch main 


執行的結果請參考下圖所示:


圖 6:切換到main

 

 

在Git 模擬器的「Git 指令」區塊輸入下列指令進行merge:

git merge feature

main 沒有其他變更時會 Fast-forward;兩邊都有新 Commit 時則會建立 Merge commit,執行的結果請參考下圖所示:

 

圖 7 :合併回 main 後,可由 Git Graph 觀察分支指標與合併結果

 

這個範例主要用到三種視覺化資訊:Commit 是節點,Branch 是指向節點的名稱,HEAD 表示目前所在的分支。若 main 沒有其他變更,合併可能呈現 Fast-forward;若兩邊各自有新的 Commit,則可能形成 Merge commit。

情境三:使用 SQL JOIN 比較資料配對結果

最後我們來看SQL JOIN Viaualize範例,以 Customers 與 Orders 兩張資料表為基礎。我希望畫面左側顯示 Customers資料表,右側顯示 Orders資料表,使用者可切換 INNER JOIN、LEFT JOIN、RIGHT JOIN,結果區塊則即時呈現哪些資料列被保留。這種介面把「查詢結果為什麼不同」直接放到操作流程中。

使用提示詞

@Visualize 建立一個 SQL JOIN 互動式模擬器。左邊顯示 Customers,右邊顯示 Orders,可以切換 INNER JOIN、LEFT JOIN、RIGHT JOIN,即時顯示哪些資料列會出現在結果中,並在下方提供操作說明與預期結果。介面使用繁體中文。


三種 JOIN 的差異:

JOIN 類型

結果保留哪些資料

常見使用方式

INNER JOIN

只保留兩張資料表都能配對的資料列。

查看兩資料表共同存在的紀錄。

LEFT JOIN

保留 Customers 資料表的全部資料,沒有訂單者仍會出現。

找出尚未建立訂單的客戶。

RIGHT JOIN

保留 Orders 資料表的全部資料,對不到客戶者仍會出現。

檢查訂單與客戶的關聯缺漏。


執行的結果請參考下圖所示:

圖 8 :SQL JOIN 模擬器同時呈現兩張資料表、共同欄位與結果區塊


使用時先確認兩張資料表的共同欄位,再固定資料只切換 JOIN 類型。INNER JOIN 會留下兩表都有的資料;LEFT JOIN 保留 Customers 的全部資料,因此沒有訂單的客戶仍會出現;RIGHT JOIN 則保留 Orders資料表 的全部資料,方便檢查對不到客戶的訂單。空白欄位不一定是錯誤,也可能代表沒有找到配對資料。

SQL LEFT JOIN執行的結果請參考下圖所示:

圖 9:SQL LEFT JOIN 模擬器同時呈現兩張資料表、共同欄位與結果區


SQL RIGHT JOIN執行的結果請參考下圖所示:

圖 10: SQL RIGHT JOIN 模擬器同時呈現兩張資料表、共同欄位與結果區塊


總結

Visualize 特別適合應用在資料分析、流程說明、概念教學、方案比較與互動模擬方面,讓原本需要大量文字解釋的內容,變成更直覺、容易理解與操作的視覺化內容。

Visualize 的使用流程可以濃縮為:上傳資料或描述需求 → 建立第一版 → 用自然語言逐項修改 → 加入篩選與互動 → 檢查結果與資料定義。

從銷售 Dashboard 到 Git Branch、SQL JOIN,三個範例展示了 Visualize 的不同面向:它可以整理資料、呈現比較、連動明細,也可以把指令與查詢規則轉成可操作的狀態介面。只要先說清楚資料、目標、呈現方式與互動規則,就能從一個簡單的提示詞開始,逐步形成完整的互動內容。

0 意見:

張貼留言