Yeonghyeon ·

同一份文档,为什么每个 AI 都要再上传一遍?

您上传的文件留在您上传的那个助理里,下一个助理看不到它。这里讲清楚长文档到底会经历 什么、“personal RAG”是什么意思,以及什么时候直接上传到对话里仍然是更好的做法。

简短的回答

上传的文件会留在您放它的地方。 每个助理都把上传的东西保存在自己的服务里,彼此不会 去读对方的。您把一份报告加到其中一个,对下一个助理来说就跟从来没加过一样。

于是文档跟着工具走,而不是跟着事情走。换一个助理,或者再添一个编程工具,就又多出一个想要同一份 文件的地方。

上传一份长文档时,实际发生了什么

助理会做两件事之一:把整份文档读进对话,或者在文档太大时,只去找它需要的那部分。

整份读进去的时候,这份长度会在每一次新对话里重新进来一遍。 上一次问过的内容不会带 过来。隔三天再回来看,它就被读三次。这份长度同时也是您付出的成本,而最先能感觉到的地方是编程工具—— 在那里,一天是一连串新会话,而不是一场长对话。

一旦助理转成去找,它就不再把文档当成一个整体来看。 它取出跟您问题相符的段落,然后 基于那些段落工作。这个切换按它自己的判断发生,而且不会告诉您现在是哪一种。

两种都不是错的行为——它们是对一份装不下的文档给出的两个合理答案。要紧的是从第二种里推出来的事情: 超过一定体量,去找这件事其实已经在发生了。 悬而未决的问题从来不是要不要用检索,而是 这份检索是谁的,以及它会不会跟着您走。

“personal RAG”是答案吗

它是对已经在运转的东西的一种描述,而不是您必须开工的项目。

RAG——retrieval-augmented generation——指的是先找到相关的文字,让模型依据那些文字来写答案, 而不是只凭它本来就有的东西。 当被找出来的文字是您自己的文档时,大家就把它叫作 personal RAG。

您可以自己搭一套,如果您想把整套都自己跑起来,也有一条走熟了的路。但搭出来这件事,回答的是另一个 问题,不是让这一切开始的那个问题。问题从来不是检索怎么工作,而是这份文档放在哪里——因为决定 下一个助理能不能用它的,正是这一点。

必须放在助理之外的那部分

要让一份文档在任何助理里都能用,它就得放在一个不属于其中任何一个的地方。 这样的存放处叫作知识层——把适用于笔记和决定的同一个 想法,用在文件上。

对一份文档来说,变的是副本的数量。您加一次。此后,您连接的每个助理都到同一个地方去找,换工具也 不意味着要再加一遍文件。

什么时候就该直接上传到对话里

如果这份文档您只打算用一次,那就上传到对话里,然后继续做事。 把它放进某个长期的 地方,是收不回来的功夫。

把文档放在外面的理由,是后来才浮现的——当您发现同一个文件被传了第二遍、第三遍的时候。

实际用起来是这样

您把文档加进去一次,之后就只管问。 文件不再是您在工具之间搬来搬去的东西,而变成 工具伸手去取的东西。

Contextick 就是这样的存放处之一。您从仪表板上传一个文件,它会被转换成文字并保存下来,您连接过的 任何助理之后都能找到它。上传是怎么运作的,看这里

FAQ

我把文件传到 ChatGPT,Claude 也能读到吗?

不能。每个助理都把上传的东西保存在自己的服务里,彼此不会去读对方的,所以这个文件要么分别加到每一个里,要么放在两者之外的某个地方。

retrieval-augmented generation 是什么?

先找到相关的文字,让模型依据那些文字来写答案,而不是只凭它本来就有的东西。当被找出来的文字是您自己的文档时,大家就把它叫作 personal RAG。

长文档为什么每次用都更费?

因为它被读进对话之后,这份长度会在每一次新对话里重新进来一遍。上一次问过的内容不会带过来,所以您回来几次,同一份文档就被读几次。

想让任何 AI 都能用,这份文档该放在哪里?

放在不属于任何单个助理的地方。位于它们之外的存放处可以分别连到每一个,所以文档只加一次,而不是每个工具各加一次。

← 全部文章