乐于分享
好东西不私藏

AI病理文摘|Nature Cancer:不完美的病理AI模型,如何在临床流程中发挥大作用?Hetairos用H&E辅助脑肿瘤甲基化分型

AI病理文摘|Nature Cancer:不完美的病理AI模型,如何在临床流程中发挥大作用?Hetairos用H&E辅助脑肿瘤甲基化分型

推 文 概 览

这篇Nature Cancer文章介绍了一个名为Hetairos的病理AI模型。它的目标很有临床挑战性:仅基于常规H&E全切片图像,预测102个中枢神经系统肿瘤的甲基化分型亚型。

这篇文章最值得关注的地方,并不只是模型在某些指标上取得了多高的准确率,而是它把一个本来很难直接临床落地的长尾多分类模型,放进了神经病理诊断的真实流程中去讨论:

什么时候可以相信它,什么时候不能相信它;

它是替代甲基化检测,还是帮助决定后续检测;

它能不能缩短诊断等待时间;

在组织量不足、甲基化结果不明确时,它是否能提供额外信息。

这篇文章的核心不是AI能不能直接诊断102种脑肿瘤,而是一个有局限性的AI分类模型,如何通过合理的置信度设计和工作流嵌入,在临床中发挥真实价值。

正文精彩继续

一、最值得关注的地方:如何使用不完美的模型

这项研究面对的任务,本身就很难。

中枢神经系统肿瘤现在已经高度依赖分子病理诊断,尤其是DNA甲基化谱。很多亚型单靠形态学并不好分,有些诊断如果没有分子检测,几乎很难真正下结论。

而Hetairos想做的,是用一张普通H&E切片,直接预测102个甲基化定义的肿瘤亚型。

这对AI模型,尤其是弱监督MIL模型来说,并不是一个友好的任务。因为它不是几个常见类别之间的分类,而是一个非常典型的长尾多分类问题:常见类型样本很多,罕见类型样本很少;有些亚型可能只有十几例,甚至更少。模型既要在全切片层面做弱监督学习,又要在102个类别之间做精细区分,这个难度可想而知。

从方法上看,作者并没有给这个长尾问题提出一个特别新的算法解法。整体路线还是我们比较熟悉的MIL流程:切图,提取patch特征,再用MIL聚合,最后输出slide-level分类结果。

真正有意思的是,作者没有把Hetairos定位成一个直接的诊断分类模型。他们很清楚这个模型有边界,所以围绕“高置信度”和“低置信度”设计了一套更现实的使用方式。

高置信度结果,可以帮助医生快速获得一个诊断方向。

低置信度结果,并不是简单地视为模型失败,而是可以提示这个病例本身更复杂,可能需要优先进入分子检测,或者进一步做IHC、FISH、测序等验证。即使top-1不可靠,top-3仍然可能有临床价值,因为它能把102个潜在亚型压缩到少数几个最可能的鉴别诊断方向。

这其实是病理AI临床转化里非常重要的一点:模型不一定要在所有病例上都给出确定答案。一个模型如果知道自己什么时候不确定,而且这种“不确定”可以被临床流程吸收,那么它反而更接近真实临床。

二、研究背景与临床问题定义

神经病理诊断有一个很特殊的地方:它已经不再是单纯靠形态学分类的时代了。

很多中枢神经系统肿瘤的精确分类,都需要结合甲基化分型、基因突变、融合检测等分子信息。尤其是甲基化分型,它的诊断粒度很高,覆盖的亚型也很广,而且和预后分层密切相关。

但甲基化检测也有现实问题。它需要平台和设备,成本不低,检测周期也比较长;同时,它对组织量有要求。对于一些立体定向穿刺样本,组织本来就很少,可能根本不够做完整分子检测。文章中提到,甲基化检测通常需要约两周时间;相比之下,H&E切片几乎是所有病理流程中最早能拿到、也最容易获得的材料。

所以,这篇文章定义的临床问题很清楚:能不能在分子检测之前,先用常规H&E切片快速获得一个接近甲基化分型粒度的初步判断?

这个问题不是在说“AI要替代甲基化”。更合理的理解是:AI能不能在H&E阶段先给医生一个分型线索,帮助医生缩小诊断范围、选择后续检测路径,并且在部分分子检测受限的病例中,提供一些额外证据。

