iT邦幫忙

2026 iThome 鐵人賽

DAY 10
0
ChatGPT & Codex

AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統系列 第 10 篇

Day 10|Chat API:讓前端、後端與 AI 真正連起來

  • 分享至 

  • xImage
  •  

前一天開始進入 Codex 的實作階段後,第一個需要建立的核心功能,就是 Chat API。

在 VoCare 裡,Chat API 可以理解成前端、後端與 AI 之間的溝通橋樑。

長者在前端輸入文字或語音後,這些內容不會直接送到 AI,而是先透過 API 傳送到後端。後端收到資料後,再進行後續處理,最後將 AI 產生的回覆重新傳回前端。

整體流程可以整理成:

使用者輸入訊息
→ Chat API 接收資料
→ 後端處理
→ 呼叫 AI
→ 儲存對話紀錄
→ 回傳 AI 回覆
→ 前端顯示結果

這也是 VoCare 後續所有 AI 對話功能的基礎。

目前第一階段的 Chat API 主要負責幾件事情:

  • 接收使用者身分
  • 接收聊天內容
  • 將訊息傳送給 AI
  • 取得 AI 回覆
  • 保存使用者與 AI 的對話
  • 將結果回傳給前端

表面上看起來只是「傳送訊息並取得回答」,但實際上這個 API 會成為後續許多功能的入口。

例如未來加入 Memory 之後,Chat API 在呼叫 AI 之前,需要先取得和目前對話相關的長期記憶。

加入 Context 之後,還需要取得長者近期的狀況。

因此完整流程會逐漸從:

訊息 → AI → 回覆

擴充成:

訊息
→ 取得 Memory
→ 取得 Context
→ AI 產生回覆
→ 儲存對話
→ 更新 Memory
→ 整理近期狀況
→ 回傳結果

所以在這個階段,Chat API 不需要一次加入所有功能。

比較適合的方式是先建立最基本的聊天流程,確認前端、後端、AI 與資料庫可以正常連接,再逐步加入其他模組。


API 的功能邊界

在使用 Codex 開發這類功能時,另一個重要概念是:

需求必須定義清楚功能邊界。

例如如果只告訴 Codex:

「建立一個聊天功能。」

這個範圍其實非常模糊。

Codex 可能會自行決定資料結構、建立新的 Service,甚至加入目前還不需要的功能。

所以比較完整的需求應該包含:

  • API 要接收哪些資料
  • API 要回傳哪些資料
  • 要使用目前哪一個 Service
  • 哪些資料需要保存
  • 發生錯誤時如何處理
  • 哪些功能目前不在這次實作範圍內

也就是說,使用 Codex 開發時,不只是描述:

「我要什麼。」

還要明確告訴它:

「這次做到哪裡為止。」

這樣才能降低 AI 自行擴大修改範圍的情況。


Chat API 還需要處理錯誤情況

一支 API 也不能只考慮正常情況。

例如 Chat API 還需要考慮:

  • 使用者沒有輸入內容
  • 使用者不存在
  • AI 服務暫時無法使用
  • 資料庫寫入失敗
  • AI 回傳內容異常

因此後端除了處理正常聊天流程之外,也需要統一錯誤處理方式。

前端收到結果後,才能知道目前是:

正常取得 AI 回覆

還是:

系統發生錯誤。

這也是 API 設計中很重要的一部分。


上一篇
Day 09|從規劃走向實作:第一次讓 Codex 接手 VoCare
下一篇
Day 11|Conversation 與 Message:聊天紀錄應該怎麼保存?
系列文
AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言