2026年3月25日 星期三

不想再當「裝忙」上班族?善用 AI 與 VBA,打造一鍵完成的自動化工作流

 

不想再當「裝忙」上班族?善用 AI 與 VBA,打造一鍵完成的自動化工作流

簡報:











影片:

1. 前言:你還在手動複製貼上嗎?

在我的諮詢經驗中,常看到辦公室職員每天上演同樣的劇本:從政府開放平台下載「台北市住宅竊盜」資料,手動打開 CSV、複製、貼上到 Excel,再費力地清理格式。

許多人為了避免做太快被老闆交派更多雜事,選擇「裝忙」來應付。但我要告訴你,真正的專業不是比誰工作時間長,而是比誰能「一鍵完成」。學習自動化不再是程式設計師的專利,而是現代職場人的生存必殺技。

2. 別捨近求遠:為什麼 VBA 依然是 Excel 自動化的首選?

很多學生問我:「老師,現在不是都在學 Python 嗎?」我常笑著用一個隱喻回答:這就像你大老遠跑去國外買東西,回家一看標籤竟寫著「Made in Taiwan」。

如果你處理的資料最終目的地就是 Excel(例如做樞紐分析、折線圖),那麼 VBA 才是最高效的原生工具。

專家觀點: 除非那個任務是非 Python 不可(例如深度學習或大型自動化系統),否則在 Excel 環境下,直接用 VBA 才是「聰明工作」的最佳實踐。

3. AI 是你最強的助教:讓 ChatGPT 幫你寫出爬蟲與除錯

現在,你不需要從零背誦語法。透過 ChatGPT,你可以迅速生成抓取資料的 VBA 程式碼。在我的教學中,我最推薦使用 QueryTable 物件,它是處理 CSV 資料最快、最穩定的方式。

與 AI 互動的【高效提示詞】範本:

「請幫我寫一個 VBA 程式,使用 QueryTable 物件抓取 CSV 資料。下載網址為:[貼上台北市住宅竊盜資料網址],資料請匯入到目前工作表的 A1 儲存格。」

技術細節:編碼是成敗關鍵 如果抓下來的資料是亂碼,通常是編碼選錯了。這會讓你一整天的心情都很差,請記住這兩個關鍵數值:

  • Big5 (繁體中文): 設定為 950
  • UTF-8: 設定為 65001

若執行時出現「陣列索引超出範圍」,通常是工作表名稱(如 Sheet1 與 工作表1)對不起來。這時只需告訴 AI 你的工作表名稱,或請它改成 ActiveSheet 即可解決。

4. 錄製巨集:三十年不退流行的「無代碼」開發術

在我看來,錄製巨集是 Excel 隱藏最深的「秘密武器」。如果你不知道如何向 AI 描述複雜的整理動作,那就「做一遍給電腦看」。

錄製前的關鍵在於「彩排」。以「插入年份」與「插入區域」為例,先練習一次滑鼠右鍵插入欄位、輸入公式(如 LEFTMID)與向下填滿的動作。只要彩排順暢,錄製功能就能將你的動作完美轉化為 VBA 物件。

5. 代碼精簡化:從「動作記錄」進化到「高效腳本」

錄製生成的程式碼通常很冗長,因為它記錄了大量的 .Select(選取動作)。這會拖慢執行速度。

我建議的黃金流程是:錄製巨集 → 將代碼貼給 AI → 要求精簡化 (Refactoring)。 AI 能將繁瑣的選取動作優化為直接對 Range 物件的操作,並幫你加上清楚的註解。這不僅讓程式跑得更快,也讓你從模仿中學會專業的寫法。

6. 動態追蹤資料列:讓你的工具具有「成長性」

新手寫的程式常會卡在「固定範圍」(例如 A1:D4345)。如果明天的資料增加到 5000 列,舊程式就會漏掉新資料。

從「堪用腳本」躍升為「專業工具」的關鍵,在於使用 End(xlUp).Row 技術。 它的邏輯很聰明:想像程式先跳到工作表的最底端(第 104 萬列),然後「向上跳」直到撞到最後一列資料。透過這個動態追蹤的數字,無論資料量如何增減,你的自動化工具都能精準涵蓋所有欄位。

