對話階段 - Clean Architecture in TypeScript
前面的實作都是將對話編號寫死為 default 接下來我們要讓每個使用者開啟後都能夠產生一個新的對話,而且持續 60 分鐘都可以使用相同的對話串來進行購物。
前面的實作都是將對話編號寫死為 default 接下來我們要讓每個使用者開啟後都能夠產生一個新的對話,而且持續 60 分鐘都可以使用相同的對話串來進行購物。
最近看到 n8n(自動化工作流程平台)的更新中加入了 LINE Messaging 的社群節點,花了一點時間研究才發現好心人竟然是自己。
因為已經有 n8n Line Messaging 社群節點教學以及 n8n Line API 串接教學:從零開始,打造你的專屬 AI 通知機器人兩篇文章介紹使用方式,這篇文章就來聊一下作者角度的看法。
可以查詢商品後,我們就可以透過對話得到能購買的商品,那麼就可以加入更新購物車商品的設計。基於前面我們已經有很多基礎,加入新功能的速度會快上不少。
撰寫本文時 Claude Code 變得非常熱門,後續的文章會使用 Claude Code 作為範例。
處理完讀取購物車資訊後,我們還需要讓使用者可以取得能購買的商品。因為是對話式的介面,所以需要將查詢商品的功能變成 AI 助手工具的一部分,雖然會因為語言模型的能力影響好用程度,不過以實驗性專案的情境還是蹭有趣的。
購物車側欄第一階段的 API 處理完畢後,我們一樣需要重構為 Use Case 來保持架構的一致性,以及後續的可擴充性,我們會繼續使用 AI 來協力完成這個修改。
目前對話功能除了保存紀錄外,已經是處於可以使用的狀態。接下來我們要繼續把購物車的側邊欄介面實現出來,用來呈現商品列表。
驗證大型語言模型可以順利整合後,我們需要繼續依照 Clean Architecture 的處理方式將物件拆分開來,在對話紀錄的處理上我們已經完成過一次,基本上只要依照相同的方式處理即可。
我們現在已經可以將假的對話資料傳到前端呈現出來,接下來我們繼續讓前端的對話可以實際使用 LLM(大型語言模型)產生的訊息,因此我們需要先加入一個新的 API 端點以及更新介面將對話發送到後端。
經過將對話紀錄從前端移動到後端,我們需要再更近一步將這個行為抽離成商業邏輯,基本上跟傳統開發模式沒有太大差異,主要的變化是我們將這些任務交接給 Agent(代理)來處理,人類則負責設計跟提示。