Skip to content

About

AI grading you can trust: A transparent, auditable Multi-Agent framework with rubric-driven evaluation and anti-hallucination verification.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

GLASS 玻璃箱評分框架

讓 AI 幫你改作業,而且你看得見它到底做了什麼。

一套給教師用的作業評分框架。你不需要會寫程式——把材料丟進資料夾、 跟 AI 聊幾句、說一聲「開始評分」,就會拿到成績表、每位學生的個別評語、 一份教學總覽報告,以及一份用來查核這次評分可不可信的揭露報表。


這套框架不保證評分品質。它保證的是:如果這次評分有問題,你會在兩分鐘內看出來。

開發過程做了 10 次實測(4 個模型 × 3 個平台)。其中 3 次評分者失效, 包括一次分數完全由學號的餘數生成、評語 93.5% 重複的假評分。 三次全部被揭露報表抓到。

但框架不會擋下它們——因為一旦設了及格線,AI 最省力的做法是回頭改分數來通過, 而不是重新認真評。那樣你反而看不到問題。 所以:數字全部攤開給你,判斷權在你。

English summary

GLASS (Glass-box grading) is a rubric-based grading framework for teachers who want to use an LLM to grade student work — without having to trust it blindly.

It does not claim to make AI grading accurate. It claims something narrower and testable: when a grading run goes wrong, you will see it within two minutes.

Across 10 real grading runs (4 models × 3 platforms), 3 raters failed — including one whose scores were generated from student-ID modulo arithmetic with 93.5% duplicated feedback. All three were caught by the disclosure report. None were blocked: the framework deliberately sets no pass/fail threshold on a rater's own output, because a threshold just teaches the model to rewrite scores until it passes, destroying the diagnostic signal.

Docs are in Traditional Chinese. The tooling is language-agnostic — the rubric, dimensions, scale and column names all come from your own config file.


先看看產出長什麼樣

不用安裝任何東西,範例/ 裡有一份跑完的實例(3 位虛構學生):

檔案 這是什麼
總覽報告 給教師的教學報告:分數分布、常見錯誤、質性特徵、示範名單、教學建議
揭露報表 給教師查 AI 的報表:這次評分到底有沒有認真讀
一份低分學生的評語 亮點/待改進/具體建議/逐字引證
AI 自己寫的執行紀錄 我做了哪些判斷、哪幾份最沒把握、哪些數字對我不利
評分細則 把 rubric 翻譯成「不同人看了會做出相同判定」的程度

最能看出這套框架特色的是執行紀錄——裡面沒有「全部通過」這種話, 只有具體的取捨與不確定性。


怎麼用

第 1 步 建立工作區

開一個新資料夾(例如 我的作業評分/),把本專案的 評分框架/ 整包複製進去。

我的作業評分/          ← 你的工作區
└── 評分框架/          ← 從本專案複製進來,裡面不用動

⚠ 最常見的卡關:資料夾權限

當 AI 工具問你「要開放哪個資料夾」時,請選 整個工作區:

我的作業評分/     ← ✅ 開放「這一層」
├── 評分框架/     ← ❌ 不要只開放這一層
└── 材料/         ← ❌ 也不要只開放這兩個

為什麼:AI 需要在工作區建立 _設定/、作業文本/、評分產出_XXX/ 三個資料夾。 只開放 評分框架/ 的話,它會被迫把你的成績檔案建在框架資料夾裡—— 之後更新框架就會蓋掉你自己的資料。

框架有防呆:權限不足時 AI 會停下來請你調整,而不是亂寫。

第 2 步 把材料丟進 材料/

在工作區建一個資料夾叫 材料,把手邊有的東西全部丟進去。

格式不拘、命名不拘、要不要分子資料夾也不拘。 Excel、Word、PDF、照片、掃描檔、純文字都可以。AI 會自己去認。

類別 例子
學生名單 學生名單.xlsx、修課清單.csv
作業題目 作業說明.docx、第三次作業.pdf,直接貼在對話裡也行
評分標準 rubric 的圖片、PDF、Word,或你口述給 AI
學生作答 一個資料夾裝所有人,或每人一個子資料夾;PDF/Word/照片皆可
參考教材(選用) 講義、投影片。有的話 AI 才能判斷「概念用對了沒」

檔名裡有學號會讓辨識更順利,但不是必要的。認不出來 AI 會列清單問你。

第 3 步 叫 AI 開始

開一個 AI 對話(Claude、Gemini、ChatGPT、Codex,或任何有讀檔能力的 agent), 把工作區給它,然後說:

「請依照 評分框架/AGENTS.md 開始。」

接下來 AI 會自己做完這些,過程中會停下來問你:

階段 AI 做什麼 你要做什麼
① 盤點 掃描 材料/,認出哪個是名單、哪個是作答 確認它認對了
② 補齊 列出缺什麼、認不出什麼 補檔案,或告訴它那是什麼
③ 訂標準 跟你討論評分標準,寫成細則給你確認 這步最重要,請認真看
④ 準備 轉檔、建立統一文本、跑檢查 等它跑完
⑤ 評分 等你說「開始評分」才動手 說「開始評分」
⑥ 產出 成績表、每人一份評語、兩份報告 收成果

AI 不會在你說「開始評分」之前開始評分。 前面四步都可以來回修改。 實測中,四個平台上的 AI 都會在階段 ⑤ 前停下來等你。


你會拿到什麼

檔案 內容
成績_<代號>.csv 全班成績表,可直接匯入 Excel
評語/ 每位學生一份,含亮點、待改進、具體建議、原文引證
總覽報告_<代號>.pdf 給你看的教學報告
揭露報表_<代號>.pdf 給你查 AI 的報表,一頁看完
對帳結果_<代號>.json 客觀事實有沒有填錯(人數、字數、繳交狀態…)

怎麼判讀,見 評分框架/規範/教師指南.md。


進階:控制變異

這一節你一樣不用打任何指令。 下面每一格的「跟 AI 說」直接複製貼上就行。

想知道「換一個評分者,成績會不會不一樣」

你想做的事 跟 AI 說
讓另一個 AI(或另一次執行)再評一遍 「再用代號 GPT5 評一次。」(代號自己取,能區分就好)
把自己的評分也放進來比 「我要自己評,代號用 Human_我。請幫我準備一份可以填的表,我填完你再匯入。」
比較結果 「跑比較分析,用 Human_我 當基準。」

你會拿到一份比較報告,回答三個問題:

  1. 誰比較嚴?——寬鬆度、Bland–Altman 圖
  2. 誰跟誰排序比較像?——相關矩陣、階層聚類
  3. 分歧在哪裡?——操作化指紋熱圖,一張圖告訴你各評分者在哪一題的標準不同

統計方法包含加權 Cohen's κ、Gwet AC1/AC2、Krippendorff 序位 α、ICC、 概化理論(兩面向與三面向)。全部自行實作並附驗證案例 (對照 Shrout & Fleiss 1979 與 Krippendorff 官方範例)。

怎麼讀那份報告,見 教師指南 §4。

想把評分標準借給別人,或借用別人的

實測發現:評分者的整體寬鬆度只解釋 0.1% 的分數變異, 而「題目 × 評分者」交互作用解釋 10.3%—— 也就是說,「誰認為哪一題該嚴」比「誰比較嚴」重要 100 倍。

所以判準本身值得單獨保存與交換:

你想做的事 跟 AI 說
把這次的評分標準打包 「把這次的評分標準打包成模組,作者寫我的名字。」
用同事給的標準 「請匯入 模組包_XXX,然後照它評。」
明年同一份作業再用 「用去年的 模組包_XXX 評這次的作業。」
看看手上有哪些 「列出目前有哪些評分模組。」

AI 會產生一個 模組包_<名稱>/ 資料夾,裡面有判準檔與 SHA-256 校驗值。 把整個資料夾複製給對方即可。匯入時工具會檢查結構相不相容,不相容會擋下並說明差在哪。

這樣就能做**「同一份判準 × 不同模型」或「同一個模型 × 不同判準」**的對照, 而且事後可以用雜湊證明用的是哪一份。

評到一半想知道進度

跟 AI 說 「跑一下進度檢查。」 它本來就會在評完約 10 份時主動跑一次並回報——這是刻意的設計: 評到一半發現問題,重來的成本是 10%;評完才發現,成本是 100%。

如果 AI 說它不會用這些工具,把這句話給它: 「請完整讀 評分框架/AGENTS.md,特別是第 7 節。」


設計理念

整個框架只有一條分界線,判準是同一個問題:

修正這一項,需不需要改動評分者的判斷?

對帳項 揭露項
真值來源 評分者之外(名冊、提取結果、檔案系統、算術) 評分者自己的產出
例子 人數、字數、繳交狀態、引文能不能在原文找到 分數分布、評語重複率、向度共變、每份秒數
設門檻嗎 是,未通過必須修正 否,永遠不設

早期版本曾對揭露項設過門檻。實測結果:AI 事後填了錯誤的時間碼 (自稱花了 4 小時,實際 2 小時),並出現「評分 → 跑驗證 → 改分數直到通過」的行為。

拿掉門檻之後,成功的產出反而主動寫出對自己不利的事——包括一次 AI 自陳 「我不小心讀到了明文禁止閱讀的稽核者手冊」,那是沒有任何機制抓得到的違規。

完整的設計脈絡、10 次實測的結果、以及八種已知失效模式,見 設計筆記.md。那份文件記錄的是「試過什麼、什麼失敗了」, 比規則本身更有參考價值。