7. 結構化工作流:利用 Call 指令串聯任務

一個專業的自動化流程是由多個小模組構成的。我習慣將任務拆解為:

  1. Sub 下載資料
  2. Sub 插入年份
  3. Sub 插入區域

最後,建立一個主程式,利用 Call 指令將它們串聯起來。你在 Excel 介面只需設定一個「一鍵啟動」按鈕,整套邏輯鍊就會自動跑完,幫你省去手動操作的風險與時間。

8. 職涯啟發:效率換取的是你的「選擇權」

提升技術不僅是為了節省時間。我有個學生原本只是基層助理,透過這套自動化方法,不僅效率提升,更展現了邏輯與解決問題的能力。後來他成功轉職為「專案經理 (Project Manager)」,薪水更是呈「三級跳」式成長。

當你擁有了別人沒有的效率,你就擁有了與老闆談判或換環境的籌碼。

職場最具震撼力的一句話: 「給香蕉當然只能找到猴子,給獅子當然不合。」當你成為職場上的獅子,你可以選擇森林,而不是等著被挑選。

9. 結語:下一個自動化大師就是你

我們從資料爬取、錄製、精簡到結構化整合,完整走了一遍自動化之路。這不僅是技術,更是一種思維的轉變。

最後,留給你一個思考題: 「如果你的例行工作每天能節省兩小時,你會把這些時間投資在哪裡,好讓自己從『事求人』變成『人求事』?」

2026年3月23日 星期一

不再怕 Bug!從 Python 入門到 AI 自動化的 5 個超直覺關鍵思維

不再怕 Bug!從 Python 入門到 AI 自動化的 5 個超直覺關鍵思維

簡報:














影片:

1. 前言:程式學習的新時代

想像一個場景:你正興致勃勃地撰寫人生第一段 Python 程式,卻因為一個看不見的縮排空格,或是把數字當成了文字,導致程式卡住不動。過去,初學者往往需要花費數小時在討論區搜尋答案,或是在螢幕前焦慮地對著錯誤訊息苦思。

然而,我們已經進入了「AI 輔助學習」的新時代。現在學習程式不再是孤軍奮戰,ChatGPT 等 AI 工具就像是一位 24 小時隨候在側的技術顧問。它不只能告訴你錯在哪裡,還能解釋為什麼錯。這讓學習者的角色從「死記硬背的學生」轉變為「決策與審閱的開發者」。只要掌握正確的邏輯思維,任何人都能跨越語法的門檻,享受自動化帶來的成就感。

--------------------------------------------------------------------------------

2. 驚喜觀點一:AI 不只是聊天機器人,它是你的「全能除錯器」與「優化大師」

在學習初期,遇到錯誤訊息(Error Message)是必經過程。過去我們視 Bug 為敵,但在 AI 時代,Bug 是最好的教材。AI 具備「即時判斷錯誤原因」的能力,這能將原本挫折的除錯過程轉化為高效的學習環節。

  • 即時修復與註釋: 當你把報錯的程式碼貼給 AI,它能立刻提供修正版本,並自動加上「#」開頭的程式註釋,讓你理解每一行代碼的運作邏輯。
  • 從「能跑」到「優雅」: 即使程式可以運行,AI 也能教你寫得更專業。例如,它會建議你將舊式的 .format() 寫法轉化為更簡潔的 f-string(在字串前加上一個 f),讓代碼更易讀、效率更高。

以前寫程式,出錯後找 Bug 是最花時間的;現在 AI 直接幫你出錯、解釋原因,甚至直接告訴你哪個版本更優化,這在以前是想都不敢想的。

--------------------------------------------------------------------------------

3. 反直覺發現二:你以為輸入的是數字?小心 input() 的「文字陷阱」

初學者最常遇到的挫敗感往往來自 TypeError。例如,當你想判斷使用者的成績是否及格時,明明輸入了 80,程式卻崩潰了。這是因為 Python 的 input() 函數有一個核心特性:無論使用者輸入什麼,它一律視為「字串 (String)」。

