AIM-medical: 医疗Agent记忆系统(AI memory for medical)

发布于 2025 年 12 月 31 日 · 更新于 2026 年 3 月 31 日约 5 分钟阅读

Introduction

AIM-medical 是一个面向医疗场景的 Agent 记忆系统。它不是把“聊天记录”简单丢进向量库,而是把患者事实、报告解析结果、结构化观察值与图关系,当成可以持续管理的长期记忆资产。当前实现已经具备前后端、一体化持久化、报告导入与语义检索能力;而在设计理念上,它进一步吸收了 Memo 平台对于“记忆分层、生命周期、作用域管理和可运营性”的思路。

Repo: https://github.com/ylouis83/aim-medical

What AIM-medical inherits from Memo

Memo 给 AIM-medical 带来的,不是某一个具体组件,而是一套更完整的记忆系统设计哲学。核心思想可以概括为四点:

  • Memory-first,而不是 Chat-first:对话只是入口,记忆才是长期价值本身。医疗系统真正需要沉淀的是患者画像、病史、过敏史、用药轨迹、报告结论和关系网络,而不是一段段很快过时的上下文片段。
  • 记忆必须有生命周期:不同信息的时效性完全不同。身份与慢病信息属于长期记忆,近期症状和一次性检查结果更接近短中期记忆,系统设计应该支持提取、检索、更新、衰减、归档,而不是把所有内容一视同仁。
  • 记忆必须有清晰作用域:医疗场景天然要求 user、patient、encounter、document 等多层边界。Memo 的 project-scope 思想在这里被转化为 patient-scope 与 encounter-scope,避免不同患者、不同就诊过程之间的信息串扰。
  • 记忆系统必须可运营、可验证:一个能落地的记忆系统,不只是“能回答问题”,还必须能解释数据从哪里来、是否持久化成功、是否能被回放验证、是否可以被后端服务与前端界面共同消费。

这意味着 AIM-medical 的目标不是做一个只会回答问题的医疗聊天机器人,而是构建一个“医疗记忆底座”:上层可以是 AskBob Web、临床助手、报告分析工具,底层则是一套持续演化、可审计、可检索、可扩展的长期记忆系统。

Design Philosophy

在这个框架下,AIM-medical 的设计理念可以进一步展开为以下几个方向:

  • 双轨记忆:一条轨道面向自然语言事实与语义检索,另一条轨道面向结构化医疗实体。前者负责“医生/患者说了什么”,后者负责“系统已经识别出什么医学对象”。
  • 结构化报告优先于纯文本堆积:医疗报告的真正价值不在原文,而在可解析出的 Observation、Document、Medication、PatientProfile 等结构对象。只有结构化后,才能支持稳定检索、图关系推理和审计。
  • 检索服务于决策,不服务于堆料:召回的目标不是把尽可能多的历史内容塞进 prompt,而是只把当前问诊真正需要的上下文送给模型,提高安全性和可解释性。
  • 从“记住”升级为“管理记忆”:未来版本不应只关心 add/search,还要关心 dedup、分层摘要、时效管理、热度衰减、错误记忆修正以及不同来源之间的冲突处理。
  • 平台化能力要先于单点功能:AIM-medical 目前已经是垂直医疗系统,但它的长期方向仍然是平台型设计,即让前端、API、脚本验证和后续服务都围绕同一套记忆模型工作。

Current Capabilities

  • Persistent Medical Memory:支持长期保存患者信息、对话事实与医疗上下文。
  • Medical Report Parsing:可将化验/检查报告解析为结构化 observation 与 document 记忆。
  • Semantic Search:支持自然语言检索相关记忆。
  • Graph Context:可选图存储用于表达患者、文档、观察值与关系网络。
  • AskBob Web:前端界面已集成对话和报告导入能力。
  • Persistence Verification:具备自动化脚本验证关键记忆是否真正写入并可回放。

Architecture

系统由前端/CUI、报告导入管线、Memory Service、缓存层与持久化存储共同组成。持久化层当前包含向量检索(Qdrant)、图关系(Kuzu)与历史数据存储。与传统“聊天 + RAG”方案不同,AIM-medical 更强调把医疗对象解析成可长期维护的记忆单元,并通过统一服务编排给 Agent 和前端使用。

从架构视角看,AIM-medical 可以理解为“医疗领域版的 Memo 思想落地”:Memo 负责告诉我们记忆系统应该如何被建模和运营,而 AIM-medical 则把这套思想收敛到 patient、encounter、report、observation 这些医疗对象上。

Persistence Verification

内置一键验证脚本,自动写入测试记忆并验证持久化是否成功:

python scripts/verify_family_history.py

该脚本会写入并验证家族病史、遗传病史与青霉素过敏信息,确保关键医疗记忆能够真实落库,并在系统重启后仍然可查询。

Quick Start

git clone https://github.com/ylouis83/aim-medical.git
cd aim-medical

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

cp .env.example .env
# set JKMEM_BAILIAN_API_KEY in .env

export JKMEM_USE_MEM0=1
export JKMEM_VECTOR_PROVIDER=qdrant
export JKMEM_QDRANT_PATH=data/vector/qdrant
export JKMEM_QDRANT_ON_DISK=1
export JKMEM_GRAPH_ENABLED=1
export JKMEM_GRAPH_PROVIDER=kuzu
export JKMEM_GRAPH_PATH=data/graph/kuzu.db
export MEM0_DIR=data/mem0

python -m jkmem.server

cd frontend/askbob-web
npm install
npm run dev

Release

v1.0 已发布,包含前后端集成、持久化存储与完整测试流程。下一阶段的演进重点,不只是继续增加功能,而是继续把 Memo 的设计理念沉淀为医疗场景中的长期记忆治理能力。

Release: https://github.com/ylouis83/aim-medical/releases/tag/v1.0

分享:

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top