昨天我們測試了不同的可用時間,發現 AI 會根據 Deadline、重要程度和目前時間來判斷該做什麼。
而前幾天的 Day 21,我們也測過:任務完成 → AI 重新安排剩下的任務。
但那次有一個問題:Task 完成是我們自己手動去 MySQL 修改的。
正常使用 Todo 的情況應該是:
完成任務
↓
按下「完成」
↓
任務狀態更新
↓
AI 重新判斷
↓
推薦下一個任務
所以今天的目標就是:
先讓後端有一個「完成任務」的功能。
打開你的 app.py。
在其他路由下面加入:
@app.route("/tasks/<int:task_id>/complete", methods=["PUT"])
def complete_task(task_id):
conn = get_connection()
cursor = conn.cursor()
cursor.execute("""
UPDATE tasks
SET
progress = 100,
status = 'done'
WHERE task_id = %s
""", (task_id,))
conn.commit()
cursor.close()
conn.close()
return {
"message": "任務已完成",
"task_id": task_id
}
這段其實就是把我們 Day 21 手動執行的:
UPDATE tasks
SET progress = 100,
status = 'done'
WHERE task_id = 4;
變成 API 可以幫我們做的事情。


AI 不會再把 Task 14 排進任務裡
以前完成任務只是把 status 改成 done,但現在這個動作會進一步影響 AI 下一次的判斷。也就是說,我的操作會改變系統接下來給出的建議。
不過現在還有一個問題:如果一個任務只做到一半呢?
例如原本需要 120 分鐘,現在已經完成 50%,AI 能不能知道它只剩下一半的工作?
下一篇,就來處理「進行中的任務」。