里程碑
智能秘書:你的個人任務、想法管理系統
蕭蕭 @hsiao.1114_發布於
一、發想與目標
我想設計一個可以透過 LINE 隨時記錄想法、管理待辦事項與查詢任務期限的「智能秘書」。因為平時可能會突然想到需要完成的事情,或是收到課程、研究及其他工作任務,如果每次都要打開不同的管理工具輸入資料,容易增加記錄的負擔。因此,我希望能透過 LINE 對話介面,使用自然語言與 AI 助理互動,讓待辦事項的記錄與管理更加方便。
本次的目標是整合 LINE Bot、n8n 自動化工作流程、AI Agent 與 Data Table,建立一個具備基本任務管理能力的個人助理原型。
二、實作方式與系統架構
本系統主要使用以下工具:
- LINE Bot: 作為使用者與智能秘書互動的介面,接收使用者傳送的文字,並回覆處理結果。
- n8n: 負責串接各個功能節點,控制資料流向、分支判斷、任務更新與 LINE 訊息回覆。
- AI Agent: 理解使用者以自然語言表達的需求,協助辨識意圖、擷取待辦資訊及整理修改內容。
- Data Table: 使用兩個data table分別儲存待辦事項與對話暫存狀態,讓系統能夠查詢既有紀錄,並依照使用者的要求更新資料。
整體流程是由 LINE 接收訊息,再透過 n8n 將內容交給 AI Agent 分析,依據辨識出的操作意圖進入對應的工作流程,最後讀取或更新 Data Table,並將處理結果回覆給使用者。
三、目前實作的功能與成果
1. 透過自然語言記錄待辦事項
使用者可以直接在 LINE 輸入想完成的事情,例如課程、會議或運動安排,系統再將內容整理成待辦紀錄,並儲存至 Data Table。
2. 查詢待辦事項
使用者可以透過對話查詢既有任務與期限,讓原本儲存在資料表中的資訊能夠透過自然語言介面取得。
3. 修改既有待辦事項
使用者可以提出修改需求,例如「去健身房改成星期三早上」。系統會分析待辦名稱及修改內容,並搜尋符合條件的既有紀錄。
當找到多筆可能符合的待辦時,系統會列出候選項目,請使用者回覆編號,再針對選定的資料列進行修改。這項設計可以降低同名或相似任務被誤修改的風險。
四、實作過程中遇到的問題與解決方式
1. AI Agent 的意圖辨識與資訊擷取
在測試過程中,部分自然語言輸入無法被正確分類,例如表達未來的活動安排時,AI Agent 曾回傳 unknown。因此,我需要調整提示詞、System Message 及資料解析方式,讓系統更能辨識使用者的實際意圖,並將待辦名稱、期限及其他修改資訊整理成可供後續節點使用的欄位。
2. 多筆相似待辦的辨識與選擇
當使用者提出修改需求時,可能會有多筆名稱相似的紀錄。例如,資料表中同時存在不同日期的健身房行程,單純依照關鍵字搜尋可能會找到多筆結果。
為了解決這個問題,我加入候選項目選擇流程,將符合條件的資料列 ID 暫存於 Conversation State的Data Table,等待使用者回覆編號,再依照選擇結果更新正確的資料列。
3. 對話狀態與資料列 ID 的管理
在除錯過程中,我發現即使 AI 已正確解析新的期限,後續節點仍可能因為讀取錯誤的欄位、使用錯誤的資料列 ID,或是未正確清除對話暫存狀態,而導致更新錯誤或下一則訊息被誤判為前一個操作的延續。
因此,我逐步檢查各節點的 Input、Output、資料表欄位及更新條件,並區分待辦資料表與 Conversation State 的用途。這讓我更了解自動化工作流程不只是串接節點,也需要確保每個節點傳遞的資料結構與操作條件一致。
五、目前成果與後續規劃
目前已建立 LINE Bot、n8n、AI Agent 與 Data Table 的整合流程,並逐步完成待辦資訊的解析、儲存、查詢及修改功能。透過多筆候選選擇與資料列 ID 的管理,也能進一步處理名稱相似的待辦事項。
後續希望持續改善對話狀態清除與例外情況處理,並視時間加入標記待辦已完成、永久刪除前的確認機制,以及逾期提醒等功能,讓智能秘書從基本的任務記錄工具,逐步發展成更完整的個人任務管理助理。
這次實作讓我學習到,AI Agent 的應用不只是讓模型理解文字,更重要的是如何將自然語言轉換成結構化資料,再透過自動化工作流程與資料庫執行正確的操作。除錯過程也讓我更熟悉節點之間的資料傳遞、條件判斷及狀態管理。
2 個愛心2 則留言
登入並驗證手機後就能留言。登入