エージェント推論: 思考層 (2026/03/25)
エージェント推論: 思考層 (2026/03/25)
https://medium.com/oracledevs/agent-reasoning-the-thinking-layer-14e977fdc649
Ollama提供のLLM向けのオープンソースの推論レイヤー技術
主なポイント
- Agent Reasoningは、オープンソースの推論レイヤーであり、プラグアンドプレイのPythonまたはプロキシサーバーを介して、Ollamaが提供するあらゆるLLM(gemma3、llama3など)に、計画、推論、自己修正機能を追加します。
- 複数の実績のある推論戦略(CoT、自己一貫性、ToT、ReAct、自己反省、分解、洗練)が組み込まれており、「簡単なところから始める」というガイド付きの道筋が用意されています。
- チーム向けの実用的なツール:対話型CLI/TUI、Python API、およびOllama互換ゲートウェイにより、既存のアプリケーションはコードを変更することなく推論機能を利用できます。
- 明確なベンチマーク指針:CoTは平均精度が最も高く、ToTは複数ステップのロジックで優れた性能を発揮し、ReActはツール(検索、計算機)が重要な場面で優位性を発揮します。

オープンソースモデルにおける認知的問題解決の実装
Oracleのデータサイエンティスト・アドボケートであり、A2AベースのマルチエージェントRAGシステムの作者でもあるNacho Martinez氏から、 gemma3やllama3などのオープンソースの大規模言語モデル(LLM)が複雑な計画、論理的推論、自己修正を実行できるようにするオープンソースの推論レイヤーが発表されました。
このレイヤーは、主要な研究論文(CoT、ToT、ReAct)に基づいて構築された認知アーキテクチャでこれらのモデルを包み込みます。
私たちはこれをエージェント推論と呼んでおり、このGitHubリポジトリでJupyterノートブックとともにオープンソースとして公開しています。
エージェント推論の特徴
- プラグアンドプレイ:Pythonクラス経由で使用することも、ネットワークプロキシとして使用することもできます。
- モデル非依存:Ollamaが提供するあらゆるモデルに対応します。
- 思考連鎖(CoT)と自己一貫性:温度サンプリングによる多数決(kサンプル)を実装します。
- 思考の木 (ToT) : 堅牢なヒューリスティックなスコアリングと枝刈りを備えた BFS 戦略。
- ReAct(Reason + Act) :フォールバック/モック機能を備えたリアルタイムツール(スクレイピングによるWeb検索、Wikipedia API、電卓など)の利用。外部グラウンディングを実装済み。
- 自己反省:動的な複数ターンの洗練ループ(下書き→批評→改善)。
- 分解と最小から最大へ:計画とサブタスクの実行。
- 改良ループ:品質の閾値に達するまで、スコアに基づいた反復的な改善(生成器→批評家→改良者)を行う。
- 複雑な精緻化パイプライン:5段階の最適化(技術的正確性 → 構造 → 深さ → 例 → 磨き上げ)。
インタラクティブな Jupyter Notebook
エージェント推論の機能を実証するために、インタラクティブなJupyterノートブックを用意しました。
これは、ベンチマークと比較を含め、すべての推論戦略(CoT、ToT、ReAct、自己反省)を網羅した包括的なデモです。
アーキテクチャの詳細
ほとんどのユーザーは、Chain-of-Thought (CoT) から始めるのが良いでしょう。これは平均精度が最も高く、レイテンシコストが最も低いからです。正確性が重要で、推論時間が 3~5 倍長くなっても問題ない場合は、Self-Consistency を使用してください。知識検索タスクでは ToT は避けてください (MMLU でベースラインを下回る)。ToT は、複数ステップのプランニングや論理パズルに限定して使用してください。

精度ベンチマーク
推論戦略を標準的な自然言語処理データセットと比較することで、精度向上を測定できます。ベンチマークシステムには、4つの標準データセットから抽出した質問セットが組み込まれています。

精度ベンチマークを実行するには:

または、Python API を使用する場合:

グラフは実行ごとに自動生成され、benchmarks/charts/に保存されます。

以下は、11の戦略全体にわたる包括的な評価結果です。

