iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0
AI Engineering

和 AI 一同打造個人專用知識庫:從零散資料到可運用的知識系列 第 16 篇

Day 16|創建知識庫之旅:找不到資料時,我希望 AI 怎麼回答?

  • 分享至 

  • xImage
  •  

上一篇用模糊描述,測試能不能找回知識庫裡的 BlackByte 案例。雖然沒有輸入名稱,系統還是找到了相關資料,這有接近我原本的期待。

不過,接著想到另一個問題:如果沒有找到呢?

有時候我真的只有一個模糊印象,可能記得某個工具能做什麼,但連用途都不一定記得很清楚。如果系統只回我「找不到」,我可能也不知道還能補充什麼。

所以今天想整理一下,遇到這種情況時,我希望知識庫可以怎麼協助我。

先讓我知道,每筆資料在講什麼

如果沒有很明確的結果,我希望系統可以先列出一些可能相關的資料,簡單說明每筆在講什麼。

我比較想先看資料本身的介紹。看過之後,可能會想起原本要找的東西,也可能想到其他可以利用的地方。
至於它跟我的問題有沒有關係,我想先自己判斷。

如果看完還是不確定,再提供其他選項,例如幫我縮小方向,或看看其他候選資料。

因為我不一定一開始就能說清楚自己要找什麼,有時候需要先看到一些內容,才會慢慢想起來。

查過正式版,才知道現在還接不上前面的問題

為了確認這些是不是已經有做,我請 AI 協助檢查正式版的前端與問答程式。

目前確實有語意搜尋,也能根據找到的資料產生回答。但我們今天討論的候選資料說明、縮小方向等選項,還沒有完整做出來。

其中一個我覺得值得說明的地方,是目前每次提問都只送出當次的問題。把請求簡化來看,大致是:

{
  "question": "這一次輸入的問題"
}

這段是依照正式版請求結構整理的示意,不是新增的功能程式碼。

畫面上雖然看得到前面的訊息,但後端沒有把前面的對話一起交給回答模型。

例如,我先問:

有沒有能把文章整理成語音的工具?

下一句再補充:

我記得是兩個人對話的那種。

目前系統只會拿第二句重新處理,沒有透過對話歷史接續「文章轉成語音」這個需求。

這讓我發現,畫面看起來可以聊天,和系統真的能接續前面的問題,是兩件不同的事。

候選資料有取回來,但沒有另外列給我看

正式版的問答 API 會回傳回答、檢索方式,以及候選資料的編號與標題。不過,前端目前主要顯示回答文字,沒有把這些候選另外整理成附有摘要的列表。

AI 可能會在回答中介紹其中幾筆資料,但這和固定提供「每筆在講什麼」的候選清單,還是有差別。

另外,目前的檢索流程會先嘗試語意搜尋,沒有結果或發生錯誤時,再改用關鍵字搜尋。如果仍然沒有結果,就取最近十五筆資料,交給 AI 作為回答材料。

但最近存進去的資料,不一定跟這次問題有關。

我會希望把這部分分開:沒有找到符合搜尋條件的資料,就先說明這次沒有找到。如果我想回頭翻最近存了什麼,再由我選擇瀏覽最近收錄的內容。

我希望改完之後,可以這樣使用

下面是今天討論後的改善構想,尚未實作,也不是正式版的實測畫面。

假設我提出:

我記得有個工具,可以把文章變成用聽的,但名字忘了。

系統可以先提供候選資料:

以下是可能相關的資料,可以先看看有沒有接近你的印象。

候選 A:〔資料標題〕
這筆介紹把文字轉成語音的工具,主要用途是朗讀輸入的內容。

候選 B:〔資料標題〕
這筆介紹把資料整理成對談式音訊的功能。

【查看內容】
【幫我縮小方向】 【我也不確定,先看其他候選】

這裡的 A、B 只是呈現方式的範例,不代表知識庫實際收錄了這兩筆資料。

候選說明可以優先使用已保存的摘要。如果沒有摘要,就標示尚無摘要,不必為了補齊畫面而猜測內容。

看過之後,如果我補充:

我比較記得是兩個人對話的那種。

系統就應該保留原本的需求,把「文章轉成音訊」和「雙人對談」一起作為新的搜尋線索。

如果我還是說不出來,也可以先看其他候選,而不是一定要回答完問題,搜尋才能繼續。當然,如果沒有更多符合條件的資料,也要直接說明,不需要硬湊一批結果。

https://ithelp.ithome.com.tw/upload/images/20260930/20183856J1IARS9jnh.png

沒找到,和查詢失敗,也要分開說

這裡也想到我正在開發的語音助理。

它的歷程文件記載,曾經因為連線失敗,又缺少明確的載入與錯誤提示,讓畫面看起來像是知識庫沒有資料。

這是歷史紀錄,不代表現在仍然有同樣的問題,但它提醒我:使用者看到空白時,不一定知道背後發生什麼事。

所以我希望知識庫至少分清楚下面幾種狀況:

狀況 我希望看到的說明
找到候選資料 列出資料,讓我看過後確認
這次沒有找到符合條件的資料 提供補充線索、縮小方向或瀏覽最近收錄的選項
連線或服務失敗 明確說明查詢沒有完成,提供重試選項

「這次沒有找到」也不等於「知識庫裡一定沒有」。可能只是問法不同,或目前的搜尋方式沒有把資料找出來。

如果是查詢失敗,就更不能直接當成沒有資料。

https://ithelp.ithome.com.tw/upload/images/20260930/20183856u8Sidfhr76.png

先把結果說清楚,再讓對話接得上

這些想法是今天整理文章、檢查正式版時逐步補出來的,目前還是改善需求。

我想先處理候選資料與狀態提示,讓我知道系統找到了什麼,以及這次查詢有沒有正常完成。再來才是保留前面的問題與補充線索,讓後續提問能接得上。

等實作後,還需要確認:補充一句話時,系統有沒有理解原本的需求?沒有找到時,有沒有清楚說明?連線失敗時,會不會又看起來像沒有資料?

對我來說,搜尋不一定每次都要立刻給出一個很確定的答案。

有時候我只是希望先看到一些看得懂的線索,讓我慢慢想起來,再決定要繼續看哪一筆。這也是我希望知識庫接下來能更方便使用的地方。


上一篇
Day 15|創建知識庫之旅:不記得名字,也想找回資料
下一篇
Day 17|創建知識庫之旅:有附來源,模型的回答就可信嗎?
系列文
和 AI 一同打造個人專用知識庫:從零散資料到可運用的知識 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言