今天終於開始把前幾天做的東西串起來。
前幾天的流程比較像是:
使用者輸入 → 系統判斷 → 存資料
但今天想做的是:
使用者講話 → 判斷要做什麼 → 呼叫 Function → 執行功能
「我現在已經有 records 了,要怎麼讓使用者輸入一句話之後,判斷要呼叫哪個功能?」
AI 告訴我,可以先把功能拆成不同的 Function。
例如:
addRecord()
負責新增紀錄。
getRecords()
負責查詢紀錄。
這樣就不需要把所有程式都寫在 if 裡面。
我原本是直接判斷:
if (userText.includes("吃藥")) {
// 直接存資料
}
今天改成:
使用者:「我今天吃藥了」
↓
系統判斷
↓
呼叫 addRecord()
↓
建立 JSON
↓
存進 records
我也問 AI:
「可是我之前的程式已經做到 Day6、Day7、Day8、Day9 了,我不想全部重寫怎麼辦?」
所以這次沒有重新寫一份 server.js,而是在原本的程式上增加 Function,保留之前的對話記憶和資料紀錄。
測試之後,我輸入:
我今天吃藥了
系統就會呼叫 addRecord(),把資料整理後存進 records。
如果輸入:
查看
就會呼叫 getRecords(),把目前存下來的資料拿出來。
今天我比較理解為什麼 AI Agent 不只是「聊天」。
真正重要的是:
AI 判斷使用者想做什麼 → 選擇適合的 Function → 讓程式真的執行事情。
目前因為 API 還不能使用,我先用程式的判斷方式模擬 AI。
之後 API 可以正常使用,就可以再把這個判斷換成真正的 AI Function Calling。
目前的 records 還是存在:
let records = [];
所以只要把 Server 關掉,資料就會消失。
明天要開始建立真正的資料庫:
SQLite
讓資料可以真正被保存下來,不會因為重新啟動程式就全部消失。
今天終於開始把前幾天做的東西串起來。