如果你直接用 int() 來轉換,萬一使用者輸入了帶有小數點的 80.5,程式會立刻崩潰報錯。

  • 更聰明的解決方案: 建議使用 eval() 函數。它像是一個「智慧過濾器」,能自動判斷輸入內容,無論是整數還是小數點都能輕鬆處理,避免程式因為型態不符而中斷。
  • 本質差異對比:
    • 文字相加:"5" + "3" 的結果是 "53"(這是文字串接)。
    • 數字運算:5 + 3 的結果是 8(這才是真正的數學運算)。

--------------------------------------------------------------------------------

4. 關鍵知識三:縮排(Indentation)不是為了美觀,而是程式的「生命線」

在許多文書軟體中,縮排只是為了排版好看,但在 Python 中,縮排是決定邏輯層級的嚴格語法。

  • 決定「誰屬於誰」:if 邏輯判斷或 for 迴圈中,縮排決定了哪些程式碼是在該條件成立時才執行的。
  • 對齊規則: 邏輯的開頭與結束必須嚴格對齊。例如 ifelse 必須在同一條垂直線上。如果不小心多了一個空白或拿掉縮排,Python 就會直接罷工。

縮排是絕對必要的,不要隨性不加。這不是個人風格問題,而是程式能否執行的關鍵。

--------------------------------------------------------------------------------

5. 實戰突破四:Python 邏輯竟然能「一鍵翻譯」成 Excel VBA?

這是對辦公族最具衝擊力的應用:你可以把 Python 當作你的「邏輯引擎」,而把 Excel VBA 當作「發佈管道」。即便你的辦公室電腦禁止安裝任何 Python 環境,你依然可以用 Python 思維實現自動化。

  • 邏輯大挪移: 只要在 Python 中寫好邏輯(如:BMI 計算或業績抽成判斷),直接請 AI 「將這段 Python 改寫為 VBA」。
  • Excel 實作三步驟:
    1. 在 Excel 中按下 Alt + F11 開啟編輯環境。
    2. 點選選單中的「插入」->「模組 (Module)」。
    3. 將 AI 生成的 VBA 程式碼貼入,你的 Excel 瞬間就擁有了自動化處理能力。

--------------------------------------------------------------------------------

6. 高效技巧五:掌握 range() 函數的「邊界感」與「跳躍力」

處理大量重複任務時,for 迴圈搭配 range() 是最強大的武器。但要掌握它的兩個精髓:

  • 不包含結束點: range(1, 100) 只會產生 1 到 99 的數值。100 是「停止點」,不包含在內。因此 1 到 99 的加總結果會是經典的 4950。
  • 「步長 (Step)」的效率差異: 如果你想加總 1 到 100 之間的奇數,傳統邏輯需要讓 CPU 檢查每一個數字,但「步長」能讓程式直接跳過不必要的運算。

方法 A:傳統邏輯篩選(CPU 每一項都要檢查)

if i % 2 == 1:
    ans = ans + i

方法 B:步長篩選(直接跳過偶數,效率最高)

for i in range(1, 100, 2):
    ans = ans + i

利用 range(1, 100, 2),程式會直接從 1 跳到 3、5、7...,這就是邏輯思維優於死背語法的最佳證明。

--------------------------------------------------------------------------------

7. 結語:從「寫程式」到「用程式解決問題」

在 AI 時代,環境配置、語法轉型、甚至是跨語言轉換,都能在 AI 的輔助下輕鬆達成。我們學習的核心不再是成為「語法字典」,而是培養清晰的邏輯思維,並學會如何與 AI 協作來解決實際問題。

最後,留給各位一個思考題:「當 AI 已經能幫我們寫出大部分精準的語法時,作為人類開發者,我們最不可取代的價值將會是什麼?」

2026年3月21日 星期六

揭秘 AI 的大腦:LLM 運作原理與 Token 機制全圖解

 

揭秘 AI 的大腦:LLM 運作原理與 Token 機制全圖解

簡報:















影片:

歡迎來到 AI 的底層世界。作為 AI 基礎教育架構師,我的目標是為你建立一套穩固的底層認知框架。當我們在談論 ChatGPT、Claude 或 Gemini 時,我們其實是在與一個極其複雜的「大語言模型」(LLM)交互。要精準掌握 AI 工具,你必須先理解它的「大腦」是如何運作的。

