上一篇用模糊描述,測試能不能找回知識庫裡的 BlackByte 案例。雖然沒有輸入名稱,系統還是找到了相關資料,這有接近我原本的期待。
不過,接著想到另一個問題:如果沒有找到呢?
有時候我真的只有一個模糊印象,可能記得某個工具能做什麼,但連用途都不一定記得很清楚。如果系統只回我「找不到」,我可能也不知道還能補充什麼。
所以今天想整理一下,遇到這種情況時,我希望知識庫可以怎麼協助我。
如果沒有很明確的結果,我希望系統可以先列出一些可能相關的資料,簡單說明每筆在講什麼。
我比較想先看資料本身的介紹。看過之後,可能會想起原本要找的東西,也可能想到其他可以利用的地方。
至於它跟我的問題有沒有關係,我想先自己判斷。
如果看完還是不確定,再提供其他選項,例如幫我縮小方向,或看看其他候選資料。
因為我不一定一開始就能說清楚自己要找什麼,有時候需要先看到一些內容,才會慢慢想起來。
為了確認這些是不是已經有做,我請 AI 協助檢查正式版的前端與問答程式。
目前確實有語意搜尋,也能根據找到的資料產生回答。但我們今天討論的候選資料說明、縮小方向等選項,還沒有完整做出來。
其中一個我覺得值得說明的地方,是目前每次提問都只送出當次的問題。把請求簡化來看,大致是:
{
"question": "這一次輸入的問題"
}
這段是依照正式版請求結構整理的示意,不是新增的功能程式碼。
畫面上雖然看得到前面的訊息,但後端沒有把前面的對話一起交給回答模型。
例如,我先問:
有沒有能把文章整理成語音的工具?
下一句再補充:
我記得是兩個人對話的那種。
目前系統只會拿第二句重新處理,沒有透過對話歷史接續「文章轉成語音」這個需求。
這讓我發現,畫面看起來可以聊天,和系統真的能接續前面的問題,是兩件不同的事。
正式版的問答 API 會回傳回答、檢索方式,以及候選資料的編號與標題。不過,前端目前主要顯示回答文字,沒有把這些候選另外整理成附有摘要的列表。
AI 可能會在回答中介紹其中幾筆資料,但這和固定提供「每筆在講什麼」的候選清單,還是有差別。
另外,目前的檢索流程會先嘗試語意搜尋,沒有結果或發生錯誤時,再改用關鍵字搜尋。如果仍然沒有結果,就取最近十五筆資料,交給 AI 作為回答材料。
但最近存進去的資料,不一定跟這次問題有關。
我會希望把這部分分開:沒有找到符合搜尋條件的資料,就先說明這次沒有找到。如果我想回頭翻最近存了什麼,再由我選擇瀏覽最近收錄的內容。
下面是今天討論後的改善構想,尚未實作,也不是正式版的實測畫面。
假設我提出:
我記得有個工具,可以把文章變成用聽的,但名字忘了。
系統可以先提供候選資料:
以下是可能相關的資料,可以先看看有沒有接近你的印象。
候選 A:〔資料標題〕
這筆介紹把文字轉成語音的工具,主要用途是朗讀輸入的內容。候選 B:〔資料標題〕
這筆介紹把資料整理成對談式音訊的功能。【查看內容】
【幫我縮小方向】 【我也不確定,先看其他候選】
這裡的 A、B 只是呈現方式的範例,不代表知識庫實際收錄了這兩筆資料。
候選說明可以優先使用已保存的摘要。如果沒有摘要,就標示尚無摘要,不必為了補齊畫面而猜測內容。
看過之後,如果我補充:
我比較記得是兩個人對話的那種。
系統就應該保留原本的需求,把「文章轉成音訊」和「雙人對談」一起作為新的搜尋線索。
如果我還是說不出來,也可以先看其他候選,而不是一定要回答完問題,搜尋才能繼續。當然,如果沒有更多符合條件的資料,也要直接說明,不需要硬湊一批結果。

這裡也想到我正在開發的語音助理。
它的歷程文件記載,曾經因為連線失敗,又缺少明確的載入與錯誤提示,讓畫面看起來像是知識庫沒有資料。
這是歷史紀錄,不代表現在仍然有同樣的問題,但它提醒我:使用者看到空白時,不一定知道背後發生什麼事。
所以我希望知識庫至少分清楚下面幾種狀況:
| 狀況 | 我希望看到的說明 |
|---|---|
| 找到候選資料 | 列出資料,讓我看過後確認 |
| 這次沒有找到符合條件的資料 | 提供補充線索、縮小方向或瀏覽最近收錄的選項 |
| 連線或服務失敗 | 明確說明查詢沒有完成,提供重試選項 |
「這次沒有找到」也不等於「知識庫裡一定沒有」。可能只是問法不同,或目前的搜尋方式沒有把資料找出來。
如果是查詢失敗,就更不能直接當成沒有資料。

這些想法是今天整理文章、檢查正式版時逐步補出來的,目前還是改善需求。
我想先處理候選資料與狀態提示,讓我知道系統找到了什麼,以及這次查詢有沒有正常完成。再來才是保留前面的問題與補充線索,讓後續提問能接得上。
等實作後,還需要確認:補充一句話時,系統有沒有理解原本的需求?沒有找到時,有沒有清楚說明?連線失敗時,會不會又看起來像沒有資料?
對我來說,搜尋不一定每次都要立刻給出一個很確定的答案。
有時候我只是希望先看到一些看得懂的線索,讓我慢慢想起來,再決定要繼續看哪一筆。這也是我希望知識庫接下來能更方便使用的地方。