细石混凝土泵

昆明医院AI助手实战:从RAG检索到Agent智能体的技术演进(2026-04-10)

小编 2026-05-08 细石混凝土泵 6 0

当昆医大附一院的患者小程序上线“智能就医助手”时,后台技术团队正忙于将DeepSeek大模型嵌入医生工作站——昆明医院AI助手正从单一问答工具进化为覆盖诊前、诊中、诊后的全流程智能体。这场医疗AI的演进,背后藏着技术人必须吃透的两个核心概念:RAG(Retrieval-Augmented Generation,检索增强生成)与Agent(智能体)。本文将深入拆解两者的技术原理与实现路径,提供可运行的代码示例与高频面试考点。

一、痛点切入:为什么医疗场景需要AI助手?

先看一段“旧方式”代码——传统医疗问答系统的核心逻辑:

python
复制
下载
 传统关键词匹配式医疗问答(伪代码)

def old_medical_qa(question): rules = load_rule_base() 预定义数千条规则 keywords = extract_keywords(question) for rule in rules: if keywords in rule.keyword_list: return rule.answer return "抱歉,未找到匹配答案"

这段代码的问题一目了然:

  • 维护成本极高:规则数量动辄数千条,每次知识更新都要手动修改

  • 扩展性差:新疾病、新疗法入库周期长,无法快速响应

  • 语义理解弱:“感冒”和“上呼吸道感染”被视为不同关键词

  • 单点孤立:只能回答问题,无法调用医嘱系统、检验系统完成完整任务

传统医疗知识问答系统更像一个定制化超级引擎,基于明确的规则和逻辑符号,需要行业专家将知识翻译成计算机能理解的规则和框架-18

2025—2026年,我国医疗大模型进入规模化落地元年,从辅助诊断、智能审方到影像识别,全面融入临床工作流-33。昆医大附一院的“智慧服务能力提升”专项,建设内容涵盖了从智能分诊导诊、智能预问诊到智能用药管家的完整AI助手体系-1。支撑这些能力的底层技术,正是RAG与Agent。

二、核心概念讲解:RAG(检索增强生成)

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合信息检索与文本生成的技术范式。简单说:先查资料,再回答问题

用一个生活化类比来理解:想象你在做一个开卷考试。传统大模型是“闭卷作答”——全靠预训练时记住的知识,一旦考题超出记忆范围就容易“编答案”(即大模型幻觉问题)。RAG相当于给了你一本书,你先翻书查资料(检索),再把查到的内容用自己的话组织成答案(生成)。

RAG引入知识图谱来增强信息检索和生成质量,通过双层检索系统全面覆盖信息,同时还能快速更新数据,保持实时高效的响应-17

RAG的核心价值在于:

  • 降低幻觉:答案基于检索到的真实知识,而非模型“猜测”

  • 知识可更新:知识库独立于模型,更新无需重新训练

  • 可溯源:每个回答可标注知识来源,满足医疗合规要求

三、关联概念讲解:Agent(智能体)

Agent(智能体) 是一种能够感知环境、自主决策并调用工具执行任务的人工智能系统。如果说RAG是“回答问题”,那Agent就是“完成任务”。

Agent的典型架构由三大核心模块构成:感知层(理解用户意图与上下文)、决策层(规划任务步骤与工具选择)、执行层(调用工具完成具体操作)-

以昆明市中医医院的智能病历质控系统为例:该系统部署了DeepSeek等专业医学大模型,支持语音转写、关键词生成病历草稿,还能深度对接HIS系统,对诊断、检查、治疗等相互间的逻辑矛盾进行实时弹窗提醒-8。一个典型的Agent工作流程是:用户语音输入 → 感知层解析意图 → 决策层规划步骤 → 调用语音转写API → 生成病历草稿 → 调用HIS接口回填数据 → 执行逻辑质控并弹窗提醒。

Agent还有另一种重要形态——多智能体协作(Multi-Agent) 。在复杂医疗场景中,多个Agent各自扮演不同角色(如“诊断Agent”“用药Agent”“随访Agent”),通过协作完成完整诊疗任务。轻松健康推出的循证医学智能体证元芳·MedClaw,医生可在平台内一键调用多Agent协作能力,完成从任务拆解、证据检索、指南比对到结论生成的完整闭环-