--------------------------------------------------------------------------------

1. 核心隱喻:大語言模型其實是在玩「文字接龍」

大語言模型(Large Language Model)在本質上並不像人類那樣具有「思考能力」,它更像是一個精密的數學函數。當你輸入一段話,模型內部的矩陣運算會計算出下一個「詞」出現的機率。

這個過程可以被理解為一場極致的「文字接龍」。模型不是一次性生成整段答案,而是一個詞、一個詞地預測。每輸出一個詞,它會利用**「循環回填」(Recursive Backfilling)**機制,將新產生的詞抓回到輸入序列的末尾,重新進行下一次運算。這正是為什麼你在使用 AI 時,會看到文字如同流水般逐一跳出的原因。

文字接龍與循環回填的動態過程:

  1. 初始輸入: 「馬克的視頻怎麼樣?」
  2. 第一輪預測: 模型根據數學機率,預測下一個最可能的詞是「特別」。
  3. 循環回填: 模型將「特別」追加到原句子後方,輸入變為:「馬克的視頻怎麼樣?特別」。
  4. 第二輪預測: 基於更新後的序列,預測下一個字是「」。
  5. 接續運算: 重複上述動作,接連預測出「」。
  6. 識別終點: 當模型判斷邏輯已完整,會輸出一個特殊結束標示符,宣告生成任務徹底結束。

學習過渡: 既然模型本質上是處理矩陣運算的數字機器,它又是如何與人類感性的文字溝通的?這就需要一位專業的「翻譯官」。

--------------------------------------------------------------------------------

2. 翻譯官登場:Tokenizer 的編碼與解碼

模型並不認識文字,它只處理數字。Tokenizer(分詞器) 扮演了人類與模型之間的中間人,負責將文字轉譯為數字,或將數字還原為文字。

階段

動作重點

具體步驟

編碼 (Encoding)

將感性文字轉譯為理性數字

1. 切分 (Segmentation):將句子拆解成最小處理單位(Token)。<br>2. 映射 (Mapping):將每個 Token 對應到唯一的 Token ID(數字)。

解碼 (Decoding)

將模型計算結果還原為文字

1. 直接映射:將模型產出的 Token ID 對照回文字。<br>2. 高效輸出:因模型每次僅噴出一個 Token,解碼無需再次切分,效率極高。

學習過渡: 雖然我們習慣稱之為「詞」,但 Token 並不完全等同於我們語言學中的單詞,它是模型理解世界的最小單位。

--------------------------------------------------------------------------------

3. 深入理解 Token:大模型處理的基本單位

Token 是大模型處理文本的最小處理單位。理解 Token 的切分規律,是掌握模型能力邊界與成本控制的關鍵。

  • 中文切分案例: 中文詞彙常被拆分為更小的單位。例如「工作坊」會被拆為 工作 + ;而「程序員」則被拆為 程序 +
  • 英文切分案例: 常見單詞如 hello 佔用 1 個 Token,但不常見的組合如 hful 則會被拆分為 h + ful
  • 特殊符號案例: 特殊符號的成本極高,例如一個「對勾符號」在底層可能需要 3 個 Token 才能完整表示。

核心換算規律: 為了精準估算模型的處理負荷與成本,請記住以下工程經驗法則:

  • 1 個 Token ≈ 0.75 個英文單詞
  • 1 個 Token ≈ 1.5 到 2 個漢字
  • 換算後果:40 萬個 Token ≈ 60 萬到 80 萬個漢字(這直接決定了你輸入資料的長度極限)。

學習過渡: 這些 Token 累積起來,不僅構成了對話,也定義了模型的「記憶空間」。

--------------------------------------------------------------------------------

4. 記憶的邊界:上下文 (Context) 與窗口 (Window)

