MedCortex:告别逐个试变量

MedCortex:告别逐个试变量,一个 Agent 团队如何把下一个课题筛出来?

一篇 SCI 交出去,课题组接着就会问同一句话:下一个课题做什么?

难的其实不是数据。数据就在硬盘里躺着------年龄、性别、种族、婚姻、城乡收入、分期、淋巴结、治疗方式、标志物......变量一个都不少,可谁都没系统看过一遍。难的是挑出真正有信号的那几个。逐个变量试,就是一场看不到尽头的拉锯:翻文献找灵感,挑几个变量先跑一版,不对再换方向,每换一次前面那点功夫就白费。

MedCortex 给的解法是换个做法:不一个一个试,而是一支 Agent 团队按变量族群分工,把同一份数据并行筛一遍。

▲ 协作团队面板:survival-screen 团队 5 名成员,demo 正在工作、其余等待任务;右侧通讯区里 treatment 已把单因素 Cox 筛查结果写成 CSV 汇报回来

看右上角那片通讯区:treatment 这一路已经交卷,汇报里写着 n=54,618、剔除 39 例 surv_mo 缺失,结论按 CSS 与 OS 各给一份。队长 team-lead 居中,底下挂着 demo、tumor、nodes、treatment、markers 五名成员。

整套逻辑先摆在这儿,后面一段段对着看:

▲ 结局先定义 → 变量按族群拆给五名成员并行单因素筛查 → 汇总成 S1--S14 的分析流程 → 落到下一个能写的课题

💡 **一句话记住:**MedCortex 不是替你猜选题,而是让一支并行 Agent 团队把「哪个变量真的有信号」这件事跑出来,并且留下能逐条查的记录。


一、五个成员各领一个变量族群,而不是五个人抢同一件事

打开「团队」页签里的协作团队面板,团队名叫 survival-screen,旁边标着实验特性,成员 5。

▲ 研究对话里写明的分工:demo 人口学、tumor 肿瘤、nodes 淋巴结、treatment 治疗、markers 标志物;上方先定义了 status 的四种结局状态

分工写得很直白------demo 管人口学(age、sex、race、marital、income、rural_urban、year),tumor 管肿瘤(grade、stage、tstage、hist_broad、hist_code、tumor_size),nodes 管淋巴结(ln_exam、ln_pos、ln_neg、ln_scope),treatment 管治疗(surgery_any、surgery、chemo、radiation、ttt_days),markers 管标志物专项。原文交代得很清楚:按变量族群分候选变量,每个队友交回一份 results CSV。

分工之前还有一步:结局先定死。截图里把 status 的四种状态写得一清二楚------0 是存活,1 是肿瘤死亡(CSS 事件),2 是其他死亡,3 是死因未知;CSS 取 event = (status==1)、time = surv_mo,其余按删失处理;OS 取 event = (status %in% c(1,2,3))。这一层不锁,后面所有 HR 都没法互相比较。哨兵值与报告口径也一并交代:node counts ≥ 90 视为缺失,事件数不足 50 的类别按需要合并,报告 HR + 95%CI + P + events/N。

⚠️ **这一步不能跳:**结局口径不一致,两组 HR 就没法放在同一张表里比;变量分族并行,也是为了不让一个成员卡住全队。


二、团队建好就一次派出,五个族群同时开跑

▲ 团队阶段显示「组建团队」,下方是共享任务列表的图例;右侧对话写着「团队已建立。现在一次性派出 5 名成员并行跑各自的变量族群分析」

动作很直接:先用 TeamCreate 建团队和任务列表,再用 Agent 工具按 team_name 和 name 派出子代理,任务用 TaskUpdate 派下去。它自己写下的计划是「I'll make them parallel (one message, 5 Agent tool calls)」,回复里也点明------团队已建立,现在一次性派出 5 名成员并行跑各自的变量族群分析。调用参数写在画面里:description 三到五个词、subagent_type="general-purpose"、team_name="survival-screen",各自独立上下文。

它真在跑的那行 R 代码,画面里能完整读到的这一句是(代码块右侧被界面截断,只抄完整可见的部分):

复制代码
base <- base[!is.na(base$surv_mo), ]

