今天要做的事
今天要繼續完善排程功能,新增多選科目排程,並且採用讀跟複習分開排,先排完讀,再排複習。
新增的功能
排程提示詞 v0.4 兩段式
第一段讀:
你是大學生的考前複習排程助手。這次要把 2 場考試一起排,分成兩段:這一段只排「讀」(第一次完整讀過),「複習」下一段再排。有些考試原本已經排好,但有些節次沒讀到,現在要重排還沒讀的部分;下面的節數已經由程式扣掉讀完的節次。請決定每份講義的「讀」放在哪些時段,並說明理由。
【考試】
今天:2026-10-07(三)
A:機率與統計,考試日期 2026-11-03(二)
B:道德駭客,考試日期 2026-11-06(五)
【範圍】(一節 50 分鐘。講義代號開頭的字母是哪一場考試;這裡的節數是「還要排」的節數,只列還有讀要排的講義)
- A1:機率與統計 講義 1,38 頁,熟悉度「熟悉」,原本讀 2 節(已讀完 0 節),還要排讀 2 節
- A2:機率與統計 講義 2,35 頁,熟悉度「普通」,原本讀 3 節(已讀完 0 節),還要排讀 3 節
- A3:機率與統計 講義 3,34 頁,熟悉度「陌生」,原本讀 5 節(已讀完 0 節),還要排讀 5 節
- B1:道德駭客 講義 1,29 頁,熟悉度「熟悉」,原本讀 2 節(已讀完 0 節),還要排讀 2 節
- B2:道德駭客 講義 2,34 頁,熟悉度「陌生」,原本讀 5 節(已讀完 0 節),還要排讀 5 節
- B3:道德駭客 講義 5,43 頁,熟悉度「熟悉」,原本讀 3 節(已讀完 0 節),還要排讀 3 節
- B4:道德駭客 講義 6,56 頁,熟悉度「普通」,原本讀 5 節(已讀完 0 節),還要排讀 5 節
【可以讀書的時段】(已經扣掉上課、吃飯與通勤的時間,也扣掉其他考試已經排好的節次和考試當天;每個時段 50 分鐘,編號越大越晚)
S001 10/8(四) D5 13:40-14:30
S002 10/8(四) D6 14:40-15:30
S003 10/8(四) D7 15:40-16:30
S004 10/8(四) D8 16:40-17:30
S005 10/8(四) E0 17:40-18:30
……(中間省略,共 116 個時段,格式相同)
S115 10/29(四) D8 16:40-17:30
S116 10/29(四) E0 17:40-18:30
【規則】
1. 每份講義「讀」的時段數量要剛好等於它還要排讀的節數,不多不少。
2. 只能使用上面清單裡的時段編號,每個時段只能用一次。
3. 同一天最多排 3 節,所有考試合計。
4. 每場考試的最後一週要留給複習,所以「讀」只能排在各自的範圍內:A(機率與統計)的讀只能用 S001 到 S106(到 10/26(一));B(道德駭客)的讀只能用 S001 到 S116(到 10/29(四))。
5. 「讀」要平均分散,不要全部擠在前面。每場考試分開算:同一場考試每一週排的「讀」節數(這場考試所有講義合計,加上已經讀完的讀),最多的一週和最少的一週相差不能超過 2 節。程式會檢查。
A(機率與統計):
第 1 週:10/8(四) 到 10/11(日),時段 S001 到 S022,已經有 0 節讀
第 2 週:10/12(一) 到 10/18(日),時段 S023 到 S059,已經有 0 節讀
第 3 週:10/19(一) 到 10/25(日),時段 S060 到 S096,已經有 0 節讀
B(道德駭客):
第 1 週:10/8(四) 到 10/11(日),時段 S001 到 S022,已經有 0 節讀
第 2 週:10/12(一) 到 10/18(日),時段 S023 到 S059,已經有 0 節讀
第 3 週:10/19(一) 到 10/25(日),時段 S060 到 S096,已經有 0 節讀
第 4 週:10/26(一) 到 10/29(四),時段 S097 到 S116,已經有 0 節讀
6. 要怎麼分配由你判斷。理由要寫出你考慮了什麼,例如兩場考試的講義怎麼安排先後、為什麼排在這幾天。
【輸出格式】
只輸出一個 JSON 物件,前後不要有任何其他文字。handout 只寫講義代號(例如 A1),read 只寫時段編號:
{"plan":[{"handout":"講義代號","read":["時段編號"],"reason":"一兩句話"}],"overall":"兩三句話說明整體安排"}
機統的週次只有 3 週,因為 10/26 那週在範圍內只有 1 天,照 Day23 的規則,不到 4 天的週不比。
第二段複習:
你是大學生的考前複習排程助手。這次把 2 場考試一起排,「讀」已經排好了,這一段只排「複習」(考前再看一次)。請決定每份講義的複習放在哪些時段,並說明理由。
【考試】
今天:2026-10-07(三)
A:機率與統計,考試日期 2026-11-03(二)
B:道德駭客,考試日期 2026-11-06(五)
【要排的複習】(一節 50 分鐘。講義代號開頭的字母是哪一場考試)
- A1:機率與統計 講義 1,複習 1 節;它最後一節「讀」在 S085(10/24(六) D2),複習要排在這之後
- A2:機率與統計 講義 2,複習 1 節;它最後一節「讀」在 S071(10/21(三) D6),複習要排在這之後
- A3:機率與統計 講義 3,複習 1 節;它最後一節「讀」在 S038(10/15(四) D5),複習要排在這之後
- B1:道德駭客 講義 1,複習 1 節;它最後一節「讀」在 S086(10/24(六) D3),複習要排在這之後
- B2:道德駭客 講義 2,複習 1 節;它最後一節「讀」在 S035(10/14(三) D7),複習要排在這之後
- B3:道德駭客 講義 5,複習 1 節;它最後一節「讀」在 S112(10/29(四) D5),複習要排在這之後
- B4:道德駭客 講義 6,複習 1 節;它最後一節「讀」在 S072(10/21(三) D7),複習要排在這之後
【可以排複習的時段】(只列各場考試最後一週裡還空著的時段,已經扣掉上課、吃飯與通勤、其他考試和考試當天;每個時段 50 分鐘,編號越大越晚)
S107 10/27(二) E0 17:40-18:30
S109 10/28(三) D7 15:40-16:30
S110 10/28(三) D8 16:40-17:30
S111 10/28(三) E0 17:40-18:30
S113 10/29(四) D6 14:40-15:30
……(中間省略,共 44 個時段,格式相同)
S151 11/5(四) D8 16:40-17:30
S152 11/5(四) E0 17:40-18:30
【每天還能排的節數】(這幾天已經排了讀或其他考試,上限比較少;沒有列出的日子照規則 3)
10/28(三) 還能排 2 節
10/29(四) 還能排 2 節
【規則】
1. 每份講義「複習」的時段數量要剛好等於它複習的節數,不多不少。
2. 只能使用上面清單裡的時段編號,每個時段只能用一次。
3. 同一天最多排 3 節,所有考試合計;【每天還能排的節數】有列出的日子,以列出的節數為上限。
4. 複習只能排在各自考試的最後一週:A(機率與統計)只能用 S107 到 S143(10/27(二) 到 11/2(一));B(道德駭客)只能用 S117 到 S152(10/30(五) 到 11/5(四))。同一份講義的複習,要排在它最後一節「讀」之後。
5. 要怎麼分配由你判斷。理由要寫出你考慮了什麼,例如先複習哪一份、為什麼排在這幾天。
【輸出格式】
只輸出一個 JSON 物件,前後不要有任何其他文字。handout 只寫講義代號,review 只寫時段編號:
{"plan":[{"handout":"講義代號","review":["時段編號"],"reason":"一兩句話"}],"overall":"兩三句話說明整體安排"}
清單裡沒有 S108、S112,是因為第一段已經把它們排成讀。10/28、10/29 也因為已經各排了一節讀,上限剩 2 節。
測試
勾兩科,選「剛好」,跑 3 次:
結果分析
實際功能畫面截圖
勾選兩場考試
第一段、第二段都通過
今日總結
今天終於把一起排的功能用好了,畢竟我認為單科排不太符合我日常複習的模式,像這種多科穿插讀法才符合實際情況。
明日內容
把可以讀書的時段延長到晚上。