# 補習社如何用 AI 整理學生檔案？

補習社用 AI 整理學生檔案，可以由一份結構清楚的 Excel 開始。先叫 AI 按資料用途建立學生、聯絡人、報讀班別、課堂出席、學費單、付款、教材通告和考試事件等資料表，再為每個資料表定義固定欄位、日期格式、狀態選項和入數規則。

之後每次收到新生表格、WhatsApp 訊息、付款通知或語音備忘，AI 都可以先協助辨認學生、拆分資料、找出應該更新的資料表，並列出需要職員確認的項目。例如收到「陳小明九月入讀英文班，逢星期二下午五時上課」時，不應把整句放進備註，而是分別整理學生、聯絡人和報讀資料。

如果日後使用 AI 系統，職員更可以用語音或文字發出指令，在系統介面查看結果，也可以直接問 AI 某名學生的下一堂時間、學費單狀態或考試安排。重點不是收集愈多資料愈好，而是每項資料都有明確用途，並一直用相同方式保存。

## 補習社的學生檔案要保存甚麼？每項資料有甚麼用途？

學生檔案不只是一張姓名和電話名單。補習社每天處理的班別、課堂、收費、教材和考試安排，全部都應該連回同一名學生，日後才容易查找和整理。

不過，並非所有欄位都要在第一天填滿。較實際的做法，是先保存日常營運真正會使用的資料，再按需要逐步補充。

| 資料類別 | 建議保存內容 | 保存用途 |
|---|---|---|
| 學生基本資料 | 學生編號、姓名、暱稱、英文姓名、出生年份、學校、學生狀態、備註 | 分辨同名學生、按年齡或學校整理學生，以及知道學生目前是在讀、暫停還是已退學 |
| 家長與聯絡資料 | 學生電話、家長電話、電郵、聯絡人姓名、與學生關係、主要聯絡人 | 知道有事應聯絡誰，也能處理一位家長有多名子女或一名學生有多位聯絡人的情況 |
| 報讀與班別 | 課程、班別、導師、班房、報讀日期、退學日期、每週上課時間、學費設定、狀態 | 知道學生正在修讀甚麼、由誰任教、何時何地上課，以及過往的報讀紀錄 |
| 課堂與出席 | 課堂日期、開始和結束時間、出席狀態、請假或補堂備註 | 查看課堂月曆、出席歷史、已上堂數，以及需要跟進的缺席或補堂 |
| 學費單與付款 | 學費單號碼、發出日期、總額、已付金額、餘額、狀態、付款方法、付款日期、優惠 | 分清應收和已收款項、查看未付款或部分付款紀錄，以及向家長解釋帳目 |
| 教材與通告 | 教材或通告名稱、附件、派發日期、開始日期、截止日期、狀態 | 知道學生收到甚麼內容、何時可以查看，以及資料是否仍在有效期內 |
| 考試、默書與事件 | 日期、時間、內容、備註 | 集中整理學生的學習日程，方便提醒學生和家長預早準備 |

### 學生基本資料有甚麼用？

姓名不足以作為唯一識別，因為補習社可能有同名學生，學生亦可能使用中文名、英文名或暱稱。因此，每名學生最好有一個不重複的 `student_id`。其他資料表只要保存相同的學生編號，便可以準確連回學生主檔。

學生狀態亦值得獨立保存。當職員找學生、計算在讀人數或整理舊生資料時，便不需要從備註猜測學生是否仍然報讀。

### 家長與聯絡資料有甚麼用？

家長資料不應只得一格「家長電話」。一名學生可能由父親負責付款、母親接收課堂通知，另一位親屬負責接送；同一位家長亦可能有多名子女在同一間補習社上課。

把聯絡人姓名、關係、電話和是否主要聯絡人分開保存，職員便能知道應該找誰，而不是每次重新翻查 WhatsApp 對話。

### 報讀與班別資料有甚麼用？

報讀資料回答的是：「這名學生在甚麼時期修讀哪一個班？」一名學生可以同時報讀英文班和數學班，也可以由平日班轉到週末班，所以每次報讀都應該是一筆獨立紀錄。

保存報讀日期、退學日期、班別、導師、班房和上課時間，除了可以顯示現有安排，也能保留學生過往轉班或停學的歷史。

### 課堂與出席資料有甚麼用？