常見問題

Q:我沒有 rubric,只有大概想法。 可以。第 ③ 步 AI 會跟你對談,把你的想法整理成可操作的評分細則給你確認。

Q:學生作答是手寫拍照。 可以。AI 會先做文字辨識,並在報告中標記辨識品質有疑慮的份數請你確認。

Q:PDF 產不出來,出現 OSError: cannot load library 'libgobject-2.0-0'。 這是 Windows 缺 GTK runtime。框架會自動改用其他方式轉檔(pandoc、wkhtmltopdf、 Chrome headless),全部失敗時會產出 HTML 並明確告訴你——不會靜默略過。 你也可以直接用瀏覽器開 HTML,按 Ctrl+P → 另存為 PDF。 想修好自動轉檔:安裝 GTK for Windows。

Q:我要改評分標準。 第 ③ 步定案前隨時改。定案後要改也可以,但已評的部分要重評,AI 會告訴你影響幾份。

Q:AI 評完我不同意某幾份。 成績表是你的,直接改。框架的定位是輔助與稽核,最終成績一律由你決定。

Q:這會花多久? 70 份左右的文字作業,約 40–60 分鐘。手寫辨識會更久。 實測中認真評分的 AI 是每份 43–55 秒。

Q:AI 說它評完了,我怎麼知道是真的? 看揭露報表的四個數字:每份秒數、評語重複率、引文可溯率、向度共變。 判讀方式與實測基準見 教師指南 §2。

Q:這套框架綁定特定的 AI 嗎? 沒有。AGENTS.md 是通用的 agent 執行協定,實測涵蓋 Claude、Gemini、GPT 三家。 工具都是純 Python,不呼叫任何 API。

Q:可以用在中文以外的課程嗎? 可以。向度名稱、級分名稱、欄位名稱全部來自你自己的設定檔,工具不預設語言。 不過目前文件只有繁體中文。


需要安裝什麼

你不用管這一節。 電腦上要有 Python 3.9 以上(多數電腦已經有), 其餘套件 AI 會在準備階段自己檢查、自己安裝,缺什麼它會告訴你。

想自己先裝好的話:pip install -r requirements.txt

套件 用途 沒裝會怎樣
pyyaml 讀設定檔 不能用,必裝
openpyxl 讀 .xlsx 名單 名單改存成 .csv 就不用裝
pymupdf 讀 PDF 作業 沒有 PDF 作業就不用裝
python-docx 讀 Word 作業 沒有 Word 作業就不用裝
weasyprint、markdown 產生 PDF 報告 自動改用其他方式;全失敗時給你 HTML
numpy、matplotlib 多評分者比較與圖表 只影響「進階:控制變異」那一節

專案結構

├── README.md                 你正在看的檔案
├── CHANGELOG.md              版本歷程(唯一放版本號的地方)
├── 設計筆記.md               為什麼這樣設計、試過什麼、什麼失敗了
├── requirements.txt
├── LICENSE                   MIT
├── 評分框架/                 ← 複製「這一包」到你的工作區
│   ├── AGENTS.md             AI 的執行協定(也是工具的行為規格)
│   ├── CLAUDE.md             轉接檔,3 行
│   ├── 規範/
│   │   ├── 產出規格.md       給 AI:格式細節
│   │   └── 教師指南.md       給你:怎麼判讀、怎麼查 AI、可以叫 AI 做什麼
│   ├── 範本/                 設定與評分細則的範本
│   └── 工具/                 10 支工具 + 3 個程式庫
├── 稽核/
│   └── 稽核者手冊.md         ⛔ 不要複製進工作區(見下)
├── 範例/                     3 位虛構學生的完整實例
└── 文件PDF/                  上述文件的 PDF 與 HTML 版,方便列印

為什麼稽核者手冊不放進工作區

那份文件寫的是「怎麼查出 AI 有沒有認真評」的完整判準與實測基準。

如果 AI 讀得到它,最省力的做法就是對著那些判準最佳化,而不是認真評分 ——那樣判準就同時失去了診斷力(Goodhart 定律)。

所以它留在 repo,不隨 評分框架/ 複製進工作區。你要看隨時可以看。


授權與貢獻

MIT License。歡迎自由使用、修改、散布。

最歡迎的貢獻是實測資料,特別是失效案例。 如果你用這套框架跑出了有意思的結果——某個模型在你的科目上出現奇怪的樣態、 某個揭露指標誤判了、或是你找到框架抓不到的新失效模式——請開一個 Issue。

框架裡的每一條參考基準都來自實測,樣本目前還很小 (10 次執行、2 份作業、1 個學科、1 位人工評分者)。 所有基準都應該視為暫定值,多一份資料就多一分校準。

About

AI grading you can trust: A transparent, auditable Multi-Agent framework with rubric-driven evaluation and anti-hallucination verification.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages