news 2026/10/4 18:05:32

Agent 的 Memory 怎么做科研:以中医诊断场景为例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agent 的 Memory 怎么做科研:以中医诊断场景为例

1. 引言

大语言模型(LLM)驱动的 Agent 在复杂任务中展现出卓越能力,但受限于上下文窗口与单轮推理范式,难以在长周期、多轮次的交互中维持稳定一致的记忆。Memory(记忆)机制由此成为 Agent 领域的前沿研究方向。本文以中医诊断这一典型的长周期、强领域依赖场景为切入点,系统梳理 Memory 科研的问题定义、数据构建、对比实验设计与参考文献,旨在为研究者提供一套可复现、可扩展的实验框架。

2. Memory 科研要解决的核心问题

2.1 记忆的存储与组织

Agent 需要将对话历史、用户画像、领域知识等多源信息进行结构化存储。其核心问题可归纳为以下三个层面:

  • 记忆的表示形式:自然语言摘要、向量嵌入、知识图谱三元组,还是结构化槽位?不同表示在可解释性、可扩展性与检索效率上各有取舍。

  • 记忆的分层:短期记忆(当前会话)与长期记忆(跨会话)如何划分与协同?

  • 记忆的索引与检索:如何在海量记忆中快速、精准地定位与当前问题相关的片段?### 2.2 记忆的写入与更新

  • 写入时机:每轮对话后、任务完成后,还是达到特定阈值后触发写入?

  • 冗余与冲突消解:同一事实多次出现时如何合并去重,矛盾信息如何取舍?

  • 遗忘机制:过时或错误信息如何被淘汰或修正,以保持记忆的时效性?### 2.3 记忆的检索与利用

  • 检索策略:基于向量相似度、基于规则、基于 LLM 自主判断,还是混合策略?

  • 检索粒度:返回整段记忆、关键句子,还是结构化事实?

  • 注入方式:检索结果如何注入 Prompt——直接拼接、重排后拼接,还是作为工具调用结果?### 2.4 记忆的评估

  • 记忆本身的质量:准确性、完整性、时效性如何度量?

  • 记忆对下游任务的影响:加入记忆后,诊断准确率、用户满意度是否提升?

记忆评估指标速查表如下:

指标类别具体指标计算公式数据来源建议评估方式
准确性记忆准确率准确率 = 正确记忆数 / 总记忆数人工标注(专家核对记忆与事实的一致性)离线评测
准确性事实一致性一致性 = 与金标准一致的事实数 / 总事实数自动比对(与病历金标准字段对齐)离线评测
完整性记忆覆盖率覆盖率 = 已捕获关键信息数 / 应捕获关键信息总数人工标注(对照预设关键信息清单)离线评测
完整性信息召回率召回率 = 检索到的相关记忆数 / 全部相关记忆数自动比对(与标注的相关记忆集合比对)离线评测
时效性记忆新鲜度新鲜度 = 1 - 过时记忆数 / 总记忆数人工标注(专家判断记忆是否过时)离线评测
时效性更新及时率及时率 = 按时更新的记忆数 / 应更新记忆总数自动比对(对比复诊记录与记忆更新时间戳)离线评测
对下游任务影响诊断准确率增益增益 = 带记忆诊断准确率 - 无记忆诊断准确率自动计算(对比实验输出与金标准)在线 A/B 测试
对下游任务影响用户满意度满意度 = 满意评价数 / 总评价数用户反馈(患者/医师问卷评分)在线 A/B 测试

针对上述核心问题,可采用的算法与方案如下:

