iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0

前言

昨天我們測試了不同的可用時間,發現 AI 會根據 Deadline、重要程度和目前時間來判斷該做什麼。

而前幾天的 Day 21,我們也測過:任務完成 → AI 重新安排剩下的任務。

但那次有一個問題:Task 完成是我們自己手動去 MySQL 修改的。

正常使用 Todo 的情況應該是:

完成任務
   ↓
按下「完成」
   ↓
任務狀態更新
   ↓
AI 重新判斷
   ↓
推薦下一個任務

所以今天的目標就是:

先讓後端有一個「完成任務」的功能。

新增完成任務 API

打開你的 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 可以幫我們做的事情。

Postman 測試

image

查詢 MySQL

image

完成任務後,重新讓 AI 排一次

AI 不會再把 Task 14 排進任務裡


以前完成任務只是把 status 改成 done,但現在這個動作會進一步影響 AI 下一次的判斷。也就是說,我的操作會改變系統接下來給出的建議。

不過現在還有一個問題:如果一個任務只做到一半呢?

例如原本需要 120 分鐘,現在已經完成 50%,AI 能不能知道它只剩下一半的工作?

下一篇,就來處理「進行中的任務」。


上一篇
Day 22|能使用的時間改變時,AI 會如何推薦任務
下一篇
Day 24|如果任務做到一半,AI 會知道嗎?
系列文
如果 AI 幫我安排每日的任務?——讓待辦清單不只是清單:LLM × Flask × MySQL 打造動態任務規劃系統 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言