共享任务列表的图例也值得看一眼:依赖未满足、依赖已满足(流向下游)、成员正在执行该任务、刚解锁、飞行中的消息与认领。任务之间的先后依赖,界面上直接标出来。


三、点开任意一名成员,它到底在干什么看得见

并行怕的就是黑箱------跑起来了,但你不知道它在磨什么。MedCortex 把每个成员的执行过程单独摊开给你看。

▲ 点开 demo 成员:general-purpose 独立上下文,执行面板写着每 2 秒更新一次执行记录,Bash 工具调用逐条标出完成状态

这是 demo 那一路的执行详情。成员类型写着 general-purpose、独立上下文;状态区显示"工作中""已完成 0""收发 0";顶部提示"实时连接已建立 · 处理中"。执行面板写着"每 2 秒更新执行记录",下面的工具调用一条条列出来,Bash 调用标着"完成"。它自己写下的排查过程也留在里面:数值型变量没问题,段错误很可能来自对字符型变量调用 table(),所以要逐个检查字符变量------这类判断不用猜,点开就在那儿。

💡 **教学划重点:**并行不等于失控。每一路成员上下文独立、工具调用留痕,真出问题能定位到具体是哪一族变量。


四、筛查完不是到头了,而是接上一份能跑的分析流程

变量筛出来了,接下来才是重头:怎么把它变成一个能写的课题。MedCortex 里这一步有专门的分析流程面板。

▲ 分析流程设计面板:五段分组的 S1--S14,从队列构建、变量处理、主分析一路排到稳健性检验,每个节点都标了对应产出的 Table 或 Figure

这张流程图分五段,读起来像一份写给审稿人的分析计划:

分段 做了什么 产出
① 数据来源与队列构建 SEER 17 注册库,横结肠腺癌 C18.4,2000--2022 年 54,657 例;S1 取 2010--2022 年 AJCC I--III 期、术式 30/40、腺癌、单原发;再排除无手术、生存 0 月、死因未知 主分析队列 n 标注为"以实跑为准"
② 变量处理与描述 S2 派生 CEA 升高 vs 正常(临界值与未记录单列)、术式 30 vs 40;协变量含年龄、性别、种族、婚姻、城乡收入、年份、分期、T-N、组织学分级;S3 查缺失率与 VIF S4 基线特征表 → Table 1
③ 主分析 S5 CIF 曲线 + Gray 检验;S6 Fine-Gray 交互模型;S7 cause-specific Cox 与 Cox 对照;S8 RERI / AP / SI 可加交互;S9 E-value 未测量混杂 Figure 2、Table 2 主检验与对照、Figure 4A、Table 2/3
④ 衍生分析 S10 术式 30/40 层内 CEA 的 sHR 与 E-value;S11 分期、PNI、TD、LNE、年龄各层 sHR 与 P for interaction;S12 交互与亚组森林图(三点 + 95%CI,参照线 1) Table 3、Figure 3
⑤ 稳健性检验与产出 S13 稳健性 8 条:CEA 三分类、术式 41/50、调整 LNE、调整化疗、2010--2019、多重插补、IPTW、风险尺度 RERI;S14 产出 正文 Table 1--4、Figure 1--4;补充 Table S1--S8、Figure S1

图里的 S 号能对着查,工具条上还能导出 SVG、TIFF、PNG。


五、跑完之后留痕:哪一步改过、哪一步没做,都写着

流程图画得好看不算本事,能被追问"这一步为什么这么定"才算。

▲ 执行追溯页:方案执行情况 14/14 步已完成,取值体检标出 1 项核验未通过,下方逐条记录中途调整的理由

执行追溯页有三处值得看。

一是执行状态 :方案执行情况 14 / 14 步已完成,S1 到 S14 每一步对应的函数都列着,从 fread、mutate/case_when 到 crr、coxph、interactionR、evalues.HR、mice 与 weightit。

二是体检结论:页面上写着"1 项核验未通过","6 个失败步骤已重试成功(保留失败记录备查)",取值体检作为提醒挂在上面,交付前点开就能看明细。

三是中途调整。这一段的分量在于,它把"没做什么"也写下来了。S13-a 多重插补标注为未执行,理由就在旁边:CEA 未记录占 38.7%,插补会人为缩小置信区间、损害结论准确性,于是按 2026-10-21 的决定不跑,并在 results/sensitivity_imputation.csv 与补充材料 README 中如实记录。S7 那条也写了比例风险假定不成立时怎么补,复核后 CEA HR 1.55(1.29--1.87)、术式 0.99、交互 0.96。