这个定位没有把AI放到一个过高的位置上,而是把AI放进了诊断链条中一个更可能落地的环节。

三、研究设计与方法学拆解

这项研究能支撑临床转化讨论,一个很重要的原因是队列规模和验证设计做得比较扎实。

作者首先用海德堡大学医院的UKHD队列建模,一共包括4,961名患者、6,115张H&E全切片。所有病例都有分子数据标注,并且满足或超过2021版WHO中枢神经系统肿瘤分类的要求。

随后,他们又把模型放到来自四大洲、11个中心的数据中验证,整体规模超过9,600名患者、11,000余张切片。

类别设计也很关键。作者并没有直接使用完整的184个甲基化类别,而是在神经病理专家参与下,把这些类别整合成102个具有诊断意义的亚型,以及34个superfamily。

这个处理其实很重要。类别如果太细,很多极罕见或者临床意义还不够稳定的类别,几乎没法训练;但如果类别太粗,又失去了甲基化分型真正有价值的精细粒度。所以102类这个设定,本质上是在临床可用和机器学习可训练之间做了一个折中。

使用的病理AI方法本身并不复杂。WSI先被切成256×256像素的小块,对应大约128×128μm;然后用Prov-GigaPath基础模型提取每个tile的1536维特征;接着用改造后的TransMIL把这些tile特征聚合成slide-level embedding;最后再融合年龄和解剖部位信息,通过MLP输出102个亚型的预测概率。

模型还可以生成prediction map,标出哪些组织区域对某个诊断最有贡献。这部分对于临床使用很重要,因为医生不能只看到一个模型结论,还需要知道模型到底在切片哪里找到了依据。

所以,这篇文章的方法学重点,并不在于提出了一个全新的模型结构。它更像是把当前病理AI里相对成熟的一套技术模块,放到了一个临床问题定义清楚、数据规模足够大、验证层次比较完整的任务上。

这也是临床顶刊研究和纯方法学论文的区别。临床转化研究不一定要在模型结构上最新颖,但它必须在问题定义、队列质量、验证设计和工作流意义上站得住。

四、结果与验证表现

先看内部验证。

在内部验证集中,Hetairos的top-1准确率是75.0%,top-3准确率是87.4%。如果只看置信度大于0.5的高置信度病例,它覆盖了大约70%的样本,top-1准确率达到约0.88,top-3准确率约0.95。到了低置信度病例,top-1准确率降到0.46,但top-3仍然有0.71。

这个结果怎么理解?

对于102分类任务来说,低置信度病例top-1不准,并不意外。真正有价值的是,即使模型不能给出一个特别确定的第一答案,它的前三个候选诊断仍然能比较多地覆盖真实诊断。也就是说,它不一定总能直接给答案,但可以帮助医生把诊断范围大幅缩小。

对预测错误的样本的分析也很有启发。

高置信度错误里,大约一半仍然发生在同一个superfamily内,superfamily层面的准确率可以达到0.94。这说明模型很多错误并不是完全离谱的跨谱系错误,而是发生在形态学和分子分类本来就很接近的实体之间。

相比之下,低置信度病例更容易出现跨superfamily错误,而且模型也更容易偏向训练集中更常见的类别。

这就把长尾问题暴露得很清楚了。所有平均置信度低于0.25的12个亚型,在训练集中样本数都少于20例。作者也尝试了过采样和颜色空间增强,但对这些低样本类别的改善有限。

所以问题不只是数据增强不够,而是罕见类别本身缺少足够的可学习样本。对于这种任务,常规MIL可以建立一个可用模型,但很难真正解决长尾分类问题

再看外部验证。

在外部验证队列中,模型整体top-1准确率下降到约0.68,top-3为0.84。这个下降并不让人意外,因为外部队列一定会带来扫描、制片、病例构成和中心差异。

但更值得注意的是,模型没有在外部数据上继续盲目给出高置信度预测。它的低置信度比例从内部验证的30%上升到45%。也就是说,模型似乎能意识到“这些数据和训练数据不太一样”。

