同一份文件,為什麼每個 AI 都要再上傳一次?
您上傳的檔案留在您上傳的那個助理裡,下一個助理看不到它。這裡講清楚長文件到底會經歷 什麼、「personal RAG」是什麼意思,以及什麼時候直接上傳到對話裡仍然是更好的做法。
簡短的回答
上傳的檔案會留在您放它的地方。 每個助理都把上傳的東西儲存在自己的服務裡,彼此不會 去讀對方的。您把一份報告加到其中一個,對下一個助理來說就跟從來沒加過一樣。
於是文件跟著工具走,而不是跟著事情走。換一個助理,或者再添一個程式開發工具,就又多出一個想要同一 份檔案的地方。
上傳一份長文件時,實際發生了什麼
助理會做兩件事之一:把整份文件讀進對話,或者在文件太大時,只去找它需要的那部分。
整份讀進去的時候,這份長度會在每一次新對話裡重新進來一遍。 上一次問過的內容不會帶 過來。隔三天再回來看,它就被讀三次。這份長度同時也是您付出的成本,而最先能感覺到的地方是程式開發 工具——在那裡,一天是一連串新工作階段,而不是一場長對話。
一旦助理轉成去找,它就不再把文件當成一個整體來看。 它取出跟您問題相符的段落,然後 依據那些段落工作。這個切換依它自己的判斷發生,而且不會告訴您現在是哪一種。
兩種都不是錯的行為——它們是對一份裝不下的文件給出的兩個合理答案。要緊的是從第二種裡推出來的事情: 超過一定體量,去找這件事其實已經在發生了。 懸而未決的問題從來不是要不要用檢索,而是 這份檢索是誰的,以及它會不會跟著您走。
「personal RAG」是答案嗎
它是對已經在運轉的東西的一種描述,而不是您必須開工的專案。
RAG——retrieval-augmented generation——指的是先找到相關的文字,讓模型依據那些文字來寫答案, 而不是只憑它本來就有的東西。 當被找出來的文字是您自己的文件時,大家就把它叫作 personal RAG。
您可以自己搭一套,如果您想把整套都自己跑起來,也有一條走熟了的路。但搭出來這件事,回答的是另一個 問題,不是讓這一切開始的那個問題。問題從來不是檢索怎麼運作,而是這份文件放在哪裡——因為決定 下一個助理能不能用它的,正是這一點。
必須放在助理之外的那部分
要讓一份文件在任何助理裡都能用,它就得放在一個不屬於其中任何一個的地方。 這樣的存放處叫作知識層——把適用於筆記和決定的同一個 想法,用在檔案上。
對一份文件來說,變的是副本的數量。您加一次。此後,您連接的每個助理都到同一個地方去找,換工具也 不代表要再加一遍檔案。
什麼時候就該直接上傳到對話裡
如果這份文件您只打算用一次,那就上傳到對話裡,然後繼續做事。 把它放進某個長期的 地方,是收不回來的功夫。
- 一次性的分析。「把這份合約裡有風險的條款挑出來。」您今天想要的是關於這個檔案的 一個答案,之後就不再需要它了。
- 牽涉計算的事。 整張表的合計、一張圖、重新排一遍格式——那是在檔案上跑程式碼的 工具該做的事,不是存放處該做的。
- 把一批資料讀透。 把一疊論文放在一起、彼此對照著讀,是專門為此打造的工具在做的 事。不同的事,不同的形狀。
把文件放在外面的理由,是後來才浮現的——當您發現同一個檔案被傳了第二遍、第三遍的時候。
實際用起來是這樣
您把文件加進去一次,之後就只管問。 檔案不再是您在工具之間搬來搬去的東西,而變成 工具伸手去取的東西。
Contextick 就是這樣的存放處之一。您從儀表板上傳一個檔案,它會被轉換成文字並儲存下來,您連接過的 任何助理之後都能找到它。上傳是怎麼運作的,看這裡。
FAQ
我把檔案傳到 ChatGPT,Claude 也能讀到嗎?
不能。每個助理都把上傳的東西儲存在自己的服務裡,彼此不會去讀對方的,所以這個檔案要麼分別加到每一個裡,要麼放在兩者之外的某個地方。
retrieval-augmented generation 是什麼?
先找到相關的文字,讓模型依據那些文字來寫答案,而不是只憑它本來就有的東西。當被找出來的文字是您自己的文件時,大家就把它叫作 personal RAG。
長文件為什麼每次用都更花錢?
因為它被讀進對話之後,這份長度會在每一次新對話裡重新進來一遍。上一次問過的內容不會帶過來,所以您回來幾次,同一份文件就被讀幾次。
想讓任何 AI 都能用,這份文件該放在哪裡?
放在不屬於任何單個助理的地方。位於它們之外的存放處可以分別連到每一個,所以文件只加一次,而不是每個工具各加一次。