核心问题可选算法/方案说明
记忆的表示形式向量嵌入(Sentence-BERT、OpenAI Embedding)、知识图谱三元组(TransE、RotatE)、结构化槽位(JSON Schema)文本语义用向量,领域关系用图谱,结构化事实用槽位
记忆的分层分层记忆网络(Hierarchical Memory Network)、短期/长期双缓冲池短期存会话上下文,长期存跨会话事实,按重要性迁移
记忆的索引与检索稠密向量检索(DPR、Contriever)、BM25 稀疏检索、混合检索(RRF 融合)、图检索(GraphRAG)向量召回语义相似片段,图谱检索结构化关系
记忆的写入与更新增量式写入(append-only + 去重)、LLM 摘要压缩(MapReduce)、冲突消解(置信度投票、时间戳优先)新事实追加,重复合并,矛盾按时间与置信度取舍
遗忘机制时效衰减(指数衰减权重)、基于访问频率的 LRU 淘汰、LLM 定期重写压缩过时记忆降权或删除,保持记忆新鲜度
记忆的检索与利用RAG(检索-增强生成)、ReAct(推理-行动循环)、Reflexion(反思-重试)检索结果注入 Prompt,Agent 依据记忆推理与行动

3. 中医诊断场景下的 Memory 科研设计

3.1 场景特点与科研切入点

中医诊断强调「望闻问切」四诊合参,且诊疗过程往往跨越多次复诊。这为 Memory 科研提供了独特场景:

  • 长期性:患者多次就诊,需要跨会话记忆既往症状、方剂与疗效。
  • 多模态:舌象、脉象、面色等非文本信息需要与文本记忆关联。
  • 领域知识:中医辨证论治体系(八纲辨证、脏腑辨证等)可作为结构化记忆骨架。
  • 个性化:不同体质、不同证型的患者需要差异化记忆策略。

3.2 可研究的 Memory 子问题

子问题具体研究点对应 Memory 环节
患者画像构建从首诊对话中抽取体质、既往史、过敏史写入与组织
复诊记忆召回跨会话检索既往症状与方剂,避免重复问诊检索与利用
证型演化追踪记录证型随治疗的变化,支持动态辨证更新与遗忘
四诊信息融合将舌象/脉象描述与文本主诉关联存储多模态记忆
记忆冲突消解患者自述与客观检查不一致时如何取舍更新与修正

下面以「风寒束肺证」为例,展示如何将中医辨证论治体系构建为知识图谱,作为 Graph-Memory 的结构化骨架:

表现为

表现为

表现为

舌象

脉象

治则

主方

加减

风寒束肺证

咳嗽

痰白清稀

畏寒发热

舌淡红、苔薄白

脉浮紧

辛温解表、宣肺散寒

麻黄汤

杏仁、桂枝、甘草

该图谱以「风寒束肺证」为中心节点,通过「表现为」「舌象」「脉象」「治则」「主方」「加减」等关系边,将症状、舌象、脉象、方剂等实体组织为三元组结构。作为 Graph-Memory 的结构化骨架,它带来三点收益:

  • 可推理:图谱支持沿关系边进行多跳推理,例如从「脉浮紧 + 舌淡红苔薄白」反推「风寒束肺证」,再沿「治则」边定位到「麻黄汤」,实现辨证到方剂的自动推导。
  • 可更新:患者复诊时新增的症状或方剂调整,只需在对应节点上增删关系边,即可完成记忆更新,避免整段重写。
  • 可检索:图谱天然支持按实体或关系检索,比纯向量检索更精准,能直接回答「该患者既往用过哪些方剂」「证型如何演化」等结构化问题。

4. 需要的数据

4.1 数据来源

  • 公开中医病历数据集:如 TCM 电子病历、中医临床科研数据平台。
  • 自建模拟数据:基于中医教材(如《中医诊断学》)构造标准化病人对话。
  • 真实脱敏数据:与医院合作获取脱敏后的门诊记录(需伦理审批)。

4.2 数据字段设计

字段说明示例
patient_id患者唯一标识P001
visit_id就诊序号V1, V2, V3
timestamp就诊时间2026-03-01
symptoms主诉与症状描述咳嗽、痰白、畏寒
tongue舌象描述舌淡红、苔薄白
pulse脉象描述脉浮紧
diagnosis辨证结果风寒束肺证
prescription方剂与用药麻黄汤加减
follow_up复诊反馈服药后咳嗽减轻

