iT邦幫忙

2026 iThome 鐵人賽

DAY 30
0

前言

終於來到第 30 天了。

回頭看第一天開始做這個主題的時候,其實一開始想做的事情沒有現在這麼完整。

最開始只是想做一個 Todo,讓使用者可以把自己的任務記錄下來。

後來慢慢加入 Flask、MySQL,再把 Gemini 接進來,讓 AI 不只是看到任務名稱,而是可以根據 Deadline、重要程度、預估時間、目前進度,甚至使用者現在有多少時間來判斷:

「現在到底應該先做哪一件事情?」

今天打算把目前整個系統重新跑一次,也順便整理這 30 天到底做了什麼。

最後完成的 AI Todo

目前打開網頁後,系統會直接從 MySQL 讀取還沒有完成的任務。
使用者可以直接在網頁進行:

新增任務
修改任務
完成任務
刪除任務

這些操作也不只是改畫面而已,而是真的會同步修改 MySQL 裡面的資料。
前面剛開始開發時,這些功能幾乎都還要透過 Postman 一個一個呼叫 API 測試。

現在,終於可以直接從網頁完成。

AI 也真的開始幫忙選任務

除了基本 Todo 功能之外,現在網頁最上面還多了一個:
我現在有多少時間?

例如輸入:
60 分鐘

按下「AI 幫我安排」後,前端會呼叫:

/ai/next?available_minutes=60

Flask 再從 MySQL 取得目前尚未完成的任務,交給 Gemini 判斷。
最後網頁會顯示:

AI 建議你現在先做

任務名稱
截止日期
重要程度
預估時間
目前進度
剩餘時間

AI 推薦原因

例如:image

這也是我最後重新測試時最想確認的地方。

我分別輸入不同的可用時間。

例如我上圖那樣,AI 會根據目前實際的任務狀況和可以使用的時間重新判斷,而不是把推薦結果寫死在程式裡。

到這裡,這個系統才真的符合一開始想做的「AI 動態任務規劃」。

從普通 Todo 慢慢變成 AI Todo

回頭看這 30 天,整個開發過程大概可以分成幾個階段。

最開始先把 Todo 的基本架構做出來,使用 Flask 建立 API,再把 MySQL 接進來,讓任務可以真的被保存。

接著開始加入 Gemini。
一開始 AI 能參考的東西其實不多,後來才慢慢加入:

Deadline
Importance
Estimated Minutes
Available Minutes
Progress
Remaining Minutes

加入這些資料之後,Gemini 在判斷任務時能參考的條件也越來越完整。

最後幾天則是把重點從後端移到網頁。

先把 MySQL 任務顯示出來,再慢慢把完成、刪除、新增、修改功能搬進去。

最後 Day 29,再把前面已經做好的 Gemini 推薦功能也搬進網頁。

這 30 天也不是一直都很順,這個系列中間其實遇到滿多問題。

最後的成果

從最開始只能用 Postman 呼叫 API,到現在已經可以直接打開網頁使用。
目前這個 AI Todo 已經可以做到:

建立任務
↓
儲存到 MySQL
↓
在網頁顯示
↓
修改 / 完成 / 刪除
↓
輸入目前可用時間
↓
Gemini 分析任務
↓
推薦現在最適合先做的事情

最後重新測試時,AI 也確實會依照我現在可以使用的時間和目前的任務狀況,推薦不同的任務。

這也是我覺得整個專案做到最後最有感的地方。

因為它已經不只是「把 Gemini API 接進 Flask」,而是真的把 AI 放進原本的 Todo 使用流程裡。

以下是成果圖:

完整 Todo 首頁

image

不同時間得到不同建議的結果

image

image


上一篇
Day 29|把 Gemini 搬進網頁:AI 告訴我現在先做什麼
系列文
如果 AI 幫我安排每日的任務?——讓待辦清單不只是清單:LLM × Flask × MySQL 打造動態任務規劃系統 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言