二段 LLM で安く抽出して高く推論する

検索結果(大量・ノイズ込み)を Claude にそのまま流さず、ローカルの安い LLM で先に圧縮してから 高い LLM に渡す型(gemini-rag の app.py)。

  • 段1:ローカル Ollama で物理抽出。プロンプトは「コードブロック・設定値・コマンド・エラー・URL を 一言一句変えず物理抽出せよ/事実のみ、前置き・後書き・要約を一切含めるな」。要約させない= 幻覚と情報欠落を避ける。num_ctx を大きめに。
  • 段2:Claude で推論。抽出済みログ(時系列)+意図を整形したプロンプトを Claude にストリーミング。
  • 効く理由:検索 TOP_K=40 を生で Claude に入れるとコンテキスト浪費・コスト増・ノイズで精度低下。 ローカルで事実だけに圧縮 → Claude は推論に集中。コスト/コンテキストはローカルで節約、知能は API で買う

出典:gemini-ragapp.pyextract_with_ollama / build_situation_prompt / stream_claude)。 ローカルLLM接続は コンテナからホストのローカルサーバーを叩く