核心结论

让 AI “记住”一个科研项目,不能依赖越来越长的聊天记录。稳定的做法是建立一份由研究者维护的研究上下文包,把项目中已经确认的事实、术语、证据、决定和待解决问题分开保存。每次任务只加载相关部分,任务完成后再把经过人工确认的新决定写回上下文包。

上下文包不是把所有论文和数据一次性塞给模型,也不是让 AI 自动生成一份项目总结。它是一套小而清楚的研究记录:哪些内容是原始事实,哪些是研究者已经作出的决定,哪些仍是候选和争议。只有人能够批准内容从“候选”进入“已确认”。

长聊天为什么会让项目逐渐漂移

科研项目持续数周或数月,研究问题、变量定义、纳排标准和分析选择会发生变化。聊天记录却常把旧版本、新版本、模型建议和研究者决定混在一起。几轮以后,AI 可能引用已经废弃的口径,研究者也很难知道一句话来自原始方案、某篇论文还是一次临时讨论。

常见的漂移有四种:

  • **事实漂移:**样本数、时间范围或变量含义在转述中改变;
  • **术语漂移:**同一个概念在不同任务中换名称,导致字段无法合并;
  • **决策漂移:**被否决的分析方案重新作为默认方案出现;
  • **证据漂移:**模型把自己的解释写成文献结论,之后又把这段话当作已知事实。

解决这些问题的核心不是增加记忆容量,而是建立信息身份和版本边界。

研究上下文包的五个组成部分

项目说明

项目说明只保留不会频繁变化的主干:研究目的、研究对象、主要问题、研究类型、当前阶段、团队角色和明确限制。它帮助 AI 理解“这个任务属于什么项目”,但不应塞入每次分析的全部细节。

术语与变量表

记录项目中关键概念的正式名称、同义词、操作性定义、单位、允许值和不能混用的近义概念。AI 可以帮助发现同义词冲突,但最终定义必须来自研究方案、数据字典或领域负责人。

证据登记表

每条外部结论都记录来源、证据位置、它支持什么判断、适用范围和核验状态。证据登记表不是参考文献库的重复;它关注的是“这条来源在项目中承担什么作用”。

决策日志

记录团队已经作出的关键决定:决定内容、日期、依据、负责人、替代方案和再次评估条件。最重要的是保留“已否决方案”,避免 AI 在后续任务中反复提出同一条已经排除的路径。

待办与开放问题

把尚未解决的问题单独列出,并标记负责人、需要的证据和截止条件。开放问题不能写进“已确认事实”;AI 的候选答案也不能因为表达完整就自动改变状态。

一个三个月项目怎样维护上下文

**教学模拟案例:**公共卫生团队准备分析一项三次随访的教学模拟队列,研究社区步行环境与中年人身体活动变化的关系。团队使用公开的模拟数据,不涉及真实参与者信息。项目持续三个月,先做文献整理,再清洗数据和建立分析方案。

第一次讨论时,团队把“身体活动”同时写成每周运动分钟、步数和是否达到指南。AI 在不同回答中交替使用三个指标,使初步表格无法合并。团队没有继续修补聊天,而是建立下面的术语记录。

项目词当前定义来源状态不得混用
主要结局每周中高强度身体活动分钟数模拟方案2.1,第4节已确认日均步数、达标比例
次要结局是否达到每周150分钟阈值模拟方案2.1,第4节已确认主要结局
暴露住址500米路网范围的步行性指数数据字典1.3已确认行政区平均指数
基线第一次随访日期数据字典1.3已确认招募登记日期

随后,AI 提出“把三次随访取平均值后做横断面回归”。团队判断这会丢失时间变化信息,没有采用。决策日志这样记录:

决策编号决定依据状态重新评估条件
D-007不采用三次测量简单平均后做横断面回归研究问题关注个体随时间的变化已否决仅在纵向数据无法可靠匹配时重新讨论
D-008主要分析保留三次测量结构模拟方案2.1与统计会议记录已确认缺失模式严重破坏纵向分析时升级统计负责人

之后无论 AI 帮助整理文献还是生成代码任务说明,都要带上相关术语和 D-007、D-008。它可以提出替代模型,但不能默默恢复已经否决的横断面方案。

每次只加载任务需要的上下文

上下文不是越多越好。让 AI 检查一段统计代码时,通常需要项目说明、相关变量定义、分析决定和测试数据说明,不需要上传全部访谈记录或整套文献。最小相关上下文能降低隐私暴露,也减少无关材料改变回答重点。

可以把每次任务的输入写成一个“上下文清单”:

本次任务:检查主要结局变量的清洗逻辑
使用版本:项目说明1.4、术语表1.7、数据字典1.3、决定D-008
允许材料:模拟数据20行、当前清洗代码、预期输出
明确排除:真实数据、未确认的模型建议、已否决决定D-007
输出要求:逐条对应代码规则、测试结果和未解决问题

AI 完成任务以后,输出先进入“候选结果”,而不是直接覆盖项目记录。研究者核对代码、测试和解释后,只把已经确认的新决定写入日志。例如发现一个变量单位说明错误,应修改数据字典并增加变更记录;不能只在聊天里说“以后按新单位”。

