医院信息科AI角色体系搭建,WorkBuddy避坑指南
摘要
为WorkBuddy配置一套角色体系,是上手后最核心的基建任务。前后断断续续折腾了近两周,推
为WorkBuddy配置一套角色体系,是上手后最核心的基建任务。前后断断续续折腾了近两周,推倒重来了好几个版本,踩坑的经验比写出来的心得还多。今天把这套流程完整复盘,给想为AI做专业角色定制的同行一些硬核参考。

起因:全能对话模式削平了AI的专业边界
医院信息科的日常工作有个棘手特征:**一个人扛着五条业务线,每条线的专业跨度大到离谱。**
上午还在排查HIS系统的数据库死锁,下午就得赶等保合规整改方案,晚上还得处理医保对账表。这些任务之间毫无过渡——前一秒还在跟数据库死锁较劲,下一秒就要切换到DRG付费政策解读,中间没有任何缓冲区。
最初用WorkBuddy,开的都是“全能对话”模式:同一个对话窗口,上一秒让AI写SQL查数据,下一秒让它写新闻稿,再下一秒让它分析防火墙策略。结果呢?**AI自己的逻辑先崩了。** 它会用新闻稿的修辞风格给你写等保整改方案,用数据分析的思维模式去诊断网络故障。
痛点逼到极致,决心给AI分角色,每个角色只聚焦一个专业领域。
第一版:七个角色,规划很丰满现实很骨感
最初的设计思路简单粗暴——**岗位映射**。信息科有哪几个岗位,AI就建几个角色:
- 信息科主任:管战略规划、预算编制、项目申报
- 系统管理员:管HIS/EMR配置、故障排查
- 数据与统计员:管SQL查询、报表生成、数据上报
- 网络安全运维:管防火墙策略、等保合规、安全事件响应
- 医保科主任:管DRG控费、飞检应对策略
- 医保审核员:管编码校验、三大目录维护
- 医保结算员:管对账、退费、财务结算
后来又陆续加了“宣传科干事”和“个人助手”,峰值时期同时维持着9个角色。
9个角色意味着什么?9套SKILL.md要维护,9套触发关键词要记忆,9套参考资料目录要更新。一个人的信息科,给AI建的角色比医院实际科室还多。这就像一台服务器装了9个杀毒软件——每个都想抢控制权,结果互相干扰。
**第一个大坑:角色边界模糊,冲突频发。**
举一个真实案例:等保测评整改,“信息科主任”负责管理侧整改(制度、人员配备),“网络安全运维”负责技术侧整改(设备策略、安全加固)。但实际工作中,一条等保不符合项往往同时牵扯管理和技术,比如“未建立安全事件报告制度”——这究竟是管理问题还是技术问题?AI也陷入两难,两个角色给出的方案对不上,甚至互相矛盾。
**第二个大坑:角色之间缺乏协同机制。**
医保飞检来了,“医保科主任”说要准备自查自纠报告,但数据从哪里调?得找“数据与统计员”提取。提取出来发现编码异常,得找“医保审核员”校验。校验显示是HIS系统配置问题,得找“系统管理员”排查。四个角色循环一圈,中间的衔接全靠手动切换和信息转达。**AI不会主动去调用另一个角色的能力。**
第二版:从“岗位镜像”到“能力聚合”
痛定思痛,做了第一次大规模重构。核心逻辑变了:**不是按岗位切分,而是按“决策 vs 执行”的维度合并。**
**信息决策** = 信息科主任 + 数据与统计员。逻辑是:决策依赖数据支撑,报表服务于决策需求——“先看清方向再产出数据”。
**信息运维** = 系统管理员 + 网络安全运维。逻辑是:软硬件不分家,系统网络一体化处理——“碰到分不清属于系统还是网络的问题,就找它”。
医保侧也做了类似合并:医保决策(管控费 + 审编码)、医保结算(纯财务流程,独立保留)。
**第三个坑:合并不是简单的文档拼接。**
最初以为把两个SKILL.md内容拼在一起就行。结果发现两个角色对同一问题的立场可能完全相反。
比如“数据脱敏”:信息科主任视角认为脱敏是管理红线,制度必须健全;数据与统计员视角认为脱敏会降低数据可用性,过度脱敏导致分析无法开展。合并后必须在SKILL.md里显式声明优先级:**安全第一,可用性其次**。否则AI会在两个立场之间反复横跳。
**第四个坑:A面/B面的职责划分必须写死。**
合并后每个角色有两个“面”(A面决策/B面执行),如果不在文档里明确界定哪些任务归哪面,AI就会串场。以“信息决策”角色为例:
- A面(决策):信息化战略规划、等保合规管理、供应商评估
- B面(数据):SQL查询、统计报表、ICD编码校验
但有个灰色地带:数据分析。做规划需要数据分析,数据分析又依赖规划定义的口径。我在SKILL.md里加了一句关键约束:“你用数据驱动的管理者思维调用AI”——这就把B面定位成A面的能力工具,而非并列关系。
SKILL.md的编写:每个文件迭代超20次
每个角色的SKILL.md,前后改了不下20遍。不是文字润色,是每次实际使用都发现遗漏或错误。
**角色定位不能写空泛愿景。** 第一版信息科主任定位是“以信息化建设推动医院高质量发展”。听起来高大上,但AI完全不知道自己该干什么。后来改成:“你是医院信息科的信息决策者——左手拿决策,右手拿数据。规划靠数据验证,报表为决策服务。风格是沉稳决断、数据驱动、对合规零容忍。”**关键在于:前者是愿景,后者是行为准则。** AI不需要愿景,它需要知道遇到具体问题该怎么反应。
**触发条件不能太模糊。** 早期触发条件写的是“当需要进行信息化规划时触发”。问题是我日常对话中不会刻意提到“信息化规划”这个词。后来改成场景化触发词+用户视角描述:“当你既要‘看方向’又要‘用数据说话’时,加载此角色”。关键词触发+场景描述,双保险。
**参考资料路径是静态配置,必须同步维护。** SKILL.md里引用的本地资料路径是硬编码的。后来重组了文件目录结构,路径变了但SKILL.md没同步更新,AI就去读一个不存在的目录。这一点没有任何自动化工具能帮你检查,全靠手动同步。
**权限红线不是安全声明,是行为约束代码。** 这是踩过最深的坑。权限红线这一节,最初觉得写上表明我在意安全就够了。后来才发现这实际上是给AI的行为约束。举几个真实案例:
- 没写“SQL只SELECT,绝不生成UPDATE/DELETE/INSERT”,AI真的会给你生成UPDATE语句
- 没写“涉及患者个人信息的数据必须建议脱敏处理”,AI会直接输出带姓名和身份证号的数据
- 没写“等保合规建议必须引用具体政策条款编号”,AI会说“建议加强安全管理”这种空话
**每一条红线背后都对应一次真实的越界事件。** 不是修辞,是真的AI干出了越界的事,才补上去的。
IMA知识库集成:从“有就行”到“必查优先”
后期给每个角色都加了IMA知识库集成模块。逻辑很简单:本地文件可能过时,知识库里的版本更新。但集成过程又踩了新坑。
**知识库与本地文件的冲突处理。** 两者引用同一份政策文件但版本不同,以哪个为准?最后定的规则是:IMA优先,本地兜底。在SKILL.md里显式写明“冲突时以IMA为准”。
**激活时自动查询知识库的时机。** 最初设计的是“加载技能时立即查知识库”,结果每次加载角色都要跑一遍知识库查询,哪怕只是问个简单问题,响应速度明显变慢。后来改成“按需检索”:加载时只列出知识库目录,具体内容等用户问到再查。省了80%的无效查询。
市医保对账:从手动一整天到全自动2分钟
这个是角色体系里最成功的自动化案例,也是最痛苦的调试过程。
市医保对账的业务逻辑:每个月6类结算数据(居民门诊/门慢/住院、职工门诊/门慢/住院),加上3种专项拨付单(医疗救助/公务员补助/大病保险),生成12个月的sheet加一个汇总表。
**专项拨付单不是独立类别。** 最开始按6+3=9个类别处理,结果汇总表死活对不上。反复查了两天才发现:专项拨付单的金额必须合并到对应的主类别里,不能单独列行。比如“公务员补助”专项拨付单的数据,必须加到“职工住院”或“职工门诊”的行里。这不是设计问题,是医保局的结算规则。
**DRG付费下“基金支付”要取大值。** DRG付费改革后,基金支付不能简单取“统筹应付”,要取max(DRG住院结算应付, 统筹应付)。这个规则在第五版脚本才加上,前四版算出来的数据差了好几万。
**不同年份的源文件行号不一样。** 同一个字段(如DRG住院结算应付),2025年在R13C6,2026年在R14C6。因为医保中心换了一个结算报表格式。第一次做2026年对账时直接套用2025年的脚本,数据全错。现在SKILL.md里专门有一节“年份差异”,把不同年份的字段位置列得清清楚楚。
**金额格式跨年不一致。** 2025年源文件的金额字段存的是整数(比如12345代表123.45元),2026年直接存float。脚本里的money()函数必须按年份区分处理逻辑。这个坑让人怀疑了一整天人生。
最终效果:**原来做一份年度对账表要一整天,现在丢数据过去2分钟出表。** 省下来的时间不是重点——重点是以前手动做容易出错,现在脚本跑出来的数据至少比手动做准一个数量级。
最终的角色体系
经过反复迭代,目前基于WorkBuddy搭建的角色体系长这样:
| 角色 | 触发方式 | 定位 | 自动化程度 |
|---|---|---|---|
| 信息决策 | `/xxjc` | 决策+数据,A面管方向B面管数据 | 半自动 |
| 信息运维 | `/xxyw` | 系统+网络,A面管应用B面管底层 | 半自动 |
| 医保决策 | `/ybjc` | 策略+审核,A面管控费B面管编码 | 半自动 |
| 医保结算 | `/ybjs` | 纯财务流,算账对账 | 半自动 |
| 宣传科干事 | `/xckgs` | 文稿PPT新媒体 | 半自动 |
| 个人助手 | `/grzs` | 意图识别+任务路由 | 全自动 |
| 市医保对账 | `/mdyb` | 自动化对账表生成 | 全自动 |
| 省医保对账 | `/sdyb` | 自动化对账表生成 | 全自动 |
9个角色精简到6个角色+2个自动化脚本,每减少一个角色,维护负担就减轻一个档次。
五条经验总结
**1. 角色数量和心智负担正相关,能合并就合并。** 合并维度不是“岗位”而是“决策链”——信息科主任+数据统计员能合并,因为“决策依赖数据”;系统管理员+网络安全不能拆分,因为“排障不分系统网络”。
**2. SKILL.md是活文档,不是写完就归档的。** 每个SKILL.md平均改了20遍以上。每次实际使用中发现缺陷就改,不改下次还会踩同一个坑。
**3. 权限红线是写给AI的约束代码,不是安全口号。** 别写“注意安全”这种废话,写“SQL只SELECT,绝不生成UPDATE”。
**4. 知识库优先于本地文件,但必须显式声明冲突处理规则。** 否则AI会在两个数据源之间犹豫不决。
**5. 能全自动的不要半自动,能半自动的不要手动。** 市医保对账从手动一整天到全自动2分钟,省下来的时间不是让你偷懒,是让你在那些必须人判断的事上别那么赶。
给AI建角色系统这件事,技术门槛不高,业务门槛极高。你要非常清楚自己每天在干什么、各个工作之间的边界在哪、什么能自动化什么不能。AI不会帮你理清这些——它只是把你理清的东西执行到位。
所以整个过程最花时间的不是写SKILL.md,是**想清楚**。
来源:互联网
本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。