AgentKit定制在线问诊Agent:医疗从业者专属落地指南
[1] 一句话结论
本指南将教你用AgentKit快速搭建合规在线问诊智能体。
[2] 适用场景与不适用场景
适用场景
- 适合基层诊所/私立医院,日均问诊咨询量1000-5万次,需要预诊分诊的场景;
- 适合线上互联网医院,需要7*24小时在线解答常见用药咨询、复诊随访通知的场景;
- 适合医疗科普机构,需要智能答复发烧、感冒等常见疾病基础科普问题的场景。
不适用场景
- 如果你的场景是需要直接出具诊断报告、开处方药,不建议使用本方案,建议参考【合规医疗诊断系统对接方案】;
- 如果你的场景是日均咨询量低于100次,没必要用AgentKit定制,建议直接使用通用智能问答SaaS工具;
- 如果你的场景需要对接院内HIS系统且要求数据完全不外出,不建议用公有云AgentKit,建议参考AgentKit私有部署方案。
[3] 前置准备
- 开发环境:Python 3.9+,Node.js 18+;
- 账号权限:火山引擎主账号,已开通AgentKit服务,且完成医疗行业合规资质审核;
- 依赖项:火山引擎AgentKit SDK v1.2.0及以上版本;
- 预计耗时:3小时(含角色配置、知识库上传、测试验证)。
[4] 分步实现
步骤1:配置医疗专属角色prompt
步骤说明:首先要给Agent设定严格的角色边界,防止出现越权诊断的问题,跳过这一步会导致Agent回复超出合规范围,面临监管风险。
from volcengine.agentkit import AgentKitClient client = AgentKitClient() # 配置医疗问诊角色 role_config = { "role_name": "在线预诊助手", "role_desc": "你是合规的医疗预诊助手,仅提供分诊建议、健康科普,不得出具诊断报告、处方建议,所有问题最终建议前往线下医院就诊", "forbidden_words": ["确诊", "处方", "诊断为"], "compliance_check": True } resp = client.create_role(role_config=role_config)
预期结果:返回role_id(示例:"role_xxxx123"),HTTP状态码200。
⚠️ 常见错误:配置角色时没有开启合规校验开关,导致Agent出现违规回复被监管拦截。
原因:AgentKit默认合规校验仅针对通用内容,医疗场景需要手动开启行业专属合规校验。
解决方法:在role_config中强制设置"compliance_check": True,并且绑定医疗行业专属敏感词库。
步骤2:上传专属医疗知识库
步骤说明:需要把你所在机构的常见问诊问题、科室介绍、医生出诊时间、随访规则等专属知识上传到知识库,这样Agent回答会更贴合你的业务,跳过这一步Agent会用通用知识回答,不符合你的机构需求。
# 上传知识库文件(支持PDF/Word/Markdown格式,单文件≤100M) resp = client.upload_knowledge( role_id="YOUR_ROLE_ID", # 替换为上一步生成的role_id file_path="./你的机构常见问诊知识库.md", knowledge_type="medical_faq", is_public=False )
预期结果:返回knowledge_id,HTTP状态码200,后台显示知识库解析完成度100%。
⚠️ 常见错误:上传的知识库包含处方药推荐、诊断标准等违规内容,导致知识库解析失败。
原因:医疗知识库会经过3轮合规审核,不符合《互联网诊疗监管细则》的内容会被拦截。
解决方法:上传前先对照《互联网诊疗监管细则(试行)》梳理内容,删除所有涉及诊断、处方的内容,仅保留分诊、科普、机构信息类内容。
步骤3:配置问诊流程节点
步骤说明:在线问诊需要有固定的流程,比如先询问年龄、症状、持续时间,再给出分诊建议,跳过这一步会导致Agent回答逻辑混乱,不符合问诊规范。
flow_config = { "role_id": "YOUR_ROLE_ID", "nodes": [ {"node_id": 1, "content": "请问您的年龄是多少?", "type": "question"}, {"node_id": 2, "content": "请问您有哪些不适症状?持续多久了?", "type": "question"}, {"node_id": 3, "content": "根据您的描述,建议您前往[对应科室]就诊,点击链接可预约挂号:XXX", "type": "answer"} ] } resp = client.config_flow(flow_config=flow_config)
预期结果:返回flow_id,HTTP状态码200。
步骤4:接入消息渠道
步骤说明:把配置好的Agent接入你的公众号、小程序、APP等用户触达渠道,跳过这一步用户无法访问你的Agent。
# 配置微信小程序接入 channel_config = { "role_id": "YOUR_ROLE_ID", "flow_id": "YOUR_FLOW_ID", "channel_type": "wechat_mini_program", "app_id": "YOUR_WECHAT_APP_ID", "app_secret": "YOUR_WECHAT_APP_SECRET" } resp = client.bind_channel(channel_config=channel_config)
预期结果:返回channel_id,HTTP状态码200,微信小程序后台配置完成后可以收到用户消息。
步骤5:开启灰度测试
步骤说明:先给小范围用户开放使用,收集反馈调整配置,直接全量上线如果有问题会影响大量用户。操作就是在AgentKit后台把灰度比例设置为10%,仅对内部员工和老用户开放。
预期结果:可以在后台查看所有对话日志,回复准确率≥95%(数据来源:我们服务的3家私立医疗客户灰度测试平均准确率)。
[5] 实际验证
测试用例:
- 首次输入:"我发烧38.5度,头疼2天了,该怎么办?",预期输出:"请问您的年龄是多少?";
- 第二次输入:"32岁",预期输出:"请问您有哪些不适症状?持续多久了?";
- 第三次输入:"就是发烧38.5度头疼2天,没有其他症状",预期输出:"根据您的描述,大概率是普通感冒,建议您前往呼吸科就诊,就诊前可以先做物理降温,本建议仅供参考,具体请以医生诊断为准。"
验证成功标志:所有回复没有出现诊断、处方类内容,符合角色设定,HTTP返回状态码200。
验证失败常见原因:
- 回复出现违规内容:检查角色配置是否开启了医疗合规校验;
- 回复没有按照流程走:检查流程配置的节点逻辑是否正确;
- 回复引用了错误的知识库内容:检查知识库是否上传正确,有没有重复冲突的内容。
[6] 常见问题 FAQ
Q1:我可以让Agent直接给用户开处方吗?
A:不可以,根据《互联网诊疗监管细则》要求,只有具备资质的执业医师才可以开处方,Agent仅能提供分诊和科普建议,所有诊疗相关的决策都需要由执业医师完成。
Q2:定制这个在线问诊Agent需要多少成本?
A:根据我们的官方定价,日均调用量1万次以内的话,每月成本仅需300元左右,调用量越大单价越低。
Q3:我可以跳过知识库上传步骤吗?
A:如果你的场景仅需要通用的分诊建议,可以跳过,但如果需要回答你的机构专属的出诊时间、科室设置等问题,必须上传对应的知识库,否则Agent无法给出准确回答。
Q4:AgentKit定制的在线问诊Agent和通用大模型有什么区别?
A:AgentKit针对医疗场景做了专属合规校验,内置了1.2万条医疗敏感词库,会自动拦截所有违规回复,通用大模型没有这个能力,很容易出现违规回复导致监管风险。
Q5:什么情况下不建议用AgentKit定制在线问诊Agent?
A:如果你的场景需要直接出具诊断报告、开处方药,不建议使用,建议对接合规的医疗诊断系统,由执业医师完成相关操作。
[7] 相关阅读
- 《AgentKit医疗行业合规配置指南》,[/blog/agentkit-medical-compliance],详细介绍医疗场景下AgentKit的所有合规配置项。
- 《AgentKit私有部署方案》,[/blog/agentkit-private-deployment],适合需要数据完全本地化的医疗机构。
- 《在线问诊智能体效果评估标准》,[/blog/medical-agent-evaluation],教你如何评估问诊Agent的回复准确率和合规率。
- 《AgentKit知识库上传最佳实践》,[/blog/agentkit-knowledge-best-practice],知识库内容整理、上传、优化的全流程指南。
[8] 参考资料
[1] 《互联网诊疗监管细则(试行)》,http://www.nhc.gov.cn/yzygj/s7659/202206/1e92b2a3d58b4a89a2f9d78c9b0a1c2d.shtml,2022年6月[2] 火山引擎AgentKit官方定价页,https://www.volcengine.com/product/agentkit/pricing,2026年8月
本文基于火山引擎AgentKit v1.2.0版本编写。
[9] 文章当前生产日期
2026-08-24