LLM 本身並不具備生物學意義上的長效記憶。它之所以能「記得」你之前的提問,是因為後端程式在每次對話時,都會將「對話歷史」重新抓取並與當前問題一起傳送給模型。

  • Context (上下文): 模型每次處理任務時接收到的總信息量,包含:
    • 當前用戶問題 (User Prompt)
    • 對話歷史紀錄
    • 系統規則與角色設定 (System Prompt)
    • 正在生成的 Token
  • Context Window (上下文窗口): 這是模型能容納 Token 的物理上限。一旦對話總量超過窗口,模型就會被迫丟棄最早的資訊,產生「斷片」現象。

主流模型的窗口數據對比:

  • GPT 5.4:12.8 萬 Token。
  • GN 1.5 Pro / Claude Opus 4.6: 可達 100 萬 Token。

感性理解 100 萬 Token 的容量: 100 萬 Token 約等於 150 萬個漢字。這意味著你可以將整套《哈利波特》全集一次性塞進模型的上下文窗口中,它依然能精準地在整本書的範圍內回答你的問題。

學習過渡: 掌握了 Token 與窗口的邏輯,你就能理解 AI 協作的底層成本與記憶極限,從而更高效地設計你的 Prompt。

--------------------------------------------------------------------------------

5. 總結:LLM 底層運作邏輯心智圖

作為初學者,請務必內化以下三個核心底層認知,這將是你通往 AI 高階應用的基石:

  • [ ] LLM 本質是預測機: 它是一個基於矩陣運算與數學函數、不斷預測下一個 Token 的文字接龍高手。
  • [ ] Tokenizer 是轉譯核心: 所有的文字都必須經過編碼(切分與映射)才能被模型處理;而解碼則是高效的單向還原。
  • [ ] Token 是能力與成本的度量衡: Token 的數量決定了模型的計算成本,也限制了「上下文窗口」所能承載的記憶總量。

2026年3月20日 星期五

程式碼已死,意念萬歲:Google Antigravity 與 Vibe Coding 啟動的開發大革命

 


程式碼已死,意念萬歲:Google Antigravity 與 Vibe Coding 啟動的開發大革命

簡報:















影片:

1. 前言:從「刻代碼」到「控意念」的轉向

在軟體開發的舊世界裡,創意往往受困於語法、環境配置與無止盡的除錯(Debug)循環。想要實現一個想法,你必須先學會與機器溝通的語言。然而,隨著 Google 推出的 AI 開發工具 Antigravity 橫空出世,我們正在見證一個範式轉移(Paradigm Shift)的奇點:開發不再是手動敲擊鍵盤的苦力活,而是一場由「意念」驅動的華麗表演。

這種被稱為「Vibe Coding」的新模式,將開發者的學習曲線從「如何寫代碼」直接壓縮至「如何下判斷」。即使你完全不懂編程,只要具備清晰的邏輯與願景,現在就能透過 Antigravity 將創意轉化為現實。

--------------------------------------------------------------------------------

2. 重點一:Vibe Coding 的靈魂——當開發變成一種「感覺」

「Vibe Coding」並非只是自動補全代碼,它是一種**意念驅動(Intention-driven)**的迭代循環。在這種模式下,開發者的核心職責從「工人」轉變成了「產品經理」與「審美者」。

「你可以把它理解為一種意念驅動的開發方式... 你就像是一個產品經理,只需要關注最終成品是不是你想要的。這就像是你僱用了一群 24 小時待命的程式員,你負責出主意,他們負責執行。」

Vibe Coding 的三大支柱:

  • 從「寫」到「評」: 你不需要知道代碼如何運作,你只需要觀察 AI 的執行結果(Vibe),並給予正向或負向的反饋。
  • Tab 補全的極致體驗: 這是 AI 編輯器的靈魂。Antigravity 透過預測你的意圖,讓你在輸入幾個字元時,AI 就能預知你下一步的動作(如自動修正變數名稱或縮進),這種流暢感是 Vibe Coding 成功的關鍵。
  • 迭代反饋圈: 想法 -> AI 執行 -> 人類評斷 -> 修正,這是一個高速循環的過程。

--------------------------------------------------------------------------------

3. 重點二:打破昂貴門檻——頂尖模型的「免費」盛宴

在 Cursor 等競爭對手紛紛走向高額訂閱制的當下,Antigravity 投下了一枚震撼彈:目前完全免費使用最頂尖的 AI 模型。