4.3 数据规模建议

  • 冷启动阶段:500–1000 条模拟对话用于机制验证。
  • 完整实验:5000 条以上多轮对话,覆盖至少 10 种常见证型。
  • 每例患者至少 3 次就诊记录,以支撑跨会话记忆实验。

5. 对比实验设计

5.1 基线方法

方法说明
No-Memory每次诊断仅基于当前对话,无历史记忆
Full-Context将所有历史对话全部拼入上下文(受窗口限制)
Vector-Retrieval用向量检索召回 Top-K 历史片段
Summary-Memory用 LLM 生成历史摘要后注入
Graph-Memory用知识图谱存储患者事实与证型关系

5.2 实验维度

  • 诊断准确率:辨证结果与金标准的一致性(精确率、召回率、F1)。
  • 信息利用率:诊断过程中是否有效利用了既往史(可设计「必须依赖既往史才能正确辨证」的测试样本)。
  • 效率指标:Token 消耗、推理延迟、检索耗时。
  • 鲁棒性:记忆噪声(错误历史)对诊断的影响。
  • 消融实验:分别去掉记忆写入、检索、更新模块,观察性能变化。

消融实验设计如下:

消融设置去除模块预期影响的指标实验目的
去掉记忆写入记忆写入模块诊断准确率下降 5%–10%;Token 消耗略降(无需写入开销)验证记忆写入对跨会话信息积累的必要性
去掉记忆检索记忆检索模块诊断准确率下降 10%–15%;信息利用率显著降低;Token 消耗上升(需拼接全部历史)验证检索机制对精准召回既往史的关键作用
去掉记忆更新记忆更新/遗忘模块诊断准确率下降 3%–8%;记忆冗余与冲突增多;鲁棒性下降验证更新与遗忘机制对保持记忆时效性和一致性的贡献
完整系统无(保留全部模块)作为基准,诊断准确率最高;Token 消耗与延迟处于合理区间作为对照,衡量各模块的边际收益

5.3 实验流程

  1. 构造测试集:每例患者含首诊与多次复诊,标注金标准辨证。
  2. 对每种方法运行完整诊断流程,记录输出。
  3. 计算指标并做显著性检验(如配对 t 检验或 Wilcoxon 检验)。
  4. 人工评估:由中医专家对诊断理由的合理性打分。

下面是完整的实验流程图:

通过

不通过

构造测试集

基线方法运行

指标计算

显著性检验

专家评估

输出实验结果

各步骤的输入输出说明如下:

  • 构造测试集:输入为原始病历数据(含首诊与多次复诊记录),输出为带金标准辨证标注的测试集,每例患者至少包含 3 次就诊记录。
  • 基线方法运行:输入为测试集与各基线方法(No-Memory、Full-Context、Vector-Retrieval、Summary-Memory、Graph-Memory),输出为每种方法在每例患者上的诊断结果。
  • 指标计算:输入为各方法的诊断输出与金标准,输出为诊断准确率、信息利用率、Token 消耗等指标。
  • 显著性检验:输入为各方法的指标结果,通过配对 t 检验或 Wilcoxon 检验判断差异是否显著;若不显著则回到基线方法运行环节排查问题。
  • 专家评估:输入为通过显著性检验的诊断结果,由中医专家对诊断理由的合理性打分,最终输出实验结果。

6. 参考文献与链接