在外部高置信度样本中,top-1准确率仍然约0.87,superfamily层面达到0.96;低置信度样本top-1为0.45,top-3为0.71,和内部低置信度样本比较接近。

这点很重要。就这个结果而言Hetairos的外部验证性能是有明显下降的,但是它的置信度还能比较合理地反映不确定性。对于临床系统来说,这比单纯追求一个总体准确率更关键。

作者还做了一个H&E-only的人机对照实验。5名board-certified神经病理医生,在只看H&E的情况下,从102个甲基化亚型中选择top-3诊断。Hetairos的top-1准确率是0.68,而人类平均是0.30;top-3准确率 Hetairos是0.84,人类平均是0.50。

这个结果看起来很强,但不能简单理解成“AI已经超过神经病理医生”。因为真实诊断中,医生不会只看一张H&E,然后从102个甲基化标签里闭卷选择一个答案。医生会结合形态、IHC、影像、临床信息和分子检测,逐步缩小诊断范围。

所以这个实验更适合说明:H&E图像里确实存在一些和甲基化亚型相关的形态信号,而且AI能够捕捉到这些信号。它不适合被过度解读为AI全面超过医生。

文章更接近真实临床价值的部分,是对诊断困境病例的分析。

对于甲基化结果低置信度的50个样本,Hetairos正确预测了27例。对于因为组织量不足而无法进行甲基化分析的96个样本,Hetairos正确预测了76例,尤其在高置信度低材料样本中表现很好。

这些场景其实更有转化意义,因为它们对应的是临床中真正会让医生“卡住”的病例。

最重要的还是前瞻性评估

作者在2024年8月至2025年6月期间,把Hetairos放进UKHD的常规诊断环境中前瞻性运行,共评估210例需要分子检测的病例。模型结果没有提供给病理医生,也没有影响最终诊断或治疗决策。

结果显示,在获得扫描H&E之后,Hetairos平均12分钟就可以生成报告。

在高置信度病例中,top-1预测与最终整合诊断的一致率为90.2%,也就是120/133。

在低甲基化评分病例中,如果Hetairos的高置信度预测和甲基化结果一致,准确率达到88.9%;如果两者不一致,准确率就明显下降。

这部分结果很有价值,但仍然有很大的局限性。

它是前瞻性运行,不是前瞻性干预试验。也就是说,Hetairos并没有真正参与诊断决策,也没有证明它能够改变治疗选择或患者结局。目前更准确的说法是:它展示了被嵌入临床流程的可行性,但还没有完成真正意义上的临床效用验证。

最后,作者还用MNP 2.0试验中的353例带有生存数据的样本,分析Hetairos的分型是否有预后分层意义。

对于髓母细胞瘤,Hetairos预测的四个WHO亚型能够区分总体生存,而且结果符合已知生物学规律。室管膜瘤和高级别胶质瘤也显示出类似趋势,但统计支持相对有限,尤其高级别胶质瘤部分并不显著。多变量分析提示Hetairos比单纯临床基线具有更强的预后信息。

五、讨论与总结:不完美的模型,如何被正确使用?

这篇文章最值得拿出来讨论的地方,其实不是Hetairos的某一个性能指标,而是它给病理AI研究提出了一个很现实的问题:当我们面对一个天然困难、长尾明显、类别很多的任务时,模型不可能完美,那接下来应该怎么办?

很多病理AI研究容易陷入一种思路:只要模型还不够准,就继续换结构、换backbone、换训练策略,试图把性能再往上推一点。这些探索当然重要,但在一些研究里,它可能不是唯一的方向。

中枢神经系统肿瘤甲基化分型就是这样的任务。102个亚型,很多类别样本很少,且不同亚型之间既有形态相似性,也有分子分类上的细微差别。对于这类长尾多分类问题,即使用上最先进的基础模型和弱监督学习技术,也很难期待模型在所有类别上都达到同样可靠的水平。换句话说,模型的不完美不是偶然,而是任务本身决定的。

所以,真正关键的问题就变成了:如果模型一定会有不确定性,能不能让这种不确定性变得可识别、可解释、可管理?

