上一篇提到,我想做一個可以幫忙安排任務的 AI Todo List。
不過在真正開始寫 Code 之前,我覺得有一個問題一定要先搞清楚:
既然現在已經有這麼多 Todo List 工具了,我為什麼還要自己做一個?
如果最後只是做出「新增任務、刪除任務、打勾完成」……我好像只是重新發明了一個 Todo List。
那一般 Todo List 到底還少了什麼?
假設我今天有五件事情:
1. Python 作業
2. 整理報告
3. 回 Email
4. 準備考試
5. 看教學影片
我把它們放進 Todo List 後,至少可以確保自己不會忘記。
完成一件就打勾:
☑ 回 Email
☐ Python 作業
☐ 整理報告
☐ 準備考試
☐ 看教學影片
這非常方便。所以我並不是認為一般 Todo List 不好。
相反地,我覺得它已經很好地解決了 「有哪些事情要做?」 這個問題
但它沒有完全解決另一個問題 「現在應該做哪一件?」
這兩件事情看起來很接近,但其實差很多。
例如:
任務 A:完成報告
重要程度:高
預估時間:3 小時
截止:3 天後
任務 B:回覆 Email
重要程度:中
預估時間:10 分鐘
截止:今天
任務 C:Python 作業
重要程度:高
預估時間:2 小時
截止:明天
如果只是一般 Todo List,它可能會很乖地把三件事情列給我。
但是:
到底 A、B、C 誰應該排第一?
這時候就開始需要「判斷」,而且更麻煩的是,答案並不是永遠固定的。
如果我今天有 5 個小時,那可能可以先完成 Python 作業,再處理報告。
但是如果我今天只剩 30 分鐘,答案可能完全不一樣。
所以「任務排序」其實不是單純幫我把清單從上到下排好而已。
它必須考慮當下的情況。
我希望系統可以把任務本身以及使用者目前的狀況一起考慮。
例如:
目前時間:18:00
今天可用時間:1 小時
任務:
A → 重要、3 小時、3 天後截止
B → 普通、10 分鐘、今天截止
C → 很重要、40 分鐘、明天截止
這時候 AI 可以分析:
B 今天截止,而且只需要 10 分鐘,可以先處理。
接著:
C 很重要,而且 40 分鐘可以在今天剩餘時間內完成。
於是可能得到:
① 回覆 Email
② Python 作業
③ 報告
這和單純把三件事情列出來,已經是完全不同的體驗。
這也讓我開始把這個專題從AI Todo List,重新想成AI 動態任務規劃系統。
因為我希望它會隨著條件改變而重新安排。
例如:
早上: 今天有 6 小時。
下午: 臨時有事情,現在只剩 2 小時。
那麼早上的規劃就不能永遠保持不變。
系統應該重新分析:
「現在時間變了、剩餘時間變了、任務進度也變了,那接下來應該做什麼?」
這就是「動態」兩個字的來源。
說得太多了,直接用一張示意圖!

下一篇,我就要開始思考一個更麻煩的問題:
AI 到底要看哪些資料,才能真的幫我排任務?