Skip to content

階段七(老師示範):當 AI 指揮官,讓 AI 操作超級電腦 ​

約 20~30 分鐘,由老師示範,學生觀看與討論,不需要操作。

老師從自己的筆電,用 Antigravity 透過 Remote-SSH 連到國網中心的超級電腦 Nano4(晶創26),請 AI 用自然語言操作一條真實的研究管線:以 FreeSurfer 批次分析 MRI 腦部影像。示範專案是 freesurfer-nano4-pipeline(私人 repo,想看完整內容可以向老師申請存取權限;本頁只整理觀察重點)。

老師是指揮官:用自然語言下指令、審核 AI 的提案、檢查結果;AI 負責實際操作遠端的超級電腦。

🎬 示範影片:AI4Science|AI Agent × 國網 HPC 科研運算 (v1.0) 課堂示範前可以先看,或在現場網路無法連線時改播這段影片。

這個示範要讓你看到三件事:

  1. 研究者可以用自然語言指揮 AI 操作超級電腦。 不用會 Slurm 排程、容器或 shell 腳本,說「幫我跑 FreeSurfer」,AI 就會掃描資料、提出計畫、送出作業、回報進度。
  2. 規模變大,AI 犯錯的代價也變大。 前面學的是在自己電腦上和 AI 協作;在超級電腦上犯錯,會浪費運算資源、交付錯誤的研究資料,所以每一步都是「AI 先提案、人同意才執行」。
  3. 只靠 AI 自律不夠。 AI 曾回報「15/15 完成」,實際上全部缺件;也曾違反自己參與撰寫的規則。關鍵的檢查要交給程式,不能只看 AI 怎麼說。

用航空母艦來想 ​

超級電腦就像一艘航空母艦。老師是艦長,AI 是飛行管制官:艦長下命令、核准起飛、確認戰果;管制官負責規劃任務、調度戰機、回報狀態,但沒有艦長同意就不能讓戰機起飛。

航空母艦這次示範
艦長:下命令、核准起飛、確認戰果老師:用自然語言下指令、同意 AI 的計畫、檢查結果
飛行管制官:規劃任務、回報狀態AI:讀檔、寫腳本、提出計畫、回報進度
航空母艦Nano4 超級電腦
任務準備室:規劃任務、下達起飛命令,不在這裡作戰登入節點:讀檔、寫腳本、送出作業,不跑大量計算
甲板調度與彈射器:決定哪架戰機何時起飛Slurm 排程系統:決定作業何時、在哪個計算節點執行
艦載戰機(例如 F/A-18、F-35C)出任務,可以多架同時出擊計算節點分析 MRI,每例要跑數小時,可以多例同時跑
燃油和彈藥:有限,用了就沒了運算資源:依使用量計費(SU),每例約 3 SU
任務回報:每架戰機都要確認戰果完成檢查:每例都要有 8 個輸出檔

示範和事件都可以用這個比喻來看:

  • 示範中:AI 提出計畫後問「確認執行嗎?」,就像管制官請求起飛許可;老師回答「先不要執行」,就是艦長不准起飛。
  • AI 跳過確認:管制官沒有請示,就自己放飛戰機。
  • 偽完成:管制官回報「15 例全部完成任務」,實際上每一例都缺少戰果。艦長如果只聽回報、不看戰果,就不會發現。

示範的架構 ​

text
老師的筆電                                   Nano4 超級電腦(國網中心)
┌────────────────────┐   Remote-SSH       ┌──────────────────────────────────┐
│ Antigravity        │ ─────────────────▶ │ 登入節點:AI 在這裡讀檔、寫腳本  │
│ (編輯器+AI)      │   (密碼+OTP)     │        │ sbatch 送出作業           │
│                    │                    │        ▼                          │
│ 老師用自然語言下指令│                    │ 計算節點(Slurm 排程):          │
└────────────────────┘                    │ FreeSurfer 分析 MRI,每例數小時   │
                                          └──────────────────────────────────┘
  • 登入節點只用來編輯和送出作業,不能在上面跑大量計算。
  • 計算節點由 Slurm 排程系統分配,分析在這裡進行,依使用量計費(SU)。

示範的流程 ​

AI 每一步都遵守同一個模式:唯讀分析 → 提出計畫 → 等老師同意 → 才執行。

步驟老師對 AI 說觀察重點
1「幫我檢查環境」AI 只做唯讀檢查,不會自己安裝或修改
2「資料在 downloads/…,幫我跑 FreeSurfer」AI 先掃描資料、提出計畫(規格、成本、輸出位置),停下來等同意
3「現在跑到哪了?」AI 用狀態工具回報,而不是憑印象說「完成了」
4「有沒有失敗的 case?」完成的定義很嚴格(每例要有 8 個輸出檔),缺一個就不算完成

AI 是怎麼被管住的 ​

只靠 AI 自律不夠。這個專案有三層防護,越往下越不需要相信 AI 的回報:

防護做法
規則:AGENTS.md 與 4 個 skill寫明「先分析、後提案、同意才執行」、不能在登入節點計算、回報時不能把沒完成的說成完成
腳本:程式直接擋下在登入節點執行分析程式會被拒絕;同一批資料已在排程中,再送一次也會被拒絕,AI 不准自己加 --force 強制送出
狀態工具:完成由工具判定狀態工具只有 8 個輸出檔都在才標 ✅,缺檔標 ⚠️ incomplete,不算完成

規則只能要求,程式才擋得下。例如下方的「AI 跳過確認」,就是 AI 違反了寫在 skill 裡的規則。


和前面階段的關係 ​

前面學過的在這裡的樣子
01 的 AGENTS.md、06 的 skill專案的 AGENTS.md 和 skills 規定 AI:不能在登入節點跑計算、送出作業前一定要問
01 的 uv遠端專案同樣用 uv 管理 Python 環境
02 檢查 AI 有沒有編造AI 曾經回報「15/15 完成」,實際上全部缺件(見下方事件)
05 交叉審查20 個問題中有 16 個是由另一個「審查 AI」發現的
每個數字查得到來源結果附上 SHA-256 檢查碼,下載後可以驗證完整性

真實發生過的 AI 錯誤 ​

這條管線在實際運作的兩天內,記錄了 20 個問題,其中幾個值得討論:

事件發生了什麼若沒發現的後果
偽完成AI 回報「15/15 完成」,實際上每一例都缺少部分輸出把不完整的資料交給研究者,還宣稱完成
AI 自行修改並提交程式分析進行中,另一個 AI 自己改了程式並 commit研究中途方法被改掉,沒人知道
AI 跳過確認AI 沒有詢問並行數就直接送出違反「先問再做」的規則
結果無法重現同樣的設定重跑一次,15 例中有 3 例結果不同,皮質厚度最大差 38.9%影響研究結論

事件內容取自專案的事件目錄,已去識別化,不含任何病人資訊。


討論問題 ​

  1. 為什麼在超級電腦上,「AI 先提案、人同意才執行」比在自己電腦上更重要?
  2. 「偽完成」是怎麼被發現的?如果沒有自動檢查,你會發現嗎?
  3. 結果無法重現(同設定重跑結果不同)時,研究報告應該怎麼寫?這和研究上的「先凍結方法」有什麼關係?(老師先簡述:分析前先寫好方法並鎖定,看到結果後不能再改。)
  4. MRI 是醫療資料。示範時為什麼不能把原始影像投影出來?存放到個人雲端前要確認什麼?

AI 很快,但會出錯,要自己檢查。