Hetairos的处理方式给了一个不错的思路。它没有强行要求模型对每一个病例都给出同等确定的答案,而是把预测结果拆成不同使用层级。高置信度结果,可以作为较强的诊断线索;低置信度结果,则提醒医生不要过度依赖AI,需要回到常规病理和分子检测流程中进一步确认。这样一来,AI模型就不再是一个“必须答对所有题”的考试选手,而更像是一个知道自己哪里比较有把握、哪里需要谨慎的辅助工具。

临床诊断本来就不是简单的单选题,尤其不是102选1的单选题。病理医生面对疑难病例时,往往也是先形成几个可能的鉴别诊断,再通过IHC、分子检测、影像和临床信息逐步排除。AI如果能把一个复杂问题从“102个可能”缩小到“几个最值得考虑的方向”,它即使没有直接给出最终答案,也已经有价值。

从研究设计角度看,这篇文章也提醒我们:长尾问题不能只靠模型结构解决。数据仍然是核心瓶颈。对于极罕见类别,过采样、颜色增强、常规数据增强能带来的帮助有限。如果某些类别本身只有很少样本,模型很难学到稳定规律。除了跨中心持续积累稀有类型病例外,零/少样本学习技术有望在这一领域发挥更大的作用。

模型的“不知道”不是缺点,而可能是临床AI必须具备的能力。一个危险的AI模型,不一定是平均性能低的模型,而是明明不确定,却给出非常自信结论的模型。相反,一个模型如果能在困难病例、域外病例、罕见类别上主动降低置信度,它反而更容易被合理使用。

因此,即使在Nature Cancer发表的这样高水平的研究中,模型仍然会受到长尾类别、中心差异、组织处理差异和任务复杂度的限制。真正成熟的做法,不是回避这些限制,而是把限制纳入模型设计和使用流程中。

对于未来的病理AI系统来说,可能需要从“追求一个完美分类器”转向“构建一个可管理的不确定性系统”。这关系到病理AI在临床中的准确定位。AI不一定非要站在最终诊断的位置上。很多时候,它更适合做分流、提示、排序、缩小鉴别诊断和辅助取材。把一个模型放在它能承担的位置上,比单纯追求模型“看起来更强”更重要。

所以,我觉得这篇文章最有价值的地方,是它展示了一种务实的路径:承认模型不完美,然后通过置信度、候选诊断、分层分类和工作流设计,让它在合适的地方发挥作用。

有些模型之所以无法落地,并不是因为它完全没有价值,而是因为我们一开始就给了它一个不适合的位置。对于长尾、复杂、强依赖整合诊断的病理任务来说,AI未必需要成为最终裁判。它先成为一个可靠的助手、一个谨慎的分流器、一个能缩小诊断范围的工具,可能已经足够重要。

· 往期推荐

AI病理文摘|Cancer Cell: 从静态病理组学特征到动态空间表型,PathPrism新在哪里?

AI病理文摘|MMAI再登Annals of Oncology:看一个病理AI模型的顶刊进化史

AI病理文摘|Nature Communications:病理VLM不只会看图,如何巧用文本提示增强MIL训练?

AI病理文摘|Annals of Oncology:H&E切片如何低成本预测乳腺癌新辅助疗效?

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-17 15:39:50 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/763941.html
  2. 运行时间 : 0.136309s [ 吞吐率:7.34req/s ] 内存消耗:4,786.80kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1d959505f632050c232384463124394e
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000495s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000724s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000315s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000255s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000552s ]
  6. SELECT * FROM `set` [ RunTime:0.000204s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000507s ]
  8. SELECT * FROM `article` WHERE `id` = 763941 LIMIT 1 [ RunTime:0.000588s ]
  9. UPDATE `article` SET `lasttime` = 1781681990 WHERE `id` = 763941 [ RunTime:0.015513s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000409s ]
  11. SELECT * FROM `article` WHERE `id` < 763941 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001027s ]
  12. SELECT * FROM `article` WHERE `id` > 763941 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000385s ]
  13. SELECT * FROM `article` WHERE `id` < 763941 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001521s ]
  14. SELECT * FROM `article` WHERE `id` < 763941 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000774s ]
  15. SELECT * FROM `article` WHERE `id` < 763941 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.006365s ]
0.137927s