主な調査結果:
- CoTは平均精度が最も高く(87.0%)、GSM8K(+6.6%)とMMLU(+6.7%)においてStandardを上回ります。
- 自己整合性は、多数決により、MMLU(96.7%)とGSM8K(76.7%)の両方でCoTと同率となった。
- ToTは分岐探索によりGSM8Kの計算において優れた性能を発揮します(76.7%、標準比+10%)。
- ReActは、ツール拡張推論によりARCチャレンジで最高スコア(96.0%)を達成した。
精度統計
これは戦略ごとの精度ヒートマップです。

これは戦略別の平均精度です。

ベンチマーク
ベンチマークチャートは、ベンチマーク実行後に自動的に生成されます。
サンプル出力ベンチマーク(応答遅延、スループットなど)の完全なリストについては、エージェント推論のGitHubリポジトリを参照してください。
インストール
Agent Reasoningは、いくつかの異なる方法でインストールできます。
クイックスタート(3つのコマンド)
uv sync && ollama pull gemma3:270m && uv run agent-reasoningワンコマンド、ワンステップインストール
curl -fsSL https://raw.githubusercontent.com/jasperan/agent-reasoning/main/install.sh | bashagent-reasoningは、PyPiを使用するか、ソースコードから直接インストールすることもできます。
PyPiを使用する

ソースからuv

Development

大規模言語モデル(LLM)の設定
この手順の例として、Ollamaを使用します。
Ollamaはローカルで実行されている必要があります。または、リモートのOllamaインスタンスに接続することもできます。
ollama pull gemma3:270m # クイックテスト用の小型モデル
ollama pull gemma3:latest # 高品質な結果を得るためのフルモデルリモートOllamaエンドポイントの設定
ローカルにOllamaがインストールされていない場合は、リモートのOllamaインスタンスに接続できます。設定ファイルはconfig.yamlリポジトリのルートディレクトリに保存されています。
オプション1:対話型CLI設定
agent-reasoning#メニューから「エンドポイントの設定」を選択しますオプション2:サーバーCLI引数
agent-reasoning-server --ollama-host http://192.168.1.100:11434オプション3:設定ファイルを直接入力する
サンプル設定をコピーして編集してください。
cp config .yaml.example config .yamlcp config .yaml.example config .yamlまたは、config.yamlプロジェクトのルートに作成します。
ollama:
host: http://192.168.1.100:11434オプション4:Python API

使用法
1. 対話型CLI
豊富なCLIを使用して、すべてのエージェント、比較、ベンチマークにアクセスできます。
- タイミング指標:すべてのレスポンスにはTTFT、合計時間、トークン/秒が表示されます。
- セッション履歴:すべてのチャットはdata/sessions/に自動保存され、マークダウン形式でエクスポートされます。
- 直接対決:2つの戦略を並べて並行して比較します。
- エージェント情報:説明とユースケースを含む組み込みの戦略ガイド
- ベンチマークチャート:ベンチマーク結果のPNG形式の可視化を自動生成します
設定
# pip経由でインストールした場合:
agent-reasoning
# ソースからインストールした場合:
python agent_cli.pyショートカット
CLIには、いくつかの便利なショートカットも用意されています。

インタラクティブな体験

2. 端末ユーザーインターフェース(TUI)
また、分割パネルレイアウトとアリーナグリッドビューを備えたGoベースのターミナルインターフェースを使用することもできます。
- 分割レイアウト:エージェントサイドバー+チャットパネル
- アリーナモード:3×3のグリッドで、すべてのエージェントが並列に実行されている様子を表示
- キャンセル対応のリアルタイムストリーミング

TUIは起動時に自動的に推論サーバーを起動します。Go 1.18以降が必要です。
TUIのキーバインド

チャットビュー
デフォルトのチャットビューは、16エージェントのサイドバー、ライブストリーミング機能付きのチャットパネル、およびTTFT、トークン/秒、トークン数をリアルタイムで表示するメトリクスバーを備えた分割ペインレイアウトです。

