截至 2026 年 10 月,Claude Code 可以自行读取 PDF,Cursor 可以读取你附加到聊天中的 PDF,Codex CLI 的文档说明了图片输入,但没有提到 PDF。这三者都没有把 Word (DOCX) 文件列入可直接读取的格式。对于智能体会反复使用的规格说明、手册、论文和合同,请将它们转为 Markdown,把副本保存在项目中,并告诉智能体它们在哪里。
本指南面向在项目文件夹中工作的编码智能体。如果你要建立的是一个独立的参考文档文件夹,而不是代码项目,请先阅读我们的 为 AI 智能体准备文档的指南.
各个智能体能直接读取什么
以下是各厂商的文档截至 2026 年 10 月的说明。
| 智能体 | Word(DOCX) | 图片 | |
|---|---|---|---|
| Claude Code | 用它的文件工具读取 PDF 文件 | 不在支持的文件类型列表中 | PNG、JPG 及其他格式 |
| Cursor | 读取你附加到聊天中的 PDF | 未提及 | PNG、JPG、GIF、WebP 和 SVG |
| Codex CLI | CLI 未提及 | 未提及 | 常见格式,包括 PNG 和 JPEG |
Claude Code 会完整读取较短的 PDF。超过 10 页的 PDF 会按每次最多 20 页的范围读取,而这些读取需要 poppler 中的 pdftoppm 程序。在 Windows 上,你需要自行安装 poppler 的某个构建版本并将其添加到 PATH;否则读取会失败。详细信息见 Claude Code 工具参考.
Cursor 在 2.4 版本中新增了 PDF 读取功能,该版本于 2026 年 1 月发布。 Cursor 的默认忽略列表仍然包含 PDF 文件和几种 Office 格式,Cursor 的帮助也说明 被忽略的文件会对智能体屏蔽。请自己把 PDF 附加到聊天中,不要指望智能体在项目里找到它。
Codex CLI 接受图片 ,可通过命令行传入或粘贴到提示中。其文档没有说明 CLI 支持 PDF 或 Word 输入。
智能体仍然可以尝试运行你电脑上安装的程序,从文档中提取文字。有时这样可行,但你看不到它得到了哪些文字,读错的表格会直接进入它的回答。
为什么 Markdown 副本效果更好
Markdown 是带有标题、列表和表格的纯文本。在项目中,它能带来 PDF 或 DOCX 文件所没有的四个好处。
- 智能体可以搜索它。文本搜索能在 Markdown 文件中找到一个短语。 DOCX 文件是由 XML 部分组成的 ZIP 压缩包,所以纯文本搜索在其中什么也找不到。
- 智能体可以引用原文中的整行文字,你也可以在文件中找到每一句引文,并读到它的上下文。
- 智能体只读取它需要的内容:先在长篇手册中搜索,再打开唯一相关的那一节,而不是逐页通读。
- Git 会显示改动了什么。当规格说明的新版本到来时,diff 会列出改动的行。
你还能确切地看到智能体读取的内容。如果某个表格转错了,只需在 Markdown 文件中修正一次,之后的每次会话都会使用修正后的副本。
没有文字层的扫描版 PDF 只是页面的图片。智能体要搜索它,需要先进行 OCR(文字识别)。MD Factory 可在你的电脑上识别扫描版 PDF 中的文字。要检查结果,请参阅我们的 扫描版 PDF 转换指南.
把文档放进 docs 文件夹
把原件及其 Markdown 副本放在项目内,紧挨着依赖它们的代码:
payments-service/
AGENTS.md
docs/
partner-api-spec.pdf
partner-api-spec.md
partner-api-spec_images/
supplier-contract.docx
supplier-contract.md
src/
- 将 PDF 和 Word 文件复制到 docs 文件夹。MD Factory 会把每个 Markdown 文件保存在原件旁边,所以副本就会出现在这里。
- 在 MD Factory 中点击添加文件夹,选择 docs 文件夹,或将该文件夹拖到窗口中。转换会立即开始。
- 等待每个文件都显示状态:已完成、需要检查或失败。
- 点击文件旁边的需要检查,查看要检查什么,然后将这部分与原件对照。
文档中的图片会放进以文档命名的文件夹,例如 partner-api-spec_images。PDF 和 Word 文件本身不会被修改。
请把原件保留在项目中。页码、图表和签署的确切措辞都在那里,每当副本与智能体的回答不一致时,你都会需要它们。
告诉智能体文件在哪里
在智能体的说明文件中给出一份简短的文档清单。 Claude Code 读取 CLAUDE.md;如果项目中没有 CLAUDE.md,则读取 AGENTS.md。 Codex 和 Cursor 均读取 AGENTS.md。例如:
## 参考文档
PDF 和 Word 文件的 Markdown 副本在 docs/ 中。
每个副本的原件就在它旁边。
- `docs/partner-api-spec.md`:合作伙伴 API 规格说明,3.2 版
- `docs/supplier-contract.md`:供应商合同,2026 年版
回答有关合作伙伴 API 或合同的问题之前,先搜索 docs/。
引用你所依据的章节标题。
不要编辑 docs/ 中的文件。
请像上面那样把路径写在反引号中,而不是写成 @docs/partner-api-spec.md。在 CLAUDE.md 中, 带 @ 的路径是导入:Claude Code 会在每次会话开始时加载整个文件。写在反引号中的路径只是普通提及,Claude 会在任务需要时再打开该文件。
清单要保持简短。Codex 在各说明文件合计达到 32 KiB(默认上限)后,就不再读取说明文件。
对于单个任务,请在提示中提到该文件:
- 在 Claude Code 中,输入 @ 并选择文件。 Claude Code 会将其内容添加到对话中 前提是内容不超出读取上限,默认为 25,000 个词元。对于更长的文件,请先让 Claude 搜索它。
- 在 Cursor 中,输入 @ 并选择文件或整个 docs 文件夹,详见 Cursor 的帮助.
- 在 Codex CLI 中,输入 @ 可插入文件路径,或使用 /mention 命令附加文件,详见 Codex 提示指南.
指明文档并要求引用原文的提示可以是这样的:
阅读 docs/partner-api-spec.md 中的“Authentication”和“Rate limits”两节。
更新 API 客户端,使其符合这些规定。
对每处改动,引用它所依据的规格说明中的那一行。
检查回答并更新副本
在依赖某个回答之前,请自己找到被引用的段落。第一条命令在 PowerShell 中使用,第二条在 Git Bash 中使用:
Select-String -Path docs\*.md -Pattern "rate limit"
grep -n -i "rate limit" docs/*.md
如果引文不在 Markdown 文件中,请查看原件。如果原件中也没有,说明智能体并非取自该文档。涉及页码和数字时,请务必打开原件。
留意你的 .gitignore 文件。 Claude Code 的搜索会跳过被 gitignore 的文件,不过 Claude 仍然可以搜索或读取你按路径指定的文件。 Cursor 会让智能体看不到被 gitignore 的文件 ,除非 .cursorignore 中以 ! 开头的某一行把它们放回。如果这些文档必须留在 Git 之外,请在说明文件中为 Claude Code 列出每个文件路径,并为 Cursor 在 .cursorignore 中添加这一行: !docs/
参考文件只应在你决定时才改动。每个任务之后都要看一下 diff。如果希望 Claude Code 不碰 docs 文件夹, 请为它添加一条 Edit 拒绝规则.
当新版本到来时,请替换 docs 文件夹中的原件,文件名保持不变,然后再次将它添加到 MD Factory。如果你没有编辑过旧的 Markdown 副本,MD Factory 会替换它。如果你编辑过,新副本会获得带编号的名称,例如 partner-api-spec (2).md,而你的改动会留在旧文件中。这样,Markdown 文件的 diff 就会显示哪些章节有变化,以及哪些代码可能需要随之调整。
机密文档:智能体会发送什么
MD Factory 在你的电脑上转换文档,不会上传它们,但这只涵盖转换这一步。当智能体读取 Markdown 副本时,文字会和你的其他提示一样发送给模型提供方。
- Claude Code 在你的电脑上运行,但会通过网络发送提示和模型输出。Anthropic 保留这些数据多久取决于你的账户类型和隐私设置:请参阅 Claude Code 中的数据保留.
- Cursor 说明,当智能体打开文件时, 其内容可能会包含在模型请求中.
- Codex 默认使用 OpenAI 作为模型提供方.
在智能体读取机密文档之前:
- 只转换并添加任务需要的文档。
- 如果某份文档受保密协议或客户合同约束,请确认它是否允许将文字发送给外部 AI 服务。
- 把智能体不得读取的文档放在项目文件夹之外。Claude Code 的拒绝规则和 Cursor 的忽略文件会屏蔽内置的文件工具。两家厂商都指出,某些终端命令仍然可以读取这类文件:请参阅 Claude Code 权限 和 Cursor 忽略文件.
- 请把他人提供的文档视为不可信的输入:其中可能包含意在操纵智能体的文字。请审查智能体提出的命令和修改。