以下是为肺癌诊疗场景定制的全流程专用技能,包含临床问诊、分期评估、治疗方案推荐、随访管理、科研数据解读五大核心模块,可直接集成到 OpenClaw 框架中使用。
一、技能文件结构(核心)
在 OpenClaw 技能目录(~/.openclaw/skills/lung-cancer-robot/)下创建以下文件,技能会被框架自动识别加载:
1. 技能配置文件(skill.yaml)
yaml
# 技能元信息
name: lung-cancer-robot
version: 1.0.0
author: Medical AI Team
description: 肺癌诊疗全流程专用技能(含问诊、分期、治疗、随访、科研分析)
tags: [肺癌, 肿瘤诊疗, 临床决策, 随访管理]
dependencies:
- python>=3.8
- pandas>=2.0
- scikit-learn>=1.2 # 分期预测模型依赖
# 触发关键词(AI自动匹配)
trigger_words:
- 肺癌
- 肺结节
- 肺癌分期
- 肺癌治疗
- 肺癌随访
- 肺腺癌
- 肺鳞癌
- 小细胞肺癌
2. 技能核心逻辑(SKILL.md)
markdown
# 肺癌机器人专用技能
## 核心场景与执行规则
### 场景1:肺癌标准化问诊
- 目标:采集符合NCCN指南的肺癌问诊信息,无遗漏核心维度
- 问诊模板(按优先级):
1. 基本信息:姓名、性别、年龄、吸烟史(包/年)、二手烟暴露史、职业暴露史(石棉/氡气等)
2. 主诉:症状(咳嗽/咯血/胸痛/呼吸困难等)、症状持续时间、加重/缓解因素
3. 影像学检查:胸部CT(结节大小/位置/密度/强化方式)、PET-CT(SUV值)、增强CT(纵隔淋巴结)
4. 病理检查:活检类型(支气管镜/穿刺)、病理分型(腺癌/鳞癌/小细胞肺癌)、分化程度、EGFR/ALK/ROS1/BRAF基因突变状态
5. 既往史:肺部基础疾病(COPD/肺结核)、肿瘤家族史、既往抗肿瘤治疗史
6. 体能状态:ECOG评分、体重变化(近6个月)、进食情况
### 场景2:肺癌分期评估(AJCC第8版)
- 非小细胞肺癌(NSCLC)分期规则:
- T分期:T0(无原发肿瘤)、T1(≤3cm)、T2(>3cm且≤5cm)、T3(>5cm且≤7cm)、T4(>7cm/侵犯重要结构)
- N分期:N0(无区域淋巴结转移)、N1(同侧支气管旁/肺门淋巴结)、N2(同侧纵隔/隆突下淋巴结)、N3(对侧纵隔/锁骨上淋巴结)
- M分期:M0(无远处转移)、M1a(胸腔内转移)、M1b(单个远处转移)、M1c(多个远处转移)
- 小细胞肺癌(SCLC)分期:局限期(LD)、广泛期(ED)
- 输出要求:自动计算分期 + 分期依据 + 预后提示
### 场景3:肺癌治疗方案推荐(NCCN 2024指南)
- 推荐逻辑:按「病理分型+分期+基因状态+体能状态」分层推荐
1. 早期NSCLC(I-II期):优先手术(肺叶切除+淋巴结清扫),高危IB期术后辅助化疗(培美曲塞/顺铂)
2. 局部晚期NSCLC(III期):不可切除者同步放化疗(紫杉醇+卡铂+放疗),可切除者新辅助治疗+手术+辅助治疗
3. 晚期NSCLC(IV期):
- 腺癌:EGFR突变→奥希替尼/阿美替尼;ALK融合→克唑替尼/塞瑞替尼;无靶点→化疗(培美曲塞+铂类)+免疫(帕博利珠单抗)
- 鳞癌:无靶点→化疗(吉西他滨+铂类)+免疫;PD-L1高表达→单药免疫
4. SCLC:局限期→同步放化疗(依托泊苷+顺铂+放疗)+预防性脑放疗;广泛期→化疗(依托泊苷+铂类)+免疫(阿替利珠单抗)
### 场景4:肺癌随访管理
- 随访周期(按分期):
- I-II期术后:第1-2年每6个月1次,第3-5年每年1次,5年后按需随访
- III期治疗后:第1-3年每3个月1次,第4-5年每6个月1次,5年后每年1次
- IV期:每2-3个月1次(直至疾病进展)
- 随访内容:胸部CT、肿瘤标志物(CEA/SCC/NSE)、血常规/肝肾功能、症状评估
- 异常预警:结节增大(≥2mm/月)、标志物升高(超过基线2倍)、新发症状(骨痛/头痛提示转移)
### 场景5:肺癌科研数据解读
- 适用场景:回顾性分析/临床试验数据
- 分析维度:
1. 生存分析:OS(总生存期)、PFS(无进展生存期)、HR值(风险比)
2. 疗效评估:ORR(客观缓解率)、DCR(疾病控制率)、CR/PR/SD/PD判定
3. 安全性:AE(不良事件)发生率、3-4级AE占比、停药率
- 输出要求:数据结论 + 临床意义 + 局限性
## 输出格式规范
1. 所有输出需标注「证据等级」(1类:高证据,2类:中等证据,3类:低证据)
2. 治疗方案需标注「指南依据」(NCCN 2024/CSCO 2024)
3. 结构化输出,分模块标注(【问诊清单】【分期评估】【治疗方案】【随访建议】)
3. 辅助工具函数(utils.py,可选,增强技能算力)
python
# 肺癌分期自动计算函数
def calculate_lung_cancer_stage(cancer_type, t_stage, n_stage, m_stage):
"""
输入:
- cancer_type: str, "NSCLC" / "SCLC"
- t_stage: str, 如 "T1" / "T2a"
- n_stage: str, 如 "N0" / "N2"
- m_stage: str, 如 "M0" / "M1b"
输出:
- stage: str, 分期结果
- basis: str, 分期依据
"""
# NSCLC分期逻辑(AJCC第8版)
if cancer_type == "NSCLC":
if m_stage == "M1a" or m_stage == "M1b" or m_stage == "M1c":
stage = "IV期"
basis = f"M分期为{m_stage},判定为IV期(远处转移)"
elif n_stage == "N3":
stage = "IIIB/IIIC期"
basis = f"N分期为{N3},无远处转移,判定为局部晚期III期"
elif t_stage in ["T3", "T4"] and n_stage in ["N0", "N1"]:
stage = "IIIA期"
basis = f"T分期{T_stage},N分期{N_stage},无远处转移,判定为IIIA期"
elif t_stage in ["T1", "T2"] and n_stage == "N1":
stage = "II期"
basis = f"T分期{T_stage},N分期{N1},无远处转移,判定为II期"
elif t_stage in ["T1", "T2"] and n_stage == "N0":
stage = "I期"
basis = f"T分期{T_stage},N0无淋巴结转移,无远处转移,判定为I期"
else:
stage = "无法判定"
basis = "输入的T/N/M分期组合不完整或不符合规范"
# SCLC分期逻辑
elif cancer_type == "SCLC":
if m_stage == "M0" and肿瘤局限于一侧胸腔":
stage = "局限期(LD)"
basis = "无远处转移,肿瘤局限于一侧胸腔,判定为局限期"
else:
stage = "广泛期(ED)"
basis = "存在远处转移或双侧胸腔受累,判定为广泛期"
else:
stage = "无法判定"
basis = "未识别的肺癌类型(仅支持NSCLC/SCLC)"
return {"stage": stage, "basis": basis}
# 肺癌治疗方案推荐函数
def recommend_treatment(cancer_type, stage, gene_status, ecog):
"""
输入:
- cancer_type: str, 病理分型(腺癌/鳞癌/小细胞肺癌)
- stage: str, 分期
- gene_status: dict, 基因突变状态(如 {"EGFR": "突变", "ALK": "野生型"})
- ecog: str, ECOG评分(0/1/2/3-4)
输出:
- treatment: list, 推荐方案列表
- guideline: str, 指南依据
"""
treatment = []
guideline = "NCCN肺癌指南2024版"
# 晚期腺癌(IV期)
if cancer_type == "腺癌" and stage == "IV期":
if gene_status.get("EGFR") == "突变" and ecog in ["0", "1"]:
treatment.append("一线:奥希替尼(80mg qd),直至疾病进展或不可耐受毒性")
treatment.append("疗效评估:每6-8周胸部CT,监测EGFR T790M耐药突变")
elif gene_status.get("ALK") == "融合":
treatment.append("一线:塞瑞替尼(450mg qd 随餐),不可耐受时换克唑替尼")
else:
treatment.append("一线:培美曲塞+卡铂(每21天1周期)+帕博利珠单抗(200mg q3w),4-6周期后培美曲塞+帕博利珠单抗维持")
# 局限期小细胞肺癌
elif cancer_type == "小细胞肺癌" and stage == "局限期(LD)":
if ecog in ["0", "1"]:
treatment.append("同步放化疗:依托泊苷(100mg/m² d1-3)+顺铂(75mg/m² d1)q21d,共4-6周期 + 胸部放疗(60Gy/30次)")
treatment.append("化疗结束后行预防性脑放疗(PCI,25Gy/10次),降低脑转移风险")
else:
treatment.append("需结合多学科会诊(MDT)制定个性化方案")
return {"treatment": treatment, "guideline": guideline}
二、技能集成与加载
1. 创建技能目录并放入文件
bash
# 创建肺癌技能目录
mkdir -p ~/.openclaw/skills/lung-cancer-robot
# 将上述3个文件(skill.yaml、SKILL.md、utils.py)放入该目录
# 示例(假设文件在本地):
cp skill.yaml ~/.openclaw/skills/lung-cancer-robot/
cp SKILL.md ~/.openclaw/skills/lung-cancer-robot/
cp utils.py ~/.openclaw/skills/lung-cancer-robot/
2. 重载OpenClaw技能
bash
# 重载技能使框架识别新技能
openclaw skill reload
# 验证技能加载成功
openclaw skill list | grep lung-cancer-robot
# 输出 "lung-cancer-robot (1.0.0) - 肺癌诊疗全流程专用技能" 即为成功
三、技能调用示例
示例1:肺癌标准化问诊
在OpenClaw终端输入:
【需求】针对疑似肺癌患者进行标准化问诊,生成完整问诊清单
AI输出:
### 【肺癌标准化问诊清单】
1. 核心基本信息
- 姓名:________ 性别:________ 年龄:________
- 吸烟史:________包/年(戒烟年限:________);二手烟暴露史:________(是/否,年限:________)
- 职业暴露史:石棉/氡气/重金属暴露(是/否,暴露时长:________)
2. 主诉与症状
- 核心症状:□咳嗽 □咯血 □胸痛 □呼吸困难 □声音嘶哑 □体重下降
- 症状持续时间:________;加重因素:________;缓解因素:________
3. 影像学检查(必填)
- 胸部CT:结节大小________cm、位置(左/右肺,叶/段)、密度(实性/磨玻璃/混合)、强化方式:________
- PET-CT:SUV最大值:________;是否提示纵隔淋巴结代谢增高:________
4. 病理与基因检测
- 活检方式:□支气管镜 □经皮肺穿刺 □胸腔镜
- 病理分型:□肺腺癌 □肺鳞癌 □小细胞肺癌 □其他:________
- 基因检测:EGFR________ ALK________ ROS1________ BRAF________(突变/融合/野生型)
5. 体能与既往史
- ECOG评分:□0(正常) □1(轻度症状) □2(中度症状) □3-4(重度症状)
- 既往史:COPD/肺结核(是/否);肿瘤家族史(肺癌/其他肿瘤,亲属关系:________)
示例2:肺癌分期+治疗方案推荐
输入:
【需求】基于以下信息评估肺癌分期并推荐治疗方案
患者信息:
- 病理类型:肺腺癌
- 分期相关:T2a(肿瘤4cm)、N0(无淋巴结转移)、M0(无远处转移)
- 基因状态:EGFR 19外显子缺失突变
- ECOG评分:1分(轻度咳嗽,不影响日常活动)
- 年龄:58岁,无基础疾病
AI输出:
### 【肺癌分期评估】
- 最终分期:NSCLC IB期(I期)
- 分期依据:T2a(肿瘤4cm)、N0(无区域淋巴结转移)、M0(无远处转移),符合AJCC第8版NSCLC I期判定标准
- 证据等级:1类(高证据)
### 【治疗方案推荐】
1. 核心方案(指南依据:NCCN肺癌指南2024版)
- 手术治疗:胸腔镜下肺叶切除术+系统性淋巴结清扫(优先推荐)
- 术后辅助治疗:因存在高危因素(肿瘤>3cm),予奥希替尼(80mg qd)辅助治疗,持续3年
2. 疗效与随访
- 术后4-6周复查胸部CT,评估手术切缘及淋巴结情况
- 随访周期:第1-2年每6个月1次(胸部CT+CEA),第3-5年每年1次
3. 注意事项
- 每3个月监测EGFR耐药突变(如T790M),出现突变及时调整方案
- 戒烟+避免职业暴露,降低复发风险
四、技能定制优化建议
- 本地化适配 :修改
SKILL.md中的「指南依据」为国内指南(如CSCO肺癌指南2024),补充医保可及的药物(如国产阿美替尼、埃克替尼); - 数据对接 :若需对接医院HIS/LIS系统,在
utils.py中添加接口函数,自动读取患者检查数据; - 风险预警:新增「不良事件管理」模块,补充免疫治疗相关毒性(如免疫性肺炎)的处理流程;
- 多语言支持 :在
SKILL.md中添加英文模板,适配国际诊疗场景。
五、注意事项
- 该技能输出仅为临床辅助决策,最终诊疗方案需由肿瘤科医师/MDT团队确认;
- 基因检测、影像学等核心数据需确保准确性,避免分期/方案推荐错误;
- 定期更新
SKILL.md中的指南版本(如NCCN/CSCO每年更新),保证方案时效性; - 涉及患者隐私数据时,需遵循《医疗数据安全指南》,禁止明文存储/传输敏感信息。