9月17日、Amazon Web Services(AWS)が「Improving HCLS AI reasoning with open-source agent skills」と題した記事を公開した。この記事では、医療・ライフサイエンス(HCLS)領域のAIエージェントの推論精度を高める38種のオープンソース「エージェントスキル」を公開し、その導入方法と効果を紹介している。
問題の核心:AIは「知っているが、正しく使えない」
ACMG/AMP基準でTP53のミスセンス変異を分類するよう指示すると、基盤モデル(FM)は正しいフレームワーク名を挙げながら、エビデンスカテゴリの適用を誤り、集団頻度の閾値を無視し、計算スコアをハルシネーションする。知識はあるが、手順が壊れている。
この「サイレントな失敗」は、変異解釈・保険請求審査・臨床試験設計・医療画像解析にまたがって発生する。出力が一見正しく見えるため見逃されやすく、規制上・患者安全上のリスクを伴う。
AWSが今回公開したhcls-agent-skillsリポジトリは、このギャップを埋めるための38種のエージェントスキル(11のHCLSドメインをカバー)を収録している。ライセンスはMIT-0。
スキルとは何か:RAGでもファインチューニングでもない
「エージェントスキル」は、構造化されたマークダウン文書(SKILL.md)である。YAMLフロントマターにトリガー・依存関係・メタデータを宣言し、本文に意思決定フレームワーク・パラメータ表・コードパターン・バリデーション基準を記述する。
RAGとの違いは明確だ。RAGはインデックス済みドキュメントから断片を取得して応答に付加するが、スキルは意思決定手順そのものをエンコードする。ファインチューニングとも異なり、モデルの重みは変更しない。推論時にユーザーのクエリのトリガーパターンに応じてコンテキストに注入される構造化プロンプトだ。
スキルには3つの特性がある:
- 監査可能性:全判断基準が人間が読めるマークダウンで記述される。モデルの重みに隠れていない。
- ポータビリティ:Amazon Bedrock AgentCore、AWS Strands Agents SDK、Kiro、Claude Code、OpenAI Codexなど20以上のサービスで動作し、サービスごとのカスタマイズ不要。
- メンテナンス容易性:医療ポリシーの年次改定や新しい実験基準は、モデルを再訓練せずテキストファイルの編集で反映できる。
スキルは2種類に分類される:
- Reasoningスキル:意思決定方法論をエンコード。例として
genomic-variant-interpretationスキルはACMG/AMP分類フレームワーク全体(エビデンスカテゴリ、集団頻度の閾値、計算予測スコアのカットオフ)を内包する。 - Pipelineスキル:ツール固有のコマンドと検証済みパラメータをエンコード。例として
variant-callingスキルはGATK4 HaplotypeCallerコマンド、VQSRトランシェ感度目標、Mutect2の腫瘍-正常設定を提供する。
評価結果:スキルありのエージェントが70〜86%の比較で勝利
スキルを装備したエージェントは、同一のエージェント(スキルなし)との一対一比較において、評価ハーネスの設定条件に応じて70〜86%の勝率を記録した。元記事では複数の評価ハーネス構成(タスクの種類・プロンプト構成・評価基準の厳格さ等)を用いており、この幅はその条件差を反映している。最も大きな効果が出たのは批判的思考の側面で、勝率78〜85%、効果量d=0.65〜1.03。
実際の使用例:2つのユースケースで見る効果
ユースケース1:希少線維症疾患の薬剤再利用候補評価(創薬)
IPF(特発性肺線維症)に対してTGFBR1(ALK5)を標的とする承認済み薬剤の再利用を調査するシナリオ。スキルなしのエージェントはTGFBR1阻害剤の文献リストを返すだけだった。スキルを装備すると:
- DGIdbクエリフレームワークを適用し、相互作用タイプ(阻害剤→モジュレーター→結合剤)とソースDB(ChEMBL、DrugBank)で優先順位付け
- 構造化されたエビデンス階層(直接標的関与 > 経路レベルのエビデンス > 表現型関連)で候補をランク付け
- TGFBR1阻害をIPFの主要な病理プロセス(線維芽細胞→筋線維芽細胞転換、EMT、細胞外マトリックス沈着)にマッピング
- T0→T1基準を用いて臨床トランスレータビリティを評価
ユースケース2:CMS-HCCリスク調整パイプラインの構築(医療請求業務)
12,000人のMedicare Advantage会員のRAFスコアをICD-10請求データから計算するパイプライン構築のシナリオ。CMS-HCC(Centers for Medicare & Medicaid Services Hierarchical Condition Category)モデルはMedicare Advantageにおけるリスク調整の根幹をなす仕組みで、ICD-10診断コードを病態カテゴリにマッピングし、患者の医療費リスクを係数(RAF: Risk Adjustment Factor)として算出する。スキルなしのエージェントは階層解決を省略し、旧V24係数を使い、スコアを過大計上するコードを生成した。スキルを装備すると:
- ICD-10→HCCクロスウォークを測定年内で正確にデデュプリケートするSQLを生成
- V28階層解決を正確に実装(HCC 18がHCC 19を上書き、HCC 326がHCC 327を上書き等)
- コミュニティ・施設・デュアルエリジブルの人口セグメンテーションを正確に適用
- 階層解決をスキップするとCMS RADV監査リスクが生じることを事前に説明
セットアップ方法
リポジトリをクローン後、用途に応じてインストール方法を選べる。
git clone https://github.com/awslabs/hcls-agent-skills.git
cd hcls-agent-skills
スキルのみインストールする場合:
npx skills add awslabs/hcls-agent-skills
AWS Strands Agents SDKで使う場合はPythonコードに直接ロードできる:
from strands import Agent
from strands.skills import AgentSkills
agent = Agent(
model=model_id,
skills=AgentSkills(skills="./skills/"),
)
Kiro向けにはインストールスクリプトがスキルと事前設定済みエージェントを両方インストールし、Kiro CLI上で /agent hcls に切り替えるだけで使える。
マルチエージェント構成:38スキルを1つのコンテキストに詰め込まない
全38スキルを単一エージェントに読み込むと約8万トークンを消費する。大規模コンテキストモデルでも動作はするが、無関係なスキルコンテンツが注意を奪い合う問題が生じる。
Kiro CLIのマルチエージェント構成はこれを解決する。軽量なコーディネーターエージェント(スキルなし)がクエリを8つのドメインスペシャリストに振り分け、各スペシャリストは関連スキルのみをロードする(スペシャリストあたり約1.5万トークン)。Strands SDKでも同様の構成が実装可能だ:
from strands import Agent
from strands.skills import AgentSkills
from strands.multiagent import MultiAgentOrchestrator
genomics_agent = Agent(
name="hcls-genomics",
model=model_id,
skills=AgentSkills(skills="./skills/genomics/"),
)
imaging_agent = Agent(
name="hcls-imaging",
model=model_id,
skills=AgentSkills(skills="./skills/imaging/"),
)
coordinator = MultiAgentOrchestrator(
agents=[genomics_agent, imaging_agent, ...],
model=model_id,
)
response = coordinator("Classify NM_000546.6:c.743G>A in TP53 using ACMG criteria")
本番環境への移行にはAmazon Bedrock AgentCoreを利用でき、マネージドホスティング・オートスケーリング・セキュリティ境界・オブザーバビリティが提供される。
詳細はImproving HCLS AI reasoning with open-source agent skillsを参照していただきたい。