一句话定义:@ 文件引用(file mention)是对话式 AI 输入框里的一种显式指向语法:你用 @ 点名某个文件或文件夹,把它拉进这一轮对话的上下文。
一次 @ 背后的三个动作
按下 @ 并选中文件后,后台通常做三件事:解析、选择、装配。
解析(parsing):PDF 抽文字、表格转结构化文本、图片走 OCR、代码按行保留。这一环节决定上限:扫描版 PDF 抽不出字,模型看到近似空白,于是“文件里没有相关内容”常源于解析失败,并非它没读。
选择:文件小(几千字),整篇塞进上下文(full-context stuffing);文件大,先切片(chunking),再用向量或关键词检索(retrieval),只把命中片段放进去;也有产品给模型一个“读文件”的工具(tool use),让它自行决定翻哪几页、读哪几行。
装配:拼成带元信息的一段提示,类似“文件:报价单.xlsx,工作表 2,第 10–25 行……”,再交给模型。
打个比方:@ 文件不像把整本书塞给对方,更像在图书馆指着书架说“那本”。剩下看管理员:小册子直接整本搬来,厚书只复印相关几页,或者告诉你位置让你自己翻。
和相邻概念的区别
| 概念 | 谁决定什么内容进上下文 | 典型场景 |
|---|---|---|
| @ 文件引用 | 你,显式点名 | “按这份合同第 5 条改措辞” |
| 知识库检索(RAG) | 系统,隐式召回 | 问产品问题,后台自动找文档 |
| 上传附件 | 你上传,系统决定怎么用 | 传张表让它做汇总 |
| 长上下文全量塞入 | 不筛选,全给 | 几万字以内的短文档 |
核心差别是控制权和颗粒度。@ 把范围收窄到某个文件;知识库检索把范围铺开到一堆文件。注意 @ 也不等于全量;大文件照样走切片检索,模型只看到一部分。
对实际使用意味着什么
对从业者:如果 @ 的文件被静默切片,用户看到“文件里没提到”不能当作事实;它可能只是没被召回。产品设计上应把“读了哪些片段”暴露出来,别让 @ 变成黑箱;解析失败也要明示,不要静默降级。
对普通人:@ 完再补一句具体定位,比如“看第 2 节的报价表”“这个函数在 utils.py 里”,效果远好于 @ 一整个文件夹。文件很大时,先问“这份文档的结构是什么”,再按章节追问,比一次性问“帮我总结”靠谱。支持哪些格式、大小上限多少,以官方页面为准。
最后提醒:@ 进去的文件是否被留存、是否用于训练,各家策略不同;涉密材料先确认清楚再按 @。