vを押すと、構造化視覚化モードが切り替わります。生のテキストの代わりに、エージェントの推論プロセスがリアルタイムでレンダリングされます。ToT のツリー図、ReAct のスイムレーン、Consistency の投票集計、Refinement のスコアゲージなどが表示されます。
ハイパーパラメータチューナーpを開くには、を押してください。クエリを実行する前に、ToTの幅/深さ、一貫性サンプル、精緻化スコアの閾値、およびその他のエージェントパラメータを調整してください。
戦略アドバイザー?を起動するには、を押してください。MetaReasoningAgentがクエリを分析し、最適な戦略を推奨します。
相互作用の様式
- アリーナモードでは、16人のエージェント全員が4×4のグリッドで表示された同じクエリに対して同時にレースを行い、各エージェントがゴールするたびにリーダーボードバーが更新されます。

直接対決モードでは、2人のエージェントが同じクエリに対して1対1で競い合います。

他にも試せる機能がたくさんあります。例えば:
- ステップスルーデバッガーは、LLM呼び出しの合間にエージェントを一時停止し、中間状態を検査することを可能にします。
- 既存のJSONベンチマークファイルを読み込むベンチマークダッシュボード
- セッションブラウザは、フィルタリングオプションを使用して過去の会話を検索および再実行できます。
- エージェントガイドには、16種類のエージェントすべてに関するリファレンスカードが含まれており、最適な用途、パラメータ、トレードオフ、および調査参考資料が網羅されています。いずれかのカードでEnterキーを押すと、エージェントとのチャットが開始されます。
3. Python API(開発者向け)
ReasoningInterceptorをLLMクライアントの代替としてそのまま使用できます。

エージェントを直接使用する:

品質管理のための精製剤の使用:

4. 推論ゲートウェイサーバー
Ollamaになりすますプロキシサーバーを実行します。これにより、LangChainやWeb UIなど、Ollamaと互換性のあるあらゆるアプリケーションが、コードを一切変更することなく推論機能を利用できるようになります。

次に、アプリを設定します。
- ベースURL:
http://localhost:8080 - モデル:(
gemma3:270m+cotまたは+tot, +react,その他)
APIエンドポイント

トラブルシューティング
- モデルが見つかりません: ベースモデル (ollama pull gemma3:270m) がプルされていることを確認してください。
- タイムアウト/処理速度低下:ToTと自己反射処理はLLMへの呼び出しを複数回行います。大規模なモデル(Llama3 70b)では、処理に時間がかかる場合があります。
- 注意:デフォルトのデモではgemma3:270mを使用していますが、これは非常に小さく、論理エラーが発生しやすいです。安定した結果を得るには、gemma2:9bまたはllama3に切り替えてください。
システムをさらに拡張する
追加の推論戦略を加えることができます。
- BaseAgentを継承するクラスをsrc/agent_reasoning/agents/に作成
- stream(self, query)メソッドを実装
src/agent_reasoning/interceptor.pyのAGENT_MAPに登録

まとめ
お読みいただきありがとうございました。エージェント推論を使って皆さんがどのようなものを作るのか、楽しみにしています!
よくある質問(FAQ)
それぞれの戦略はいつ使うべきですか?
精度と処理速度のバランスが最も良いのはChain-of-Thoughtから始め、正確性が重要な場合はSelf-Consistencyを使用し、複雑な多段階推論にはTree of Thoughtsを、事実確認や計算にはReActを選択してください。
特定のモデルが必要ですか?
いいえ。Ollamaが提供するどのモデルでも、モデルに依存しません。画質は、モデルが大きいほど向上します(例:gemma2:9b、llama3と、小さな270mモデルとの比較)。
セットアップはどれくらい難しいですか?
3つのコマンドで簡単に起動できるクイックスタート機能、1行のインストールスクリプト、そしてJupyterノートブックですぐに実行できるデモが用意されています。プロキシ機能を使えば、既存のOllamaアプリでもベースURLやモデル名を変更するだけで推論機能を組み込むことができます。
結果をどのように評価すればよいですか?
内蔵ベンチマーク(GSM8K、MMLU、ARC-Challenge、HellaSwag)は、戦略の比較やセッション履歴を並べて表示するチャートを自動生成します。
コメント
コメントを投稿