這次的 30 天挑戰,我想從 AI Companion 出發。
現在的生成式 AI 已經很擅長聊天。只要輸入一個問題,LLM 通常都能快速給出完整的回答;搭配語音辨識與語音合成後,也可以進一步做成能夠直接對話的語音助理。
但在實際使用時,我開始思考一個問題:
如果 AI 每次都只是在「回答現在這個問題」,那它真的算是在陪伴使用者嗎?
真正的陪伴並不是每一次對話都重新開始。
例如一個人昨天提到最近睡不好、這幾天胃口變差,或是最近比較少出去散步。如果 AI 在下一次對話時完全忘記這些事情,那麼不管回答多自然,它仍然比較像是一個「會說話的搜尋工具」。
因此這次我想做的,不只是一個可以聊天的 AI,而是一個能夠從長期互動中逐漸理解使用者的 AI Companion。
這次我把主要應用情境放在「高齡智慧健康照護」。
其中一個原因,是高齡者的許多生活與健康資訊,其實不一定會主動被記錄下來。
例如:
「我昨天晚上一直睡不好。」
「最近吃東西比較沒有胃口。」
「今天膝蓋又有點不舒服。」
這些話在一般聊天系統中,可能只會被當成一次性的對話內容。
但如果把時間拉長來看,這些資訊其實可能逐漸形成一段「生活與健康狀態的變化」。
相較於要求使用者每天打開 App、填寫表格、輸入睡眠時間、飲食狀況與身體狀態,我更想嘗試另外一種方式:
讓健康資訊自然存在於日常對話之中,再由 AI 協助整理。
也就是使用者不需要特別改變原本說話的方式,系統就在互動過程中逐漸建立 Health Memory,並觀察長期變化。
當然,這個系統並不是要取代醫師,也不會進行疾病診斷或自行調整藥物,而是希望成為日常生活中的輔助工具。
我認為兩者最大的差別不只是「有沒有語音」。
一般 Chatbot 的流程可能比較像:
使用者提問
↓
LLM
↓
產生回答
一次問題對應一次回答。
但如果要做成 AI Companion,我希望它可以多知道一些事情:
現在在說什麼?
↓
以前說過什麼?
↓
最近的狀態有沒有改變?
↓
現在適不適合主動互動?
↓
需要聊天、查資料,還是執行某個動作?
因此系統需要的不只是 LLM,而是 Memory、RAG、Agent、Personalization 等不同模組一起合作。
這次預計從最基本的語音互動開始,再逐步加入更完整的功能。
首先讓 AI 能夠「聽」和「說」。
使用者透過麥克風說話,STT 將語音轉成文字;LLM 產生回答後,再透過 TTS 轉換成語音播放。
後續也會嘗試 Voice Cloning,讓語音互動更具有個人化。
接著讓 AI 不只是保存 Conversation History,而是真的能夠從對話中挑出值得長期保留的資訊。
例如:
偏好
生活習慣
重要事件
睡眠
飲食
活動
身體不適
用藥相關紀錄
並區分一般 Memory 與 Health Memory。
單筆 Health Memory 的價值其實有限。
真正重要的是:
這些資訊放到時間軸上之後,有沒有發生變化?
因此後續會嘗試分析一段時間內的健康事件,觀察睡眠、飲食、活動等狀態是否出現趨勢。
健康相關回答不能只依賴 LLM 自己產生內容。
因此我也會建立衛教 RAG,讓系統在回答相關問題時,先從可信的健康資訊來源中搜尋內容,再產生回答。
當功能越來越多之後,就需要一個 Agent 判斷:
現在應該單純聊天?
還是查詢衛教資料?
需要記錄 Health Memory?
需要建立提醒?
還是應該建議尋求專業協助?
最後,希望 AI 不只是知道「使用者是誰」,還能慢慢學習「怎麼跟這個人互動」。
例如有些人喜歡被主動關心,有些人不喜歡被頻繁詢問。
因此個人化不只是改變稱呼或語氣,而是連互動時機與策略都能逐漸調整。
目前先把整體架構畫成:

當然,30 天內不一定能把每一個模組做到非常完整。
但我希望透過每天增加一個能力,慢慢把原本單純的:
語音 → LLM → 語音
擴展成一個真正具有記憶、健康資訊整理、決策與個人化能力的系統。
最後我希望完成的 Demo,不只是:
「使用者問問題,AI 回答。」
而是使用者可以直接透過語音與 AI 互動,AI 能記得過去的重要資訊,也能從日常對話中整理部分健康事件。
當時間累積後,系統可以進一步觀察近期狀態,在需要回答健康問題時透過 RAG 找到可靠資訊,並由 Agent 判斷下一步應該採取什麼行動。
再加上個人化互動與 Real-Time Avatar,逐漸形成一個完整的 AI Companion。
因此這次 30 天挑戰最核心的目標,可以濃縮成一句話:
我希望做的不是一個只會回答問題的聊天機器人,而是一個能從長期互動中理解使用者生活與健康狀態的 AI Companion。
Day 01 先把整個系統的方向定下來。
從 Day 02 開始,就正式讓它學會第一件事情:
聽懂使用者說話。