コンテンツにスキップ

5 つのエージェント

あなたのウォッチリストフィルタを通過した各ニュース item は、5 つのエージェントに同時に渡されます。これらは並列実行され(現環境では item あたりエンドツーエンドで約 20–40 秒)、出力が集計されてダッシュボードに表示される最終シグナルになります。

エージェント アイコン 注目領域
SignalScope 🌐 プライマリニュース解析 — 何が起きたか、誰が関与したか、ティッカーレベルの事実。必要に応じて Tavily Web 検索でクロスリファレンス。
MacroMind 💰 マクロ経済フレーミング — 金利決定、CPI 発表、FX ショック、地政学的イベントと関連するか?関連性ゼロも正当な答え。
SectorScan 🏭 セクターとサプライチェーンの波及 — 他に誰が利益を得るか、損失を被るか?TSM → ASML → AMAT チェーン、上流と下流。
SentimentPulse 💬 リテールセンチメント — Reddit、StockTwits、YouTube。言及量の急増や価格とチャタリングの乖離を検出。
PolicyRadar ⚖ 規制と政策 — 輸出規制、制裁、当局の措置、中央銀行声明。

各エージェントの出力

5 つすべてが 同じ 構造化出力を生成します:

{
  "agent_id": "sectorscan",
  "signal_type": "routine_news",
  "urgency": "ALERT",
  "impact_score": 0.72,
  "confidence_score": 0.84,
  "tickers_linked": [
    {"ticker": "NVDA", "impact_score": 0.80, "link_type": "direct"},
    {"ticker": "TSM",  "impact_score": 0.60, "link_type": "sector"}
  ],
  "summary_en": "...",
  "summary_zh": "...",
  "reasoning": "..."
}

signal_type の語彙は意図的に狭くなっています(routine_news / earnings / policy_change / supply_chain / macro_event / ...)。エージェントのレーンがその item に関連しなくても、黙って bail するのではなく構造的に応答することを期待します——impact_score を低くしながら。これで集計計算がクリーンに保たれます。

集計

エンジンは 5 つの出力を以下のように結合します:

  • top_signalsignals に永続化される単一の行。最も高インパクトのエージェントの要約を見出しとして持ち、成功したすべてのエージェントにまたがる加重平均インパクトを持ちます。reasoning はすべてのエージェントの reasoning の連結です(ダッシュボードカードが折りたたみブロック内で各エージェントの視点を表示できるように)。
  • tickers_linked — 全エージェントを通じたユニオン、重複排除、ティッカーごとに平均化。
  • agents_breakdown — 各エージェントの個別スコア、レイテンシ、エラー(あれば)がシグナル行に保持され、ダッシュボードの折りたたみパネルで内訳を確認できます。

なぜ 5 つで 1 つではないのか

経験的に、金融ニュース item の「重要度」を判定しようとする 1 つの巨大プロンプトは急速にドリフトします——異なるレーン(規制 vs センチメント vs サプライチェーン)は異なる軸で答えます。関心を分割することで UI がはるかに豊かに表示できるもの(エージェント内訳パネル)を持ち、Reflexion が批判する独立したシグナルを得られ、単一エージェントの障害やハルシネーションが集計を大きく動かすことはなくなります。

関連項目