它打破了品牌壁壘,不僅支援 Google 自家的 Gemini 1.5 Pro 與 Flash,更整合了 Anthropic 的王牌模型:

  • Claude 3.5 Opus(最強大的邏輯規劃能力)
  • Claude 3.5 Sonnet
  • Claude 3.5 Haiku

這對於市場現狀是毀滅性的衝擊。開發者可以根據任務複雜度切換模型,例如用 Opus 制定架構,用 Flash 進行快速的小功能迭代。值得注意的是其刷新機制:免費版額度每週刷新一次,付費版則縮短至每 5 小時。

--------------------------------------------------------------------------------

4. 重點三:Agent Manager——打破對話框的並行生產力

Antigravity 最具洞察力的設計在於 Agent Manager。它粉碎了傳統 AI 工具中「單一對話框」的限制,將 Agent 提升為獨立的「虛擬員工」。

  • 跨項目協作: Agent Manager 是集中管理的面板,你可以同時啟動多個 Agent,並讓它們並行工作。一個處理 UI 介面,另一個處理後端邏輯。
  • 獨立編輯空間: 每個 Agent 的對話都可以轉化為一個獨立的編輯窗口,這讓開發環境更像是一個充滿活力的工作室,而非單調的代碼編輯器。

--------------------------------------------------------------------------------

5. 重點四:典範轉移——「拋棄式代碼」與「永續架構」

這是我身為技術佈道師最想分享的觀點:在 Vibe Coding 時代,代碼不再是資產,它是附屬品,甚至是「拋棄式」的。

當 AI 能在幾秒內生成上千行代碼時,我們不應再執著於代碼的維護,而應專注於架構文件(Implementation Plan & Task Files)

  • 核心資產: 定義系統邏輯與耦合性的架構文件。
  • 控制手段:
    • Rules (規則): 定義 AI 的「性格」與「品味」,例如強制使用繁體中文、遵循特定的 coding style。
    • Workflows (工作流): 利用自然語言自定義「指令」,將複雜動作(如生成繁體 README 或 GitHub 初始化)轉化為簡單的斜槓指令(/)。

--------------------------------------------------------------------------------

6. 重點五:專家實戰告誡——那些「坑」與全鏈路自動化

作為前沿評論家,我有責任提醒你這條通往未來的路徑上藏著哪些陷阱。

⚠️ 專家警告:千萬別隨便點「Undo」

目前的 Antigravity 存在一個致命 Bug:編輯器中的「Undo/Reject(拒絕)」按鈕並非僅是撤銷代碼,它會直接刪除該指令所創建的所有相關文件。在官方修復前,請謹慎使用此功能,建議先「Accept(接受)」再手動修改。

🔧 安裝與配置的硬核要求

  • VPN 的 TUN 模式: 國內使用者必須開啟 VPN 的 TUN 模式或虛擬網卡,否則會卡在登錄頁面。若登錄無反應,嘗試切換 Google 帳號歸屬地與節點的一致性。
  • MCP 與 Docker: 透過 MCP (Model Context Protocol) 整合 GitHub 進行自動發布時,本地必須運行 Docker,因為 MCP 服務是基於容器運行的。
  • 自動化測試: 透過安裝 Browser sub-agent,AI 能自動操作瀏覽器驗證功能。雖然反應較慢(因為涉及模型推理),但這實現了從寫作到測試的閉環。

--------------------------------------------------------------------------------

7. 結語:你準備好調整開發「頻率」了嗎?

Vibe Coding 與 Antigravity 的出現,標誌著語法障礙的徹底瓦解。當「寫程式」的技術門檻趨近於零,人類真正的競爭力將回歸到**「對問題的深刻洞察」「對完美架構的追求」**。

未來的開發者,不再是受困於分號與括號的苦力,而是手握指揮棒的交響樂團指揮。Antigravity 雖然仍有 Bug,但它展現的未來已經足夠耀眼。

最後思考: 當代碼變成了隨時可拋棄的廉價基礎設施,你的下一個創意,是否已經準備好透過這股「意念」的力量,轉化為改變世界的軟體了?你會如何定義你自己的開發「Vibe」?