iT邦幫忙

2026 iThome 鐵人賽

DAY 19
0

今天要做的事
今天要建立好考試排程功能,寫排程提示詞,算出從現在到考試日期有多少空堂,可以運用多少時間。再依照對每份講義的熟悉度,他們各自的頁數,去評估要花幾節課去讀這份講義。

功能設計 v0

  1. 考試分頁
  • 一場考試存成一筆資料,分別是科目、考試日期、範圍、備註
  • 範圍可以有好幾份講義,每份填講義編號、頁數,每份要選熟悉度
  • 考試清單顯示日期、星期、範圍總頁數、需要幾節,以及還有幾天
  • 點一下可以修改、刪除考試清單
  • 科目可以直接點課表裡已有的課名
  1. 每份講義需要幾節
  • 節數 = 頁數 ÷ 一節能讀幾頁,無條件進位,一節是 50 分鐘
  • 一節能讀幾頁:陌生 8 頁、普通 12 頁、熟悉 20 頁
  1. 可讀書時段
  • 每一段連續的課上完之後,下一節自動扣掉,留給吃飯或通勤
  • 每天第一堂課的前一節自動扣掉,留給通勤,整天沒課的不扣
  • 考試排程課表點一下可以改成「可讀」或「不排」
  • 一天最多讀幾節,預設 3 節,可以自己在下方調整

排程提示詞 v0

你是大學生的考前複習排程助手。下面是一場考試的範圍,以及從明天到考試前一天,每一個可以讀書的時段。請決定每份講義排在哪些時段,並說明理由。

【考試】
科目:機率與統計
考試日期:2026-11-03(二)
今天:2026-10-03(六)

【範圍】(每份講義需要幾節已由程式算好,一節 50 分鐘)
- 講義 1:38 頁,熟悉度「熟悉」,需要 2 節
- 講義 2:35 頁,熟悉度「普通」,需要 3 節
- 講義 3:34 頁,熟悉度「陌生」,需要 5 節

【可以讀書的時段】(已經扣掉上課、吃飯與通勤的時間,每個時段 50 分鐘)
S001 10/5(一) D1 08:10-09:00
S002 10/5(一) D2 09:10-10:00
S003 10/5(一) D3 10:10-11:00
S004 10/5(一) D4 11:10-12:00
……(中間省略,共 122 個時段,格式相同)
S121 11/2(一) D8 16:40-17:30
S122 11/2(一) E0 17:40-18:30

【規則】
1. 每份講義分配的時段數量,要剛好等於它「需要」的節數,不多不少。
2. 只能使用上面清單裡的時段編號,每個時段只能用一次。
3. 同一天最多排 3 節。
4. 要怎麼分配由你判斷。理由要寫出你考慮了什麼,例如先讀哪一份、為什麼排在這幾天。

【輸出格式】
只輸出一個 JSON 物件,前後不要有任何其他文字。handout 照抄【範圍】裡的講義名稱,slots 只寫時段編號:
{"plan":[{"handout":"講義名稱","slots":["時段編號","時段編號"],"reason":"一兩句話"}],"overall":"兩三句話說明整體安排"}

v0 遇到的問題

  • 講義名稱對不上
  • 只有讀一遍,沒有複習
  • 理由和排法對不上

功能設計 v0.1

  • 範圍每一行最前面加一個代號,Claude 只回傳代號,程式再翻回講義名稱
  • 檢查時只忽略空格和大小寫,其他照比對
  • 每份講義除了讀,另外加1節複習
  • 複習只能排在考前7天內
  • default 改成主要按鈕,quick 當對照

排程提示詞 v0.1

你是大學生的考前複習排程助手。下面是一場考試的範圍,以及從明天到考試前一天,每一個可以讀書的時段。請決定每份講義的「讀」和「複習」排在哪些時段,並說明理由。

【考試】
科目:機率與統計
考試日期:2026-11-03(二)
今天:2026-10-03(六)

【範圍】(節數已由程式算好,一節 50 分鐘。「讀」是第一次完整讀過,「複習」是考前再看一次)
- H1:講義 1,38 頁,熟悉度「熟悉」,讀 2 節,複習 1 節
- H2:講義 2,35 頁,熟悉度「普通」,讀 3 節,複習 1 節
- H3:講義 3,34 頁,熟悉度「陌生」,讀 5 節,複習 1 節

【可以讀書的時段】(已經扣掉上課、吃飯與通勤的時間,每個時段 50 分鐘,編號越大越晚)
S001 10/5(一) D1 08:10-09:00
S002 10/5(一) D2 09:10-10:00
S003 10/5(一) D3 10:10-11:00
S004 10/5(一) D4 11:10-12:00
……(中間省略,共 110 個時段,格式相同)
S109 11/2(一) D8 16:40-17:30
S110 11/2(一) E0 17:40-18:30

【規則】
1. 每份講義「讀」的時段數量要剛好等於它讀的節數,「複習」的時段數量要剛好等於它複習的節數,不多不少。
2. 只能使用上面清單裡的時段編號,每個時段只能用一次,讀和複習都算。
3. 同一天最多排 3 節,讀和複習合計。
4. 複習只能排在考前最後一週,也就是 S086 到 S110(10/27(二) 到 11/2(一));而且同一份講義的複習,要排在它最後一節「讀」之後。
5. 要怎麼分配由你判斷。理由要寫出你考慮了什麼,例如先讀哪一份、為什麼排在這幾天。

【輸出格式】
只輸出一個 JSON 物件,前後不要有任何其他文字。handout 只寫講義代號(例如 H1),read 和 review 只寫時段編號:
{"plan":[{"handout":"講義代號","read":["時段編號"],"review":["時段編號"],"reason":"一兩句話"}],"overall":"兩三句話說明整體安排"}

v0.1 遇到的問題

  • 讀完到複習空太久
  • 複習順序不一定

實際功能畫面截圖
考試清單,每場考試顯示日期、星期、範圍、總頁數、需要幾節,右邊是倒數天數
https://ithelp.ithome.com.tw/upload/images/20261003/20178861xpdXo0dPQ6.png

新增考試
https://ithelp.ithome.com.tw/upload/images/20261003/20178861tPPzzAf17y.png

可以讀書的時段表
https://ithelp.ithome.com.tw/upload/images/20261003/20178861lVDyhmWu3u.png

排程測試說明框
https://ithelp.ithome.com.tw/upload/images/20261003/20178861VyWuc4DoAl.png

今日總結
今天完成了v0、v0.1提示詞,把初步的雛形建立好,整體其實沒有太大的問題,可能後面真正跟著排程讀書後,再看看有沒有要大改的地方,以及排版要不要改美觀一些。

明日內容
會做一些版本的更新,功能的修正。


上一篇
【Day 18】建立收藏庫功能
系列文
用Claude打造我的AI校園助理:從需求到實作的30天實驗 共 19 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言