エージェント推論: 思考層 (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はツール(検索、計算機)が重要な場面で優位性を発揮します。
Enterキーを押すか、画像をクリックしてフルサイズで表示します。
エージェント推論のスプラッシュアート

オープンソースモデルにおける認知的問題解決の実装

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 は、複数ステップのプランニングや論理パズルに限定して使用してください。

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
アーキテクチャごとの内訳

精度ベンチマーク

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
アリーナモード

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
精度ベンチマークを実行するためのコード

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
精度ベンチマークのPython API実行コード

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
精度評価に使用されるベンチマーク

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
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%)を達成した。

精度統計

これは戦略ごとの精度ヒートマップです。

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
戦略ごとの精度ヒートマップ

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
戦略ごとの平均精度

ベンチマーク

ベンチマークチャートは、ベンチマーク実行後に自動的に生成されます。

サンプル出力ベンチマーク(応答遅延、スループットなど)の完全なリストについては、エージェント推論の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 | bash

agent-reasoningは、PyPiを使用するか、ソースコードから直接インストールすることもできます。

PyPiを使用する

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
PyPiを使用したインストール

ソースからuv

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
UVを用いた設置

Development

UVを使用する

大規模言語モデル(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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
Python APIを使用してOllamaを設定する

使用法

1. 対話型CLI

豊富なCLIを使用して、すべてのエージェント、比較、ベンチマークにアクセスできます。

  • タイミング指標:すべてのレスポンスにはTTFT、合計時間、トークン/秒が表示されます。
  • セッション履歴:すべてのチャットはdata/sessions/に自動保存され、マークダウン形式でエクスポートされます。
  • 直接対決:2つの戦略を並べて並行して比較します。
  • エージェント情報:説明とユースケースを含む組み込みの戦略ガイド
  • ベンチマークチャート:ベンチマーク結果のPNG形式の可視化を自動生成します

設定

# pip経由でインストールした場合:
agent-reasoning

# ソースからインストールした場合:
python agent_cli.py

ショートカット

CLIには、いくつかの便利なショートカットも用意されています。

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
CLIショートカット

インタラクティブな体験

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
CLIインタラクティブエクスペリエンス

2. 端末ユーザーインターフェース(TUI)

また、分割パネルレイアウトとアリーナグリッドビューを備えたGoベースのターミナルインターフェースを使用することもできます。

  • 分割レイアウト:エージェントサイドバー+チャットパネル
  • アリーナモード:3×3のグリッドで、すべてのエージェントが並列に実行されている様子を表示
  • キャンセル対応のリアルタイムストリーミング
TUIを使用したビルドと実行

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

TUIのキーバインド

TUIキーバインディング

チャットビュー

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
チャットビュー

vを押すと、構造化視覚化モードが切り替わります。生のテキストの代わりに、エージェントの推論プロセスがリアルタイムでレンダリングされます。ToT のツリ​​ー図、ReAct のスイムレーン、Consistency の投票集計、Refinement のスコアゲージなどが表示されます。

ハイパーパラメータチューナーpを開くには、を押してください。クエリを実行する前に、ToTの幅/深さ、一貫性サンプル、精緻化スコアの閾値、およびその他のエージェントパラメータを調整してください。

戦略アドバイザー?を起動するには、を押してください。MetaReasoningAgentがクエリを分析し、最適な戦略を推奨します。

相互作用の様式

  • アリーナモードでは、16人のエ​​ージェント全員が4×4のグリッドで表示された同じクエリに対して同時にレースを行い、各エージェントがゴールするたびにリーダーボードバーが更新されます。
Enterキーを押すか、画像をクリックしてフルサイズで表示します。
アリーナモード

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
直接対決

他にも試せる機能がたくさんあります。例えば:

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

3. Python API(開発者向け)

ReasoningInterceptorをLLMクライアントの代替としてそのまま使用できます。

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
ReasoningInterceptorを使用する

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
エージェントを直接作成および使用する

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

Enterキーを押すか、画像をクリックしてフルサイズで表示します。
精製剤

4. 推論ゲートウェイサーバー

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

推論ゲートウェイ

次に、アプリを設定します。

APIエンドポイント

APIエンドポイント

トラブルシューティング

  • モデルが見つかりません: ベースモデル (ollama pull gemma3:270m) がプルされていることを確認してください。
  • タイムアウト/処理速度低下:ToTと自己反射処理はLLMへの呼び出しを複数回行います。大規模なモデル(Llama3 70b)では、処理に時間がかかる場合があります。
  • 注意:デフォルトのデモではgemma3:270mを使用していますが、これは非常に小さく、論理エラーが発生しやすいです。安定した結果を得るには、gemma2:9bまたはllama3に切り替えてください。

システムをさらに拡張する

追加の推論戦略を加えることができます。

  1. BaseAgentを継承するクラスをsrc/agent_reasoning/agents/に作成
  2. stream(self, query)メソッドを実装
  3. src/agent_reasoning/interceptor.pyのAGENT_MAP登録
Enterキーを押すか、画像をクリックしてフルサイズで表示します。
システムの拡張

まとめ

お読みいただきありがとうございました。エージェント推論を使って皆さんがどのようなものを作るのか、楽しみにしています!

よくある質問(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)は、戦略の比較やセッション履歴を並べて表示するチャートを自動生成します。

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

ミリ秒の問題: BCCグループとOCIが市場データ・パフォーマンスを再定義する方法(AWSに対するベンチマークを使用) (2025/11/13)

OCIサービスを利用したWebサイトの作成 その4~Identity Cloud Serviceでサイトの一部を保護 (2021/12/30)