⚠️ 投稿前会被追问的那句:"这个变量为什么没做多重插补?"------追溯页里已经有答案,而且是带着数据与理由的答案。


六、方向还得跟文献对:Scout 把检索与资料归档放在同一个工作台

数据里的信号解决了"哪个变量值得写",方法能不能站住还得回文献里找证据。这部分 MedCortex 放在 Scout 上。

▲ 文献检索页内嵌 PubMed:检索式 ("global burden of disease"tiab OR GBDtiab) 命中 256 results,并按 2026/09/21--2026/10/21 过滤;页面角标写着 Scout · 阅读页面

检索式直接写进 PubMed 搜索框,左侧还能按发表年份、日期区间、文本可得性筛。结果页顶部标着 256 results,条目带 PMID(42901467、42900799、42900011),按 Most recent 排序。右上角那个"Scout · 阅读页面"的角标,说明这页就是工作台里的 Scout 打开的。

这一段演示的是 GBD 主题的检索,跟前面横结肠癌那份数据是两个案例,说的是检索这件事本身怎么做------不用跳去浏览器再抄回来。

▲ 知识库页签说明写着「知识Scout 上网查资料,整理后存进知识库」;示例页是 CRAN 上的 TTE 包页面,右侧资料对话直接给出推荐条目

知识库这一侧也写清了职责:知识Scout 上网查资料,整理后存进知识库。画面里打开的是 CRAN 上的 TTE 包页面------TTE: Design and Analysis Tools for Target Trial Emulation,版本 1.1.2,2026-08-28 发布,作者 Hisashi Noma,GPL-3 许可。右侧"资料对话"栏里同时列着推荐条目,抓到什么、推荐什么,都在同一屏。

把数据侧和文献侧放在一起看,整个逻辑就清楚了:

▲ 数据侧挖信号、文献侧找套路,两条路在同一个工作台里汇合到 S1--S14 的分析流程图


七、把整套动作复述一遍

回到开头那个问题------下一个课题做什么。MedCortex 给出的路径是这样的:

  1. 结局口径先锁死:status 四态怎么分,CSS 与 OS 各自怎么算;
  2. 变量按族群拆开,五名成员并行跑单因素 Cox 与 log-rank;
  3. 每一族交回一份结果 CSV,HR、95%CI、P、events/N 都在里面;
  4. 把变量写进 S1--S14 的分析流程,落到具体 Table 与 Figure;
  5. 跑完在执行追溯页核对,核验没过与按决定没做的步骤都有据可查;
  6. 方法层面用 Scout 回文献与资料里找对照与套路。

🚀 想在自己数据上试一遍这套筛查?

打开 MedCortex,在「团队」页签里组建一个变量族筛查团队,把结局编码和候选变量交给它,跑完先看通讯区里的汇报,再把结果接进分析流程面板。

视频里没有出现下载方式、试用与价格,这部分请以官网与产品说明为准。

相关推荐
yh弓长1 小时前
机器学习的四种范式
人工智能
QC777LX1 小时前
金融企业选证书:专业资格是门槛,AI认证是补充
人工智能
niucloud-admin1 小时前
NIUCLOUD PHP SAAS上门家政使用文档
前端·人工智能·ai编程
fengyangaiGEO1 小时前
如何通过GEO优化实现外贸B2B询盘增长?
人工智能·python
Kari111 小时前
Dify+ChatBI:自然语言数据分析的落地实践
人工智能·1024程序员节
xcLeigh1 小时前
GitHub Copilot Workspace:从 Issue 到 PR 的 AI 全流程开发体验
人工智能·ai·github·copilot·issue·isuse
挖掘狂人1 小时前
别再手动催 AI 干活了:一文读懂 Loop Engineering(循环工程)
人工智能·程序员·ai编程
Interview Aid1121 小时前
McKinsey OA 真题解析:数组优化与机器学习分类
人工智能·机器学习·分类
数据皮皮侠1 小时前
全国休闲农业与乡村旅游示范县政策DID(2010-2025)
大数据·人工智能·搜索引擎·数据挖掘·智慧城市·制造