班別是固定安排，課堂則是實際發生的一次上課。例如「逢星期二下午五時」是班別時間表，而「2026 年 9 月 8 日下午五時」才是一堂實際課堂。

把每堂課的日期、時間和出席狀態分開記錄，補習社便可以查看下一堂時間、統計已上堂數，以及找出需要補堂或跟進的學生。

### 學費單與付款資料有甚麼用？

學費單代表應收款項，付款代表實際收到的款項，兩者不宜只用一個「已付款」欄位處理。一張學費單可能未付款、部分付款或分多次繳付；一次付款亦要記錄日期、金額和付款方式。

分開保存後，職員才可以清楚回答：「今期應收多少？已收多少？仍欠多少？家長何時用甚麼方法付款？」

### 教材、通告和考試資料有甚麼用？

教材和通告除了要保存名稱，也可記錄派發日期、附件和有效期。當家長問「份練習幾時派？」或「通告仲睇唔睇到？」時，職員可以直接查紀錄。

考試、默書和其他學生事件則應保存日期、時間、內容和備註，讓課堂安排和學習日程放在同一個學生檔案內。

## 如何叫 AI 幫你建立 Excel 學生檔案？

Excel 可以是整理學生檔案的實用起點。重點是不要把所有內容塞進同一張工作表，而是按資料用途分成多張互相關聯的資料表。

### 第一步：建立 8 個互相關聯的資料表

可以先叫 AI 建立以下八張工作表：

1. `Students`：學生主檔
2. `Contacts`：家長和其他聯絡人
3. `Enrollments`：報讀和班別紀錄
4. `Lessons_Attendance`：課堂和出席紀錄
5. `Invoices`：學費單
6. `Payments`：付款紀錄
7. `Resources_Notices`：教材和通告
8. `Events`：考試、默書和其他事件

所有資料表用 `student_id` 連接同一名學生。付款資料再用 `invoice_id` 連接所屬學費單；課堂出席亦可以用 `enrollment_id` 連接報讀紀錄。

有一個簡單原則：每一行只記錄一個對象或一次事件。例如一名學生報讀兩個班，應該在 `Enrollments` 有兩行；一張學費單分兩次付款，應該在 `Payments` 有兩行。

### 第二步：為每張資料表定義欄位

| 資料表 | 建議欄位 |
|---|---|
| `Students` | `student_id`, `name`, `nickname`, `english_name`, `birth_year`, `school`, `student_phone`, `parent_phone`, `email`, `status`, `remarks` |
| `Contacts` | `contact_id`, `student_id`, `contact_name`, `relationship`, `phone`, `email`, `is_primary` |
| `Enrollments` | `enrollment_id`, `student_id`, `course`, `class`, `tutor`, `classroom`, `enrolled_at`, `withdrawn_at`, `weekly_schedule`, `tuition_fee`, `status` |
| `Lessons_Attendance` | `lesson_id`, `student_id`, `enrollment_id`, `lesson_date`, `start_time`, `end_time`, `attendance`, `remark` |
| `Invoices` | `invoice_id`, `invoice_no`, `student_id`, `issued_on`, `total_amount`, `paid_amount`, `balance_amount`, `status` |
| `Payments` | `payment_id`, `invoice_id`, `student_id`, `payment_method`, `amount`, `paid_at`, `reference`, `remark` |
| `Resources_Notices` | `assignment_id`, `student_id`, `type`, `title`, `start_at`, `end_at`, `status` |
| `Events` | `event_id`, `student_id`, `event_date`, `event_time`, `content`, `remark` |

欄位不一定要完全照抄。如果補習社沒有班房，可以刪除 `classroom`；如果需要記錄資料來源，則可在相關資料表加入 `source`、`source_reference` 和 `created_at`。

### 第三步：把規格直接寫進 AI prompt

你可以把以下 prompt 貼給支援建立試算表的 AI；如果 AI 不能直接產生 Excel 檔案，也可以要求它輸出每張工作表的第一行欄位，然後貼回 Excel：

> 請幫我建立一份補習社學生檔案 Excel，分成 Students、Contacts、Enrollments、Lessons_Attendance、Invoices、Payments、Resources_Notices 和 Events 八張工作表。請按我提供的欄位建立第一行，以 student_id 連接同一名學生的資料。日期統一使用 YYYY-MM-DD，電話號碼設為文字格式，status 和 attendance 使用固定選項。每一行只記錄一個對象或一次事件；資料不足時不要猜，請標示 pending_review，並列出需要我確認的欄位。

