SkeMex 技能记忆架构图

论文: Experience Makes Skillful: Enabling Generalizable Medical Agent Reasoning via Self-Evolving Skill Memory 作者: Haoran Sun et al. (复旦大学, 上海AI实验室, 华中科技大学) 时间: arXiv:2606.09365, June 2026

Obsidian 显示提示: 如果 Mermaid 图在编辑/阅读模式下过大无法概览,安装社区插件 Mermaid Tools(by dartungar),它提供全屏模式和缩放工具栏。或者直接点击 Mermaid 图(阅读模式),Obsidian 原生支持弹出放大视图。


一、闭环生命周期流程图

SkeMex 的核心是一个 Read → Write → Assess → Govern 四阶段闭环生命周期,部署后无需更新模型权重即可持续自我进化。

flowchart TB
    subgraph 临床环境["🏥 临床环境 Clinical Environment"]
        PS["患者模拟器<br/>Patient Simulator"]
        ST["搜索工具<br/>Search Tools"]
        VT["视觉工具<br/>Vision Tools"]
    end

    subgraph 智能体循环["🤖 LLM 智能体循环 Agent Loop"]
        direction LR
        THINK["🧠 思考 Think<br/>检索技能 + 推理规划"]
        TOOL["🔧 工具调用 Tool Use<br/>搜索 · 视觉 · 计算"]
        ANSWER["💬 生成回答 Answer<br/>诊断 · 治疗 · 解释"]
    end

    subgraph 技能仓库["🧬 SkeMex 技能仓库 Skill Repository"]
        Mgen["📦 通用技能 M_gen<br/>可迁移推理策略"]
        Mtask["📋 任务技能 M_task<br/>临床类别模式"]
        Mact["🔧 行动技能 M_act<br/>工具操作知识"]
    end

    subgraph 生命周期["🔄 4阶段闭环生命周期"]
        READ["① READ 读取<br/>价值感知检索<br/>临床分类路由<br/>多通道筛选 Top-K"]
        WRITE["② WRITE 写入<br/>轨迹→技能蒸馏<br/>门控缓冲<br/>双通道引擎(分析+变异)"]
        ASSESS["③ ASSESS 评估<br/>效用驱动估值<br/>A_τ = r_τ − r̄(κ)<br/>信用分配"]
        GOVERN["④ GOVERN 治理<br/>仓库维护<br/>废弃·成熟·合并·归档<br/>ε-greedy 重评估"]
    end

    %% 数据流
    临床环境 -->|"查询 + 上下文"| 智能体循环
    智能体循环 -->|"轨迹数据"| WRITE
    智能体循环 <-->|"检索 / 注入"| 技能仓库

    %% 生命周期闭环
    READ -->|"检索到的技能"| 智能体循环
    WRITE -->|"新技能 / 更新"| 技能仓库
    ASSESS -->|"效用更新"| 技能仓库
    GOVERN -->|"清理后的仓库"| 技能仓库

    READ --> WRITE
    WRITE --> ASSESS
    ASSESS --> GOVERN
    GOVERN -.->|"闭环循环"| READ

    %% 评估输入
    临床环境 -.->|"环境奖励 r_τ"| ASSESS

二、三支技能仓库结构

graph TD
    ROOT["🧬 技能仓库 M_t = M_gen ∪ M_task ∪ M_act"]

    GEN["📦 通用技能分支 M_gen<br/>可迁移推理策略<br/>跨领域的临床原则<br/>类别条件效用"]
    TASK["📋 任务技能分支 M_task<br/>特定临床类别模式<br/>鉴别诊断 / 治疗规划<br/>已绑定上下文"]
    ACT["🔧 行动技能分支 M_act<br/>工具操作知识<br/>参数格式化 / 搜索策略<br/>细粒度操作"]

    ROOT --> GEN
    ROOT --> TASK
    ROOT --> ACT

    SKILL["📝 技能单元 m_i = (k_i, c_i, u_i)<br/>k_i: 检索键 (语义嵌入)<br/>c_i: 可复用内容 (触发条件+临床步骤)<br/>u_i: 效用统计 (历史贡献)"]

    GEN -.-> SKILL
    TASK -.-> SKILL
    ACT -.-> SKILL

    STATUS["🔄 生命周期状态<br/>active (活跃) | mature (成熟)<br/>deprecated (废弃) | archived (归档)"]
    SKILL --> STATUS

    RETRIEVAL["🔍 检索打分: λ_sim·Sim + λ_u·U(κ) + λ_h·h(m)<br/>语义相似 + 类别效用 + 遗忘曲线衰减"]
    SKILL -.-> RETRIEVAL

三、轨迹到技能的蒸馏管道

flowchart LR
    TAU["📜 轨迹 τ<br/>多步交互 + 反馈"]

    subgraph 门控["🚪 门控缓冲 Gated Buffer"]
        FILTER["筛选过滤<br/>✗ 基础设施错误<br/>✗ 机械重复<br/>✗ 平凡成功<br/>✓ 信息量高的失败<br/>✓ 多步推理轨迹"]
        BALANCE["软隔离策略<br/>v(τ) 按类别平衡<br/>保留成功与失败的混合"]
    end

    subgraph 双通["⚗️ 双通道蒸馏引擎"]
        ANALYZE["分析通道 Analysis Pass<br/>提取可复用模式 z_τ<br/>判断意图: CREATE/PATCH/NONE<br/>分配目标分支"]
        MUTATE["变异通道 Mutation Pass<br/>生成技能草稿<br/>或应用局部补丁<br/>产出候选技能 m̂"]
    end

    subgraph 质检["✅ 质量门控"]
        NOVELTY["新颖性门控 Novelty Gate<br/>与同类已有技能对比<br/>重复 → 重定向为 PATCH"]
        QUALITY["质量门控 Quality Gate<br/>必须包含:<br/>明确触发条件<br/>具体临床步骤"]
    end

    TAU --> FILTER
    FILTER --> BALANCE
    BALANCE --> ANALYZE
    ANALYZE --> MUTATE
    MUTATE --> NOVELTY
    NOVELTY --> QUALITY
    QUALITY -->|"✓ 通过"| SKILL_OUT["📦 进入技能仓库"]

符号对照表

符号含义
M_t时刻 t 的技能仓库
M_gen / M_task / M_act通用 / 任务 / 行动三个分支
m_i = (k_i, c_i, u_i)单个技能单元:检索键、内容、效用
τ交互轨迹
r_τ轨迹的累积奖励
r̄(κ)临床类别 κ 的奖励 EMA 基线
A_τ = r_τ − r̄(κ)优势(相对于同类任务的平均表现)
λ_sim, λ_u, λ_h检索打分权重:语义、效用、遗忘
h(m)记忆强度(带 Ebbinghaus 遗忘曲线)