四、概念关系与区别总结

RAG与Agent的关系,一句话概括:RAG是Agent的“知识引擎”,Agent是RAG的“行动指挥”

维度RAGAgent
核心目标生成有质量、可信任的文本回答完成复杂目标或现实任务
自主性被动响应,无自主决策主动规划,调用工具执行
能力边界检索 + 生成感知 → 规划 → 行动 → 反馈闭环
典型应用知识问答、报告生成多步骤任务、系统交互、决策支持
医疗场景医学知识精准问答智能病历质控、AI建模服务

RAG专注于通过外部知识增强大模型的回答能力,适合知识密集型任务;AI Agent则通过自主决策和工具调用实现复杂任务执行,适合动态环境和多步骤操作-

在医疗实践中,两者并非对立而是协同。一个完整的医疗AI助手往往采用 Agentic RAG 架构——Agent负责理解用户意图、规划执行步骤,在需要知识检索时调用RAG模块获取信息。例如,医生问“患者最近三次血糖值异常,请分析并生成随访建议”,Agent先调用RAG检索患者的血糖历史记录(检索),再调用大模型进行分析与生成(生成),最后将结果回填到随访系统(执行)。

五、代码示例:从零构建医疗RAG系统

以下是一个基于LangChain和FAISS的医疗RAG问答核心实现:

python
复制
下载
 医疗RAG问答系统核心实现(Python)
import os
from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores import FAISS
from langchain.llms import OpenAI
from langchain.chains import RetrievalQA

 Step 1: 加载医疗知识文档(临床指南、药品说明书等)
loader = DirectoryLoader('./medical_knowledge/', glob="/.txt")
documents = loader.load()

 Step 2: 文本分块(保持语义完整性)
text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=512,       每块512字符
    chunk_overlap=50      块间重叠50字符,避免语义断裂
)
chunks = text_splitter.split_documents(documents)

 Step 3: 构建向量数据库
embeddings = HuggingFaceEmbeddings(model_name="BAAI/bge-small-zh-v1.5")
vectorstore = FAISS.from_documents(chunks, embeddings)

 Step 4: 构建检索问答链
retriever = vectorstore.as_retriever(search_kwargs={"k": 3})   检索Top-3相关片段
qa_chain = RetrievalQA.from_chain_type(
    llm=OpenAI(model="gpt-3.5-turbo"),
    chain_type="stuff",            将检索结果直接拼接到提示词中
    retriever=retriever
)

 Step 5: 问答
question = "糖尿病的一线口服药物有哪些?"
answer = qa_chain.run(question)
print(answer)   输出基于知识库的精确答案,可标注出处

关键步骤注释

  1. 分块策略:医疗文本专业性强,分块过小会丢失上下文,建议512~1024字符并保留20%重叠

  2. 嵌入模型选型:医疗领域建议使用领域微调的嵌入模型(如BGE-Medicine)而非通用模型

  3. 检索增强:上述代码中search_kwargs={"k": 3}决定了每次检索的片段数量,可根据需求调整

对于更高阶的场景,可采用图谱增强RAG——在传统RAG基础上引入知识图谱,在复杂问答、推理、因果分析等场景下更精准地发挥作用-17

六、底层原理:RAG与Agent的技术支撑

6.1 RAG的底层技术栈

技术组件说明医疗场景考量
向量嵌入模型将文本映射为高维向量BGE-Medicine、ClinicalBERT等医疗专用模型
向量数据库高效存储与检索FAISS、Milvus、Chroma,支持百万级文档
检索算法相似度余弦相似度、最大边际相关性(MMR)
大语言模型生成最终答案GPT系列、Qwen、DeepSeek(需领域微调)

6.2 Agent的技术架构