以下文献覆盖 Memory 机制、RAG、Agent 记忆与医疗 AI 方向,可作为实验设计与论文写作的支撑:

  1. Park et al., “Generative Agents: Interactive Simulacra of Human Behavior”(生成式 Agent 的记忆流与反思机制)

    • 链接:https://arxiv.org/abs/2304.03442
  2. Lewis et al., “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”(RAG 基础框架)

    • 链接:https://arxiv.org/abs/2005.11401
  3. Zhong et al., “MemoryBank: Enhancing Large Language Models with Long-Term Memory”(长期记忆银行与遗忘机制)

    • 链接:https://arxiv.org/abs/2305.10250
  4. Modarressi et al., “RET-LLM: Towards a General Read-Write Memory for LLMs”(通用读写记忆)

    • 链接:https://arxiv.org/abs/2305.14322
  5. Wang et al., “Unleashing the Power of LLMs in Medical Diagnosis”(LLM 在医疗诊断中的应用)

    • 链接:https://arxiv.org/abs/2405.16469
  6. Zhang et al., “HuatuoGPT: Towards Medical Dialogue Generation”(中医/医疗对话生成)

    • 链接:https://arxiv.org/abs/2305.15075
  7. Yao et al., “ReAct: Synergizing Reasoning and Acting in Language Models”(Agent 推理与行动结合)

    • 链接:https://arxiv.org/abs/2210.03629
  8. Shinn et al., “Reflexion: Language Agents with Verbal Reinforcement Learning”(反思机制,与记忆更新相关)

    • 链接:https://arxiv.org/abs/2303.11366
  9. Borgeaud et al., “Improving Language Models by Retrieving from Trillions of Tokens”(大规模检索增强)

    • 链接:https://arxiv.org/abs/2112.04426
  10. Khattab et al., “Dense Passage Retrieval for Open-Domain Question Answering”(稠密检索基础)

    • 链接:https://arxiv.org/abs/2004.04906

7. 实验落地建议

  • 先跑通 No-Memory 与 Vector-Retrieval 两个基线,确认数据与评估管线可用。
  • 再逐步加入 Summary-Memory 与 Graph-Memory,对比记忆表示形式的影响。
  • 中医场景建议引入专家标注的辨证金标准,并让中医师参与人工评估。
  • 若资源有限,可先用模拟数据完成机制验证,再申请真实脱敏数据做最终实验。

8. 总结

Agent 的 Memory 科研可从存储、写入、检索、评估四个环节切入,中医诊断场景提供了长期性、多模态、领域知识丰富的天然实验场。通过设计清晰的对比实验与消融实验,并借助上述参考文献,可以形成完整且可复现的研究闭环。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/4 17:54:43

【linux内核专栏 03】进程管理与调度

本篇定位:Linux 内核的"宇宙中心"是 task_struct——所有子系统都围绕它。对于有过轻量级实时操作系统,如FreeRTOS TCB 到 port 层经验的工程师,本篇把"Linux 进程"对你 FreeRTOS 任务的增量讲清:task_struct 比 TCB 胖十倍(含 mm/fs/files/sig…

作者头像 李华
网站建设 2026/10/4 17:51:01

家庭聚餐一句不服气,老技工靠口述搭建作坊库存系统

让完全不懂电脑的家人试试AI,结果出乎意料 我舅退休前是车床工,跟机器打了一辈子交道,跟电脑的交情仅限于会在家庭群里发早上好的图片。上周末家庭聚餐,表弟起哄说现在AI能自己生成管理系统,我舅不服:「机器…

作者头像 李华
网站建设 2026/10/4 17:50:49

插件加载失败排查指南:从plugins机制到did not activate实战

搞开发这些年,我几乎每天都在跟“plugins”打交道。很多人在群里甩一张 “failed to load plugins web boot: 2 entries did not activate linxin666/dsh-p” 的截图,紧接着就是一句“这啥意思?”。说实话,插件系统在不同工具里长…

作者头像 李华
网站建设 2026/10/4 17:45:59

接口自动化框架代码生成工具:从YAML配置到Java测试代码

1. 为什么要给接口自动化框架配一个代码生成工具做接口自动化测试这些年,从最早用Postman手动点接口,到后来写Python脚本,再到现在搭建Java TestNG的自动化框架,我一直在跟“写测试代码”这件事打交道。后来逐渐发现一个现实&…

作者头像 李华