之後再補充各欄位可用的固定選項，例如：

- 學生狀態：`在讀`、`暫停`、`已退學`
- 出席狀態：`出席`、`缺席`、`請假`、`待確認`
- 學費單狀態：`草稿`、`未付款`、`部分付款`、`已付款`
- 是非欄位：統一使用 `TRUE` 和 `FALSE`

固定選項的用途，是避免同一個意思出現「已付」、「付清」、「Paid」等不同寫法，令日後篩選或交給 AI 整理時更一致。

### 第四步：有新資料時，叫 AI 按固定規則入數

每次有新資料，不要只叫 AI「加落份 Excel」。應該要求它先完成以下步驟：

1. 找出或確認正確的 `student_id`，不要只靠姓名配對。
2. 判斷資料應該放入哪一張工作表。
3. 如果同一段訊息包含不同資料，分拆到相應工作表。
4. 課堂、付款、報讀和事件每次新增一行，不覆蓋歷史紀錄。
5. 把日期、電話、金額和狀態轉成既定格式。
6. 資料不足或無法確認時，標示 `pending_review`，不要自行猜測。
7. 輸出本次新增、更新和待確認項目的摘要，讓職員核對。

可以使用以下入數 prompt：

> 請把以下新資料整理到學生檔案。先找出正確 student_id，再判斷要新增或更新哪些工作表。不要刪除或覆蓋舊的報讀、課堂、付款或事件紀錄。資料不足時請標示 pending_review。完成後，請分別列出：一、新增的行；二、更新的欄位；三、需要我確認的資料。新資料如下：［貼上 WhatsApp 訊息、表格內容或語音轉錄］

### 例子一：收到新生和報讀資料

假設前台收到以下訊息：

> 陳小明九月入讀英文班，每逢星期二下午五時上課，媽媽姓李，電話是 9123 4567。

AI 應該把資料拆成三部分：

- `Students`：建立或確認陳小明的學生主檔和 `student_id`。
- `Contacts`：新增李女士、關係為母親、電話和主要聯絡人狀態。
- `Enrollments`：新增英文班、開始日期和每週上課時間。

如果訊息沒有課程級別、導師、班房或確實開課日期，AI 應列為待確認，而不是自行補上。

### 例子二：收到付款資料

假設前台收到：

> 陳小明媽媽今日用 FPS 交了 1,200 元學費。

AI 應該先確認陳小明的 `student_id`，再找出對應的 `invoice_id`。確認後，在 `Payments` 新增付款方法、金額和日期，然後按實際付款情況更新 `Invoices` 的已付金額、餘額和狀態。

如果同一名學生有多張未付款學費單，AI 不應自行決定款項屬於哪一張。它應列出可能的學費單，請職員選擇後才更新。

## 如果用 AI 系統，可以怎樣做？

當學生資料放入 AI 可以連接的系統，職員便不只可以叫 AI 整理文字，還可以用語音或文字操作資料、在系統介面查看紀錄，以及直接問 AI 問題。

這類系統可以透過 MCP 讓 AI 使用已定義的資料和功能。簡單來說，MCP 是 AI 與系統之間的連接層：AI 負責理解要求，系統負責保存正式紀錄，而重要資料仍由職員核對。

### 1. 用語音或文字向 AI 發指令

接駁支援語音輸入的 AI 後，前台可以直接說：

- 「幫我新增學生陳小明，媽媽電話是 9123 4567。」
- 「記錄陳小明今日缺席，原因是病假。」
- 「幫我找出陳小明今個月的學費單。」

AI 會先辨認涉及哪名學生、職員想查詢還是更新資料，以及目前還欠缺甚麼資料，再透過 MCP 使用系統提供的功能。若學生身份未能確認，或指令涉及付款等重要紀錄，系統應先要求職員核對。

語音只是輸入方法，並不代表所有步驟都要自動完成。它的實際價值，是減少前台一邊接待、一邊逐頁尋找欄位和重複輸入資料的時間。

### 2. 在系統介面查看和核對結果

