為了讓行程有客製化的效果,我們新增了一個可選欄位 interests
,用以描述使用者對旅程的偏好主題,例如藝術文化、美食探索或自然景觀。所以要在每次收到請求組合以下 Prompt 給 Agent 執行:
不過要讓 AI 一次就完成一個完美的行程規劃實在太不切實際,我們想要新增一個 API,讓使用者可以透過既有的 sessionId
或直接傳入 itinerary
來進行行程修改。
為了統一 session 建立與查詢的使用者識別,我們新增了 GLOBAL_USER_ID
常數,並在 Agent 的 session 操作中統一使用,避免多重使用者上下文造成混淆。
此 API 的核心邏輯如下:
sessionId
,則呼叫 async_get_session()
進行驗證itinerary
,則呼叫 async_create_session()
建立新 session,並組合修改提示文字"Either sessionId or itinerary is missing"
UpdateResponse
,包含 session ID 與 AI 回覆內容這次的改動不僅讓 /update
API 更具彈性與容錯能力,也為後續的 session 管理與行程互動打下穩固基礎。透過清晰的資料模型、條件式邏輯與錯誤處理機制,我們成功建立了一個可擴充、可維護的行程修改流程。未來若需支援多語言提示、AI 回覆生成或前端互動整合,這套架構都能輕鬆延伸,持續提升使用者體驗與系統穩定性。