ChatGPT Project 文件数超限

Plus 通常 20 个 / Project,传第 21 个就被拦——别急着升级,先合并、归档、拆 Project,整理后检索质量反而更好。

你拖第 21 个文件进去,ChatGPT 弹”this Project has reached the maximum number of files”。具体上限按订阅来——Plus 通常一个 Project 20 个文件,Team / Enterprise 更高但也有数。第一反应往往是升级或者找绕路,但更对的做法是合并(把零碎文件并成一份)、归档(把历史文件搬出去)、拆 Project(一个 Project 一个明确目标)——清理过的 Project 检索质量反而更好。

常见原因

按命中率从高到低:

1. 每段对话 / 每天日志都单独存成一个文件

最常见。每次导出、每场会议笔记、每天的日志都单独存成 .txt 或 .md,几周下来文件数飞快冲过 20。

如何判断:Project → Files 里看到 15 个以上文件名都是 2026-05-01.md2026-05-02.md 这种按天分文件。

2. 原始版和处理版都上传了

你传了 report.pdf 又传了 report-summary.md,过一阵又传 report-v2.pdf,本来一个文件能装下的事用了三个槽。

如何判断:好几个文件内容重叠,同一主题不同格式。

3. 静态参考文档应该放进 Custom GPT 而不是 Project

风格指南、品牌话术、术语表——这种几乎不变的内容应该塞进 Custom GPT 的 Knowledge,把 Project 槽位留给真正在改的活文件。

如何判断:文件 30 天没动过但还占着 Project 槽位。

4. Project 边界膨胀,三个目标共用一个 Project

最早设的”Q2 营销活动”,慢慢又塞进了客户调研笔记、竞品分析、品牌话术。每个主题都正常需要文件,于是撞墙。

如何判断:把文件名列一遍,能明显看出聚成 2-3 个不同主题。

5. 历史 chat 导出文件占着槽位

很多人把过去的 chat 文字稿当记忆备份传进 Project,数量涨得很快,但检索时几乎用不上。

如何判断:文件名形如 chat-export-*.txttranscript-*.md

6. 撞了单文件大小上限被迫手动切分

60 页 PDF 因为撞了单文件上限被拆成 4 个 chunk——本来一个文件的事,占了 4 个槽。

如何判断:文件名后缀带 -part1-part2

动手前先确认

  • 弄清你订阅类型实际的上限——Free / Plus / Team / Enterprise 不一样,错误提示里写着当前 cap。
  • 标一下哪些文件最近 chat 里还在被引用,哪些已经几周没出现。
  • 清理之前先用一句话把 Project 的真实定位写下来——“这个 Project 只处理 X”——后面取舍以这句话为准。

需要收集的信息

  • 订阅类型 + 错误提示里写的具体上限。
  • 完整文件列表 + 最后修改时间(在 Files 面板按时间排)。
  • 每个文件最近一次被检索到的大致时间(在 chat 历史里搜文件名)。
  • 是否还有别的 Project 没撞 cap,可以分担溢出。
  • 是否有 Custom GPT 权限(Plus+)——有的话就是天然的归档区。

最短修复路径

按收益从高到低,前两步一般能腾出 5-10 个槽位而几乎不损失内容。

Step 1:把同主题的小文件合并成一份

10 份每日日志,在本地拼一下:

cat 2026-05-*.md > may-2026-log.md
# 或者带 section 标题:
for f in 2026-05-*.md; do
  echo "## $f" >> may-2026-log.md
  cat "$f" >> may-2026-log.md
  echo -e "\n\n" >> may-2026-log.md
done

may-2026-log.md,把那 10 份日记删掉。净省 9 个槽位,而且因为相关内容在同一份文档里,检索质量还提升了。

Step 2:把 30 天没被引用的文件归档

去最近 chat 里搜每个文件名。一个月没被模型引用过的文件多半是死重量。搬出去:

Project → Files → 悬停文件 → Download(存到本地 /archive/<project-name>/)
→ 从 Project 里 Delete

