面对几十份报告、产品文档或访谈记录时,真正困难的通常不是“能不能一次放进去”,而是如何让模型知道每份资料是什么、问题应该拆到哪一层,以及最后怎样证明答案确实来自原文。按本任务资料给出的规格,Gemini 3.8 Flash 支持 1M token 上下文和 64K token 最大输出,但这两个容量数字只代表处理空间,不代表答案天然准确。更稳妥的做法,是把超长文档处理成一条可追踪、可复核的工作流。
长上下文的价值,在于减少频繁切换资料和重复粘贴的成本。研究者可以把同一项目的多份材料放在一个任务中,产品人员可以同时比较需求文档、用户反馈和会议记录,开发者也可以围绕一组较长的技术说明提出关联问题。
不过,上下文容量和答案质量是两个不同问题。模型可能遗漏埋在文档中间的条件,也可能把相近章节的结论混在一起;当资料本身存在冲突时,它还可能直接给出一个看似完整、实际没有依据的综合判断。因此,长上下文更适合被理解为“扩大可检索和比较的资料范围”,而不是“自动完成事实核验”。
在实践中,先建立资料结构,再提出问题,通常比把所有内容一次性丢给模型更可靠。Gemini 相关开发资料也强调了直接、清晰的指令更适合模型处理复杂任务。可以参考 Gemini 3.8 Flash 官方介绍 和 Gemini 开发者指南,但具体可用能力和接口仍应以当前页面为准。
资料进入模型前,先给每份文件建立一个稳定的身份。最简单的做法是为文件编号,并记录标题、来源、日期、资料类型和适用范围。例如:
编号的作用不是装饰,而是为后续引用定位提供入口。模型输出“根据资料可知”时,读者无法判断它到底参考了什么;如果输出“DOC-02,用户反馈章节,第3段”,复核成本就会低很多。
资料较长时,不要只按固定字数生硬切割。应尽量保持标题、段落、表格说明和结论的完整性。一个章节如果在切分点被截断,模型后面即使看到了续文,也可能无法准确判断前半段的限定条件。可以采用“文档编号—章节编号—段落编号”的层级,例如 DOC-01 / 2.3 / P07,并把这些标记放在对应内容前面。
DOC-01 / 2.3 / P07
分段还要保留必要的上下文。对于“该方案”“上述指标”“这一变化”之类的指代,如果切分后失去前文,最好在片段标题中补充所属章节,而不是修改原文结论。补充内容应明确标记为目录信息或整理说明,避免让模型把编辑者的说明误认为原始资料。
“请阅读所有资料并给出结论”通常过于宽泛。它同时要求模型完成资料理解、信息抽取、比较、推理和写作,出现错误后也很难知道错在哪一步。
更可检查的拆法,是先让模型完成资料盘点,再分别处理抽取、比较和判断:
这几步不一定要每次都单独发起,但在重要任务中,至少要保留中间结果。尤其不要让“资料中写了什么”和“根据资料可以推断什么”混在同一个段落里。前者是证据,后者是分析;两者混写后,复核者很难判断哪些内容可以回到原文核对。
任务指令可以采用这样的结构:
只根据已提供的资料回答。 先列出与问题直接相关的事实,再给出分析结论。 每条事实附资料编号、章节或段落定位。 如果资料之间存在冲突,分别列出,不要自行消解。 如果找不到依据,明确写“资料未说明”。
这种写法的重点不是让提示词变得复杂,而是提前规定答案需要经过哪些检查点。指令越长不一定越好,关键在于输出要求是否清晰、可执行。
长文档问答最容易被忽略的环节,是引用。只写文件名通常不够,因为一份文件可能有几十个章节;只写“原文提到”则几乎无法核验。
可以要求模型为每条关键判断附带四类信息:
如果资料没有稳定页码,就在装载前给文本段落添加编号。对于表格、图片或扫描内容,还应标明表格名称、图注或页面位置,避免只引用“第几段”却找不到原始内容。
引用摘录不宜过长。它的作用是帮助复核者快速回到原文,而不是复制整篇材料。更重要的是,引用必须真正支持结论。如果原文只说“部分用户提出了这个问题”,答案就不能扩大成“用户普遍存在这个问题”;如果原文提出的是建议,也不能改写成已经完成的事实。
可以把输出格式固定为:
判断: 依据:DOC-02 / 用户反馈 / P07 摘录:“……” 说明:这是资料明确陈述,还是基于多份资料的推断。
对于需要批量处理的任务,还可以要求模型先输出一张“主张—证据”表,再生成正式文章或报告。这样做会牺牲一点初始阅读流畅度,却能显著降低遗漏引用的风险。
结果复核不应只检查错别字。一个长文档答案至少要经过三层检查。
逐条回到引用位置,确认原文是否包含对应信息。重点查看数字、时间、条件、范围和否定表达。长上下文任务中,最危险的不是完全无关的内容,而是“看起来很像原文、但少了一个限定条件”的内容。
如果模型无法提供清晰定位,就不要把这条内容当作已证实事实。可以暂时标记为“待核对”,而不是为了让文章完整而自行补齐。
将答案分成三类:
第二类并非不能写,但必须使用“可能”“可以推断”“从这些材料看”等限定语,并同时给出推断依据。第三类则应保留空缺,不能因为模型回答得流畅就把它当成事实。
不同版本、不同部门或不同时间的材料可能给出不同说法。遇到冲突时,先保留双方原意,再说明冲突发生在哪个维度,例如时间不同、定义不同,或适用范围不同。只有资料本身提供了判断依据,才可以进一步说明哪一条更适用。
不要让模型用一句“综合来看”直接覆盖冲突。这样的表达往往隐藏了取舍过程,也会让读者误以为所有资料都支持同一个结论。
处理具体任务时,可以将下面的内容作为工作骨架,再根据资料类型调整字段:
任务目标:说明要回答的具体问题,以及最终读者是谁。 资料范围:列出会使用的文件编号和排除的文件。 处理要求:先抽取事实,再比较关系,最后形成判断。 引用要求:每个关键结论附资料编号、章节和段落位置。 冲突处理:发现不同说法时并列呈现,并说明差异。 不确定性要求:资料没有依据的内容标记为“无法确认”。 输出格式:先给证据表,再给结论和行动建议。 复核要求:不要把推断写成原文事实,不要补充资料之外的具体信息。
如果资料规模较大,可以先进行一次“目录级分析”,只让模型判断哪些文件和章节与问题有关;第二次再处理相关片段;最后用完整的证据表生成结果。这样既能利用长上下文进行跨文档比较,也不会让无关资料干扰主要判断。
第一个误区是把全部资料放进去后直接提问。容量足够并不代表模型会平均关注每一部分,资料之间的重复内容还可能增加混淆。先编号、分组和说明资料用途,往往比继续增加提示词更有效。
第二个误区是只核对最终结论,不核对中间引用。一个结论即使方向大致正确,只要引用错位,后续报告、决策或内容发布仍然可能出问题。应优先复核影响判断的关键主张,而不是只检查表面表达。
第三个误区是把模型生成的引用当成真实引用。模型可以输出格式正确的章节名和段落号,但格式正确不等于位置真实。引用定位必须回到原文确认,尤其是涉及数字、政策条件、产品限制和版本差异的内容。
第四个误区是为了追求完整而接受模型补写。长文档问答的可靠性,部分来自“知道哪些内容不能确定”。当资料没有提供答案时,明确留下缺口,通常比生成一个看似合理的结论更有用。
建立这套流程后,1M token 上下文可以用于承载更完整的资料关系,64K token 最大输出则可以支持较长的整理结果,但二者都不应替代资料编号、证据引用和人工复核。真正可复用的长文档问答流程,不是把更多文字交给模型,而是让每个结论都能沿着“任务—证据—判断—核验”这条路径返回原文。
Δ
Ctrl+D