用了 AI 後，系統介面仍然重要。語音或文字操作完成後，職員應該能打開同一名學生的檔案，查看基本資料、現有班別、課堂月曆、學費單、教材、通告和考試事件。

如果 AI 把資料放錯班別、日期有誤，或者聯絡人關係未能確認，職員可以在介面直接核對和修正。系統介面不是被 AI 取代，而是人手查看正式紀錄和處理例外情況的入口。

### 3. 直接向 AI 問現有資料

當學生資料有固定結構，職員亦可以直接問：

- 「陳小明下一堂是甚麼時候？」
- 「他今個月的學費單付清了嗎？」
- 「未來兩星期有甚麼考試或默書？」
- 「今個月有多少學生仍有未付款學費單？」

AI 經 MCP 讀取系統內的目前紀錄，再按問題整理答案。為免同名學生或資料狀態造成誤會，答案應清楚顯示所依據的學生、班別、日期或學費單狀態。

### 4. 完整操作流程是怎樣？

整個流程可以理解為：

`語音或文字要求 → AI 理解學生和動作 → MCP 連接系統功能 → 系統保存結構化紀錄 → 職員在介面核對 → 日後可以再直接問 AI`

換句話說：

- 語音或文字是輸入方法；
- AI 是理解和操作層；
- MCP 是連接層；
- 系統是正式資料來源；
- 介面是人手查看和覆核的入口。

補習社不需要一開始便把所有工作交給 AI。可以先由查詢和資料整理開始，確認學生編號、欄位和入數規則穩定後，再逐步加入更新功能。準備系統時，也可以參考這份 [AI 商業系統準備清單](https://oneflash.hk/blog/ai-business-system-readiness-checklist-hong-kong)。

## 以 oneflash 為例，學生檔案可以怎樣連接 AI？

[oneflash 教育中心管理系統](https://oneflash.hk/industries/education-centre-system)把學生基本資料、班別、課堂月曆、學費單、教材、通告、考試和默書等紀錄集中在同一個 Student Profile。

透過 MCP，AI 可以按系統提供的功能查詢或準備更新資料。操作完成後，職員仍可在系統介面查看紀錄，也可以直接向 AI 查問學生的班別、課堂、學費單或事件資料。

即使補習社目前只使用 Excel，也可以先按本文的資料表、欄位和入數規則整理。當日後需要讓多名職員或 AI 持續使用同一份學生資料時，再考慮把資料接入 AI 系統。

## 常見問題

### Excel 可以直接交給 AI 整理嗎？

可以，但最好先說明每張工作表的用途、欄位格式、學生編號和狀態選項。若原有 Excel 有重複姓名、合併儲存格或同一欄混合多種資料，應先叫 AI 列出問題和待確認項目，不要直接大批覆蓋原檔。

### `student_id` 應該如何設定？

每名學生應有一個不重複而且不會因轉班或更改電話而改變的編號，例如 `STU-0001`。其他資料表用相同的 `student_id` 連接學生，不要用姓名或電話作唯一識別。

### 一位家長有多名學生，應該如何記錄？

在 `Contacts` 為家長建立聯絡人紀錄，再用不同資料行把該聯絡人連到每名學生。這樣家長更改電話時，職員可以找出所有相關學生，也不需要在每名學生的備註重複輸入同一段資料。

### 為甚麼付款、課堂和報讀資料要分開？

因為它們都可能重複發生。一名學生可以報讀多個班、上很多堂課、一張學費單亦可以分多次付款。分開資料表後，每次事件都有獨立日期、狀態和紀錄，日後較容易查詢和統計。

### AI 用語音輸入資料後，職員是否仍要核對？

要。語音轉錄可能聽錯姓名、日期或金額，AI 亦可能未能確認同名學生。系統應先顯示準備新增或更新的內容，尤其涉及付款、優惠或學生身份時，應由職員確認。

### MCP 和 AI 有甚麼分別？

AI 負責理解問題和指令；MCP 負責把 AI 連接到系統已提供的資料和功能。MCP 本身不是學生管理系統，也不代替正式資料庫或人手核對。

### 使用 AI 學生系統後，還需要系統介面嗎？

需要。AI 適合用來查詢、整理和操作資料，系統介面則讓職員查看完整紀錄、核對結果、修正例外情況和處理需要人手判斷的工作。兩種操作方式應該使用同一份正式資料。