Agent的本质是 LLM + 工具调用 + 规划执行。其核心技术包括:

  • ReAct模式(Reasoning + Acting):Agent交替进行推理(思考下一步做什么)和行动(调用工具),形成可追溯的决策链条

  • 工具注册与调用:通过Function Calling机制,Agent识别用户意图后调用预定义API(如查HIS数据、写病历、发随访)

  • 记忆管理:短期记忆(对话上下文)+ 长期记忆(向量数据库存储历史诊疗记录)

  • 监督微调(SFT) :在预训练语言模型基础上,使用标注好的下游任务数据对其进行进一步训练,将通用语言模型适配到特定医疗任务中-

以昆医大附一院的AI建模服务为例,利用AI智能模型对科室诊疗策略、支出安排、人力资源配备等关键要素进行模型构建,提供推荐方案供科室管理者参考——这正是Agent在管理决策场景中的落地应用-9

七、高频面试题与参考答案

Q1:RAG是什么?它解决了大模型的哪些问题?

参考答案:RAG(检索增强生成)是一种结合信息检索与文本生成的技术范式。它解决了大模型的两个核心问题:一是知识时效性不足,预训练数据截止后无法更新;二是事实幻觉,模型可能生成不符合事实的内容。RAG通过先检索外部知识库再生成答案,保证了回答的准确性和可溯源性。

Q2:RAG和Agent的核心区别是什么?

参考答案:RAG的目标是增强回答质量,属于知识密集型任务工具;Agent的目标是完成任务执行,具备自主规划和工具调用能力。RAG是Agent的“知识引擎”,Agent是RAG的“行动指挥”。在医疗场景中,两者常结合为Agentic RAG架构使用。

Q3:医疗AI中RAG系统的知识库如何构建?

参考答案:医疗RAG知识库构建需遵循四步:①数据采集(临床指南、药品说明书、学术文献等权威来源);②文本清洗与分块(去除噪声、保持语义完整性);③向量化(使用领域专用嵌入模型如ClinicalBERT);④建立索引(使用FAISS或Milvus等向量数据库)。关键挑战在于知识来源的权威性和数据合规性。

Q4:医疗Agent如何保证决策的准确性和安全性?

参考答案:医疗Agent需构建“感知→规划→行动→反馈”四层闭环。具体措施包括:①人机协同,允许医护人员中途介入干预;②可追溯性,每个决策步骤记录在案;③规则约束,预定义安全边界(如药物禁忌);④多Agent投票机制,关键决策由多个Agent共同确认。

Q5:请简述Agentic RAG架构在医疗场景的应用流程。

参考答案:Agentic RAG将Agent的规划能力与RAG的检索能力结合。以医生问“患者血糖异常,分析原因并生成建议”为例:Agent先解析意图,调用RAG检索患者历史数据和指南,分析原因(如“近期饮食记录显示碳水摄入增加”),生成建议并回填系统。关键创新在于多轮迭代——Agent可追问补充信息后再次检索分析。

八、结尾总结

本文从昆明医院AI助手的实际建设场景出发,系统梳理了医疗AI助手的核心技术演进路径:

知识点核心要点
传统方式痛点规则驱动、维护成本高、语义理解弱、功能孤立
RAG先检索、后生成,解决大模型幻觉与知识时效性问题
Agent感知→规划→行动→反馈闭环,具备自主执行能力
两者关系RAG是知识引擎,Agent是行动指挥,协同构成Agentic RAG
底层支撑向量嵌入、大语言模型、Function Calling、监督微调

易错点提醒:面试中常混淆RAG和微调——RAG是在推理时检索外部知识,不改变模型参数;微调是通过训练数据调整模型参数。两者可互补,而非替代。

2026年3月27日发布的《国际AI医院智联体共识》首次在全球层面统一AI医院内涵,确立智慧医疗、智慧服务、智慧管理、智慧科教四大核心能力框架-6。云南省第一人民医院作为西南地区唯一全程参与共识编制的机构,正在推动AI助手从单点工具向系统性智能体演进-6

进阶预告:下一篇文章将深入医疗大模型的监督微调(SFT)与强化学习(RLHF) 技术,从“拿来即用”到“私有化部署”,手把手构建专属医疗垂直大模型,敬请期待。

猜你喜欢