版本不是在文件名后随便加“最终版”

有效版本记录至少包含:版本号、日期、修改人、修改内容、原因和受影响任务。对于研究问题、纳排标准、主要结局和统计方案,还应说明修改是否发生在查看结果之前。这样才能区分预先计划和看到数据后的调整。

推荐把上下文分成三种状态:

  • **已确认:**有来源和负责人批准,可作为后续任务约束;
  • **候选:**AI 或团队提出,尚未完成证据和可行性核查;
  • **已废弃:**过去使用但现在不再有效,保留原因和替代版本。

不要删除已经影响过分析的旧版本。保留历史不是为了让 AI 读取全部旧内容,而是为了研究者能够重建当时用了什么定义和决定。FAIR 原则在“可复用”部分强调数据和元数据应带有详细来源与演变记录;同样的思想也适用于 AI 参与的研究上下文。

哪些内容不能让 AI 自动写回

以下变化必须由有权限的人批准:

  • 研究问题、主要假设和主要结局;
  • 受试者纳入排除标准;
  • 原始数据更正与排除记录;
  • 统计分析计划和偏离方案的说明;
  • 对文献证据强度的最终评价;
  • 作者贡献、伦理、数据可用性和 AI 使用声明。

AI 可以生成“建议修改 D-008”的候选记录,但不能自己把 D-008 标为废弃。只要模型能够改写作为自身依据的记录,后续输出就失去独立的人工控制点。

失败示例:自动总结覆盖了真实决定

教学案例中,团队曾让 AI 根据最近聊天“更新项目摘要”。模型把一句讨论中的“也许可以按行政区聚合”写成“本研究采用行政区平均暴露”,并遗漏了研究者随后否决该方案的原因。如果这份摘要成为下一次任务的唯一上下文,错误会继续进入分析代码和论文方法。

修正办法不是要求 AI “总结得更仔细”,而是限制写回范围:AI 只能列出候选变化,并为每项变化附上原记录位置;负责人逐项选择接受、拒绝或待确认;系统再生成新版本。没有来源位置的变化不得进入正式上下文。

一次任务结束后怎样安全写回

建议把每次任务的收尾固定成四步。第一步,AI 只提交“可能需要写回的变化清单”,把事实更正、候选解释、新决定建议和开放问题分开。第二步,研究者对照本次输入与实际结果,逐条选择接受、拒绝或继续调查。第三步,由有权限的人修改对应主文件,而不是把整段模型总结粘贴进去。第四步,生成变更记录,并测试下一次任务加载到的是否为新版本。

例如代码检查发现主要结局中有一批分钟数被误按小时转换。可以写回的是:数据字典新增转换规则、清洗脚本版本和受影响记录范围;不能直接写回的是:“数据质量较差,可能导致结果不可靠”这种尚未完成分析的解释。后者只能进入开放问题,等待敏感性分析以后再决定。

每次写回还要处理冲突。如果论文方案写“基线为招募日”,当前数据字典却写“第一次随访日”,AI 不能替团队选一个看起来合理的版本。应生成冲突条目,列出两个来源、影响的变量与已运行任务,在负责人解决前暂停相关分析。把冲突显式保留,比生成一份表面一致的上下文更安全。

定期做上下文体检

长期项目至少在阶段切换时检查一次上下文包,例如从检索进入数据分析、从分析进入写作。体检不需要重新总结全部材料,而是检查四类一致性:项目问题是否与当前主要结局一致;变量表是否都指向有效数据字段;决策日志中的确认项是否已经落实到代码或文本;开放问题是否被误写成确定结论。

还可以选一个关键结论做“反向追踪”:从论文草稿的一句话返回分析输出、脚本版本、数据规则和原始来源。如果链条在聊天摘要处中断,说明上下文仍缺少可验证记录。对于文献结论,同样要能从综合判断返回证据矩阵,再返回具体论文位置。

项目结束时,上下文包不应被当作临时提示词丢弃。保留最终版本、决策日志、关键提示任务说明和人工批准记录,可以帮助团队回应审稿问题、解释方案偏离,也能让后续复用者知道哪些内容经过验证、哪些只是当时没有继续探索的候选。

可直接复用的研究上下文包

一、项目说明
- 研究目的:
- 主要问题:
- 研究对象与范围:
- 当前阶段:
- 负责人和专业放行角色:
- 明确限制:

二、术语与变量
- 正式名称/同义词:
- 操作性定义:
- 单位与允许值:
- 来源版本:
- 不得混用概念:

三、证据登记
- 主张:
- 来源与位置:
- 支持程度:
- 适用范围:
- 核验人和日期:

四、决策日志
- 决定编号与内容:
- 依据和替代方案:
- 状态:候选/已确认/已废弃:
- 决策人和日期:
- 重新评估条件:

五、开放问题
- 尚未确认什么:
- 需要哪些材料或专家:
- 谁负责:
- 在哪一步前必须解决:

上下文包的验收标准很简单:团队成员离开原聊天后,能否仅凭当前版本说清事实来自哪里、为什么采用某项决定、哪些问题仍未解决。如果做不到,就不应让 AI 基于它继续推进高风险科研任务。