你刚刚改完源文档——加了新报价表、改了错字、重写了一整段——回到 Project 里问 ChatGPT,它还在引用旧版本。Project Files 不是云文档的实时镜像,每次上传是一份冻结的快照,只在上传那一刻建了一次索引。你不重新上传(或通过 connector 触发同步),模型读的就是昨天的版本。再加上 retrieval 层本身有缓存,重新上传后头几分钟也可能还在返回旧答案。
常见原因
按命中率从高到低:
1. Project Files 是快照不是实时镜像
最常见的误解。你把 PDF / DOCX / Markdown 拖进 Project Files,平台只在那一次抽取文本、切 chunk、生成 embedding 入库。之后你在本地或 Google Drive 改原文件,索引不会自动跟上。
如何判断:让它”逐字引用第 2 节最后一句”,如果引出来的是改之前的原文 = 索引还是旧的。
2. Connector 已同步但缓存还没过期
如果走 Google Drive / OneDrive / SharePoint connector,同步可以接近实时,但 ChatGPT 的 retrieval 层通常对 chunk embedding 缓存 10-60 分钟。改动在第 0 分钟到位,但模型在缓存滚动前仍在用旧 embedding。
如何判断:等 30-60 分钟开一个新 chat 再问,能拿到新内容 = 是缓存延迟。
3. 重新上传了但没删掉旧文件
新版传上去了,旧文件还挂在 Files 列表里。检索时可能因为旧 chunk 在历史 chat 里出现次数更多、相关度反而排得更靠前。
如何判断:打开 Project → Files 面板,看到两个文件名相近 = 重复并存,把旧的删掉。
4. 源文件改了但当前 chat 仍带着改前的记忆
20 轮长 chat 里一直在讨论旧版本,模型可能直接从 chat 上下文里引用旧句子,而不是重新去读文件。
如何判断:在同 Project 开新 chat 问同样问题,答案对上新版 = 是 chat history 在带旧内容。
5. 你改的是子页面 / 链接文档,Project 从来没索引到
你把 Notion 父页加进了 Project,但你改的表格在子页里,ChatGPT 只索引了父页。
如何判断:把页面树导出或打印一遍,子页面不在 Project Files 里 = 从来没被索引。
6. 文件类型把承载新内容的格式抹掉了
你改的是标题样式或 callout 块,但解析器把这些都拍平成纯文本——视觉上的修改看着重要,抽取出来的文本却和改之前一模一样。
如何判断:让 ChatGPT 打印一段抽取出来的原始文本和你改前的对比,没差异 = 视觉性修改。
动手前先确认
- 确认问题是在 Projects(不是 Custom GPT Knowledge / 普通对话里上传),三个入口刷新路径不同。
- 重新上传前把当前 chat 复制一份,方便对比旧版 vs 新版的回答。
- 记录订阅类型:Free / Plus / Team / Enterprise 的 connector 刷新间隔不同。
需要收集的信息
- 源文件位置(本地 / Google Drive / Notion / SharePoint)和最后修改时间。
- Project Files 面板截图,能看到每个文件的上传时间。
- 旧引用 vs 新权威文本的具体差异(并排 diff)。
- 是否走 connector、最后一次同步成功的时间戳。
- 当前模型 + 工作区(Personal vs Team / Enterprise)。
最短修复路径
按收益从高到低,前两步覆盖绝大多数情况。
Step 1:删掉旧文件再上传新版
Project → Files → 悬停旧文件 → Delete
→ 确认列表里消失
→ 把刚改完的文件拖进来
→ 等到状态显示"Indexed" / "Ready"(15-90 秒)
→ 在同 Project 开一个新 chat
→ 问"引用第 2 节第一句"
务必先删再传——同名覆盖不一定能让旧 embedding 失效。
Step 2:重新上传后强制开新 chat
老 chat 线程会留着旧版本的消息历史。开新 chat:
Project → New chat → 第一条 prompt:
"Confirm you are reading the file uploaded at HH:MM today,
not any earlier version. Quote the first heading verbatim."
回答和新文件第一标题对得上 = 索引是新的。
Step 3:用 connector 的话手动触发 resync
Settings → Connectors → Google Drive / OneDrive / SharePoint
→ 点 "Resync now" 或断开 / 重连特定文件
→ 等 60 秒
→ 在新 chat 里再问一遍
Notion connector:重新把页面分享给集成账号(即使已经分享过),可以强制拉一次新数据。
Step 4:在文件里加版本标记
文档顶部写:
DOC VERSION: 2026-05-23-v3
LAST EDITED: 2026-05-23 14:30 UTC
每次新 chat 第一条 prompt:
What is the DOC VERSION marker at the top of the file?
返回 v2 = 检索还在用旧版;返回 v3 = 已经是新的。一秒钟就能判断的”新鲜度自检”。
Step 5:多文件 Project 直接重建索引
如果好几个文件都是旧的,把它们全部删掉,再当成一批新文件传一次:
Project → Files → 全选 → Delete
→ 确认"Knowledge cleared"
→ 把更新后的整个文件夹拖进来
→ 等到 "X files indexed"
这样可以避免部分文件刷新、部分文件没刷新的”半旧半新”状态。
Step 6:清掉 chat 里残留的旧上下文
长 chat 即使重新上传后还会继续引用旧版本。要么:
- 在同 Project 开新 chat(首选),要么
- 在当前 chat 里粘一段:
The source file was updated at HH:MM. Discard any quotes or
facts you mentioned earlier in this chat. Re-read the current
Project Files before answering the next question.
Step 7:高风险内容直接迁去 Custom GPT 用手动 Knowledge
Custom GPT 把”新鲜度”摆在明面上——每次 Knowledge 上传都是一次有时间戳的明确动作。报价页、法律文本这种回答错就要付代价的内容,宁可走 Custom GPT 不走 Project Files。
怎么确认已经修好
- 重新上传后开新 chat,让它引用某句只存在于新版的话,原文对上 = 索引刷新了。
- 第 4 步的 DOC VERSION 标记返回最新版本号。
- 让同事在他们账号里打开同 Project 跑相同 prompt,也是新答案 = 索引对所有人都更新了,不只是你本机缓存。
常见坑
- 重新上传时同名覆盖却没删旧文件——旧 embedding 经常还留着。
- 在 Google Docs 改完就以为 connector 立刻推送了——多数 connector 是 10-60 分钟轮询一次。
- 在老 chat 线程里继续问——chat history 自己就能盖过几轮的新检索。
- 改了 Notion 子页,但 Project 里只加了父页。
- “文件已上传”不等于”文件已索引”——一定要等显式的 Ready / Indexed 状态。
FAQ
Q:在 Google Drive 改个文件名能触发 re-sync 吗? A:多数 connector 单改文件名不会触发内容重抽。要么改内容,要么手动 resync。
Q:重新上传后多久 embedding 会刷新? A:10 MB 以下单文件一般 15-90 秒。50+ MB 或 200+ 页要 2-5 分钟才会反映到检索里。
Q:能不能看到每个文件最后一次索引的时间? A:Project → Files 面板,悬停文件能看到 last-indexed 时间戳。这个时间比你最近一次编辑还早 = 没有重新索引。
Q:删掉文件再重新上传会丢 chat 历史吗? A:不会。chat 和 Files 是分开的。但 chat 会继续引用旧内容,除非你开新 chat 或显式让它丢弃之前的引用。