做到今天,我發現一件事。
前面一直都是透過網頁和 ChatGPT 互動,但每次修改程式,都要重新整理頁面、重新測試,其實有點麻煩。
所以今天決定先把 UI 放一邊,改成直接用 Terminal(CLI) 和程式互動。
這樣可以先專注在功能本身,等核心功能都完成之後,再回來設計網頁介面。
今天最大的調整不是新增功能,而是整理程式架構。
原本很多判斷都直接寫在:
app.post("/api")
裡面,隨著功能越來越多,程式開始變得不好閱讀。
因此今天把聊天流程拆成幾個 Function,讓每個 Function 只負責一件事情。
例如:
detectIntent():判斷使用者想做什麼chat():負責整個聊天流程addRecord():新增吃藥紀錄getRecords():查詢紀錄整個流程也變得更清楚:
Terminal
↓
chat()
↓
detectIntent()
↓
呼叫對應 Function
↓
SQLite
↓
回傳回答
完成後,只要在 Terminal 執行:
node server.js
就可以直接輸入:
我今天吃藥了
或是:
查看
系統就會直接回覆結果,不需要再透過網頁操作。
今天雖然沒有加入新的 AI 功能,但我覺得這一步很重要。
因為把聊天流程和功能拆開之後,未來不管是加入新的功能,還是串接真正的 OpenAI API,都不用一直修改同一大段程式。
程式也比之前更容易閱讀和維護。
chat() FunctiondetectIntent() 判斷使用者意圖今天最大的收穫不是多了一個介面,而是開始理解「功能拆分」的重要性。
以前只要功能能動就好,現在開始會思考怎麼讓程式更容易維護,也替後面的功能預留空間。
目前 AI 已經可以記錄和查詢吃藥紀錄。
明天想試著讓它更主動一點。
利用時間(Time Trigger)定時提醒吃藥。
希望做到指定時間一到,Terminal 就會自動跳出提醒訊息,讓 AI 助手不只是回答問題,也能主動提醒使用者。