每个 Project 都在本地留一个 archive 文件夹,需要时随时能再传回来。

Step 3:把静态参考迁去 Custom GPT

风格指南、术语表、品牌话术、schema 定义——一周以上不变的内容统统进 Custom GPT 的 Knowledge:

新建一个 Custom GPT,用参考域命名
(如 "Acme Style Guide GPT")
→ 把所有静态参考文件传进去
→ 在 Project Instructions 里写:
  "For style/brand questions, treat the Acme Style Guide GPT
   as the source of truth; switch to it for those queries."

Project Files 现在专门留给活的工作内容。

Step 4:按目标拆 Project

如果你的 Project 混了 3 个目标(比如 Q2 活动 + 客户调研 + 竞品分析),拆开:

Project A: Q2 活动(brief、初稿、排期)
Project B: 客户调研(访谈记录、问卷结果)
Project C: 竞品分析(拆解文档、截图)

每个 Project 单独一份干净的 Instructions、独立的文件,跨主题串扰也少(参考 chatgpt-project-memory-leak)。

Step 5:因为大小限制被切的 PDF 换成结构化 Markdown

如果当时是因为单文件大小撞 cap 才切的,做 OCR + 转紧凑 Markdown:

# 把 PDF 转成干净的 Markdown(比源 PDF 小很多)
pip install marker-pdf
marker_single full-report.pdf ./out --max_pages 300

一份 full-report.md 通常只有源 PDF 的 1/5 到 1/10,检索效果还更好。

Step 6:用一份 manifest 文件当 Project 索引

在 Project Files 里放一份 _manifest.md

# Project Manifest

## Active files
- campaign-brief.md — 主 brief,2026-05-20 更新
- customer-personas.md — 三个画像,2026-05-15 更新
- assets-checklist.md — 持续维护的物料清单

## Archived elsewhere
- 2026 Q1 活动 → 归档在 /local/archive/q1/
- 旧竞品文档 → 迁到 Custom GPT "Competitor GPT"

让你和模型都能一眼看出哪些在 Project 内、哪些已经搬出去。

Step 7:升级订阅放到清理之后再考虑

Team 和 Enterprise 是会拉高上限,但你带着 20 个死文件升级,很快就又会撞到 50。先清理再评估升级。

怎么确认已经修好

  • Files 面板显示文件数远低于 cap,还能再传 5-10 个的余量。
  • 开新 chat 问 “what files do you have access to in this Project?”,回答里的列表和你清理后的对得上。
  • 跑一个有代表性的问题,确认检索仍能命中正确的(合并后)文件,没有回归。

常见坑

  • 删之前没下载备份——从 Project 里删掉就真没了。
  • 为了规避 cap 把不相关主题强行合成一个大文件——检索质量崩,因为 chunk 里混了多主题。
  • “以防万一”把同一份文件改个名再传一次——一个文件吃 2-3 个槽位。
  • 把 chat 导出文件当必备 Knowledge——其实 Project 里的 chat 本身就可以搜。
  • 同一个目标拆到两个 Project 里只为绕 cap——丢了共享 Instructions,还重复制造串扰问题。

FAQ

Q:图片算文件数吗? A:算。图片上传和 PDF 上传都占 Project 文件槽。

Q:能不能不升级也提高上限? A:不能。cap 按订阅强制执行,升 Team / Enterprise 是唯一路径。

Q:删文件后引用过它的旧 chat 会出问题吗? A:旧 chat 的回复还在。但那些 chat 里再问新问题就读不到这个文件的内容了。

Q:能看到每个文件的体积或 token 数吗? A:在 Files 面板悬停文件能看到体积。token 数没直接显示,大致按每 1000 token ≈ 750 单词估算。

Q:一个 Custom GPT 能服务多个 Project 吗? A:可以。建一个 Style Guide GPT,所有 Project 遇到风格问题都切过去问它。

相关阅读

标签: #ChatGPT #排查 #chatgpt-projects #file-limit