😽

AIエージェントによる疾患類推の実装:結果は意外なことに

に公開

マイクロソフトのAIチームが「Sequential Diagnosis with Language Models」という論文を出しました。

こちらの論文では、
304件の臨床症例を用いて、AIが反復的に診断を進めるベンチマークを構築。

ランダムに検査・質問を行う方法や単純最適化を行う方法に比べて、AIが段階的に進める診断アプローチは、より高い正答率を達成し、検査費用の削減にも効果的であることを示しました。

論文の内容をスライドにまとめたものは以下のURLです。

https://speakerdeck.com/seiyakitazume/sequential-diagnosis-ainiyoruzhu-ci-zhen-duan

こちらの論文について検証を行いました!

まずはケースをGPT5に作ってもらいました。

主訴 正解の診断 症例詳細
58歳の男性が数週間にわたる労作時の息切れと体重減少を訴えて受診した。夜間の咳と寝汗も伴っている。 肺腺癌 数週間にわたり労作時に息切れを自覚し、体重減少を伴っていた。夜間には咳と寝汗が出現していた。身体診察では呼吸音に左右差があり、微細なラ音を聴取した。血液検査では軽度の貧血と炎症反応上昇を認めた。胸部X線で右肺野に不均一な陰影を認め、胸部CTで右上葉に結節影と縦隔リンパ節腫大を確認した。経過中に咳嗽と呼吸困難が進行し、食欲もさらに低下した。

こういったケースを医師AIが診察を重ねていき、正しく診断できるのかを試しました。
そして、GPT5と5人の仮想医師エージェントではどちらが精度がよくなるかを実験結果にまとめました。

医師AIが患者AIに質問を重ねていく様子は、例えば以下のような形です。

=== ケース ===
主訴: 58歳の男性が数週間にわたる労作時の息切れと体重減少を訴えて受診した。夜間の咳と寝汗も伴っている。
正解: 肺腺癌
エージェント: baseline

ターン 1:
行動: question
内容: ['いつ頃から息切れや咳が始まり、体重はどの程度減少しましたか? また、発熱や胸痛、喫煙歴、職業歴、既往歴(特に結核やがん、慢性肺疾患)について教えてください。']
応答: 息切れや咳は数週間前から始まりました。体重は数週間で約5kg減少しています。発熱は特に報告されていませんが、夜間に寝汗が出現しています。胸痛についての記載はありません。喫煙歴はあり、長年の喫煙者です。職業歴については特に記載がありません。既往歴として、結核やがん、慢性肺疾患の記載はありません。

ターン 2:
行動: question
内容: ['痰の有無とその性状(色や量)、血痰・喀血の有無、胸痛(特に呼吸時や姿勢で変化する痛み)の有無、食欲低下の有無、過去の職業でアスベストや粉塵への曝露がなかったかについて教えてください。']
応答: 痰の性状については、患者は痰を伴う咳を訴えており、痰の色は特に記載されていませんが、血痰や喀血の報告はありません。胸痛については、特に呼吸時や姿勢で変化する痛みの記載はありません。食欲低下は報告されています。過去の職業でアスベストや粉塵への曝露についての記載はありません。

ターン 3:
行動: test
内容: ['胸部X線']
応答: 胸部X線検査の結果、右肺野に不均一な陰影が認められました。

ターン 4:
行動: question
内容: ['結核患者との接触歴、最近の海外渡航歴(特に結核流行地域や真菌感染が多い地域への渡航)、HIV検査歴や免疫抑制状態(糖尿病、ステロイド使用、がん治療など)の有無を教えてください。']
応答: 結核患者との接触歴や最近の海外渡航歴は記録されていません。HIV検査歴についての情報はありません。免疫抑制状態に関しては、糖尿病やステロイド使用の記録はありませんが、がん治療の記録があります。

ターン 5:
行動: question
内容: ['過去に受けたがん治療について詳しく教えてください。具体的には、どの部位のがんで、いつ診断され、どのような治療(手術・化学療法・放射線療法など)をいつまで受けたか、現在も治療中か、寛解中かを教えてください。']
応答: 申し訳ありませんが、患者の過去のがん治療に関する具体的な情報はこのケースファイルには含まれていません。

ターン 6:
行動: test
内容: ['胸部CT(造影)']
応答: 胸部CT(造影)の結果は以下の通りです。

  • 右上葉に結節影を認めます。
  • 縦隔リンパ節の腫大が確認されます。
  • 右肺野に不均一な陰影が見られます。

これらの所見が確認されました。

【実験レポート】Sequential Diagnosis with Language Models を検証してみた


実験の方法

  • ケース生成: 生成AIに依頼し、10例の臨床症例(年齢、主訴、臨床経過、正解診断)を作成
  • 比較方式:
    • Baseline: 単一AIが逐次的に質問・検査を行い、診断を出す
    • MAI-DxO: 5人の仮想医師が役割分担し、議論を通じて診断に到達する
  • 評価指標:
    • 診断スコア(0〜5点)
    • ターン数(質問・検査を含むやりとりの回数)

実験結果

平均値の比較

  • 診断スコア

    • Baseline: 4.98
    • MAI-DxO: 4.44
      → MAI-DxO の方が全体的にスコアが低下
  • ターン数

    • Baseline: 6.5
    • MAI-DxO: 6.3
      → 大きな差はなく、効率面ではほぼ同等

代表的なケース

  • 正しく診断に到達

    • 58歳男性:労作時呼吸困難と体重減少 → 肺腺癌(Baseline・MAI-DxOともに正答)
    • 72歳女性:突然の胸部圧迫感 → 急性心筋梗塞(両方式ともに正答)
  • MAI-DxO が失敗した例

    • 65歳女性:歩行時ふらつき → 亜急性連合性脊髄変性症
      • Baseline: 正確に表現
      • MAI-DxO: 「ビタミンB12欠乏による後索障害」と粒度の粗い診断
    • 74歳男性:易疲労感と顔色不良 → 鉄欠乏性貧血
      • Baseline: 正答
      • MAI-DxO: 再生不良性貧血と誤診し、ターン数も増大

分析と課題

  1. 診断ラベルの揺れ

    • Baseline は正答と一致しやすい一方、MAI-DxO は診断名が広すぎたり狭すぎたりして減点される
  2. 診断への踏み切りが遅い

    • 決定的所見が揃っても追加の質問を続け、ターンを浪費
  3. 難症例での失敗集中

    • 胃癌、成人スティル病、サルコイドーシスなどでターン上限に到達し、診断不能になるケースが多い
  4. 形式的な硬直性

    • 5人分の発言を毎回生成させるため、実質的に新情報がなくても議論が続いてしまう

今後の改善ポイント

  • 診断ラベルの基準を明確化
    → 「必要な限定は含めるが、過剰に狭めない」ルールを設ける
  • 早期終了ルール
    → 決定打が出揃ったら即診断へ進む仕組み
  • 出力制約の追加
    → 質問は1ターン5件まで、検査は3件まで、重複禁止など
  • 役割出力の柔軟化
    → 実質的に有用な意見だけ残し、形式的な発言を削減

まとめ

今回の検証では、MAI-DxO は診断精度において Baseline を上回ることはできませんでした。むしろラベルの揺れや診断の遅延、難症例での失敗が平均スコアを下げる結果となりました。

ただし、MAI-DxO は「複数の仮想医師が議論する」というユニークなアプローチであり、設計を洗練すれば「効率的かつ精度の高い診断支援AI」になる可能性があります。今後は 診断ラベルの扱い方議論の効率化 を改善し、実臨床に近い条件で再評価する必要があります。


株式会社piponのテックブログ

Discussion