Atom of Thoughts (AoT) について
Atom of Thoughts (AoT) MCP は、分解ベースの推論フレームワークを MCP サーバーとして実装したものです。複雑な問題を依存関係を持つ原子的な思考単位に分割し、検証と信頼度の評価を通じて結論を導きます。信頼性の高い推論が必要な複雑な問題を対象とし、研究論文の概念に基づいています。
主な機能
- 01問題を原子的な思考単位に分解
- 02前提、推論、仮説、検証、結論の5種類の原子
- 03分解と収縮のメカニズム
- 04信頼度に基づく自動終了
- 05完全版と軽量版の AoT ツール
活用シーン
- 01複雑な問題に対する複数視点からの仮説検証
- 02依存関係の追跡が必要な推論タスク
- 03速度が重要な場合の軽量版による初期探索
MCP 対応
本プロジェクトは MCP サーバーであり、AoT および AoT-light ツールと、atomcommands コマンドツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Atom of Thoughts(AoT)
Atom of Thoughts を実装した Model Context Protocol(MCP)サーバーです。Atom of Thoughts は、分解に基づく推論フレームワークです。
注:この実装は、研究論文「Atom of Thoughts for Markov LLM Test-Time Scaling」(Teng ほか、2025 年)に基づいています。
英語版ドキュメント
このリポジトリは、分解に基づく推論フレームワークである Atom of Thoughts(AoT)を、Model Context Protocol(MCP)サーバーとして実装しています。この実装は、論文「Atom of Thoughts for Markov LLM Test-Time Scaling」(Teng ほか、2025 年)で紹介されている概念に基づいています。
利用可能なツール
主なツールを 2 つ提供しています。
- AoT(フルバージョン):深い分析や複雑な問題解決に対応する、完全な機能を備えた Atom of Thoughts ツールです。
- AoT-light(軽量バージョン):処理の高速化と迅速な結果を重視して最適化された、簡易版です。
AoT-light:軽量バージョン
AoT-light は、時間が限られた状況での処理を高速化するよう設計されています。
-
主な機能:
- 最大深度を 5 から 3 に下げ、処理を高速化
- 検証プロセスを簡素化
- 信頼度の高い仮説について、結論を即座に提案
- 計算負荷と応答ペイロードを削減
- 網羅的な分析よりも速度を優先して最適化
-
使用例:
- 思考をアトミックに整理する、手早いブレインストーミング
- 網羅的な分析より速度を優先する、時間に制約のある問題解決
- 深い分解を必要としない、比較的簡単な推論タスク
- AoT のフルバージョンで深く分析する前の初期調査
- 応答時間が重要となる学習やデモンストレーション
使用例
Atom of Thoughts は、次のような場面で効果を発揮します。
- 複雑な推論が必要な問題の解決
- 複数の観点から検証する必要がある仮説の生成
- 正確性が重要な場面での、信頼度の高い結論の導出
- 重要なタスクにおける論理的な誤りの最小化
- 複数段階の検証を必要とする意思決定
アトムの種類
AoT では、次の 5 種類のアトムを使用します。
- premise:問題解決のための基本的な前提や与えられた情報
- reasoning:他のアトムに基づく論理的な推論プロセス
- hypothesis:提案された解決策や中間的な結論
- verification:他のアトム(特に仮説)の妥当性を評価するプロセス
- conclusion:検証済みの仮説、または最終的な問題解決策
主な機能
1. 分解・収縮メカニズム
アトムをより小さなサブアトムに分解し、検証後に元の形へ収縮させるメカニズムです。
-
分解:複雑なアトムを、より小さなサブアトムに分解します。
startDecomposition(atomId):アトムの分解を開始addToDecomposition(decompositionId, atomId):サブアトムを分解に追加completeDecomposition(decompositionId):分解プロセスを完了
-
収縮:すべてのサブアトムが検証されたら、元のアトムに収縮させます。
- サブアトムの信頼度に基づいて、元のアトムの信頼度を計算
- 信頼度の高い検証済み仮説について、結論を自動的に提案
2. 自動終了メカニズム
- 最大深度に達した場合、または確信度の高い結論が見つかった場合に自動的に終了します。
getTerminationStatus(): 現在の終了ステータスと理由を返しますgetBestConclusion(): 最も確信度の高い結論を返します
パラメーターの説明
- atomId: アトムの一意の識別子(例:'A1'、'H2')
- content: アトムの実際の内容
- atomType: アトムの種類(premise、reasoning、hypothesis、verification、conclusion のいずれか)
- dependencies: このアトムが依存する他のアトムの ID のリスト
- confidence: このアトムの確信度(0~1 の値)
- isVerified: このアトムが検証済みかどうか
- depth: 分解・収束プロセスにおける、このアトムの深度レベル
使用方法
- 問題を理解し、必要な前提アトムを定義します
- 前提に基づいて推論アトムを作成します
- 推論に基づいて仮説アトムを作成します
- 仮説を検証するための検証アトムを作成します
- 検証済みの仮説に基づいて結論アトムを導き出します
- 必要に応じて、アトムの分解を使ってさらに深く検討します
- 確信度の高い結論アトムを最終回答として提示します
Sequential Thinking と Atom of Thoughts の比較(さらなるテストが必要)
同じトピックに両方の思考ツールを適用したところ、次のような違いとパフォーマンス特性が確認されました。
構造上の違い
Sequential Thinking:
- 線形の思考プロセス:ある思考から次の思考へ順番に進みます
- 思考の総数を事前に予測します
- 各思考段階は、前の段階に基づいて構築されます
Atom of Thoughts:
- 非線形のネットワーク構造:複数の思考単位(アトム)が依存関係によって相互に接続されます
- アトムの種類(premise、reasoning、hypothesis、verification、conclusion)に応じた体系的な構造を形成します
- 各アトムの確信度を明示的に評価します
比較した場合の強み
Sequential Thinking の強み:
- 直感的な流れ:人間の自然な思考プロセスに似ています
- シンプルさ:構造が単純なため、簡単な問題にすばやく適用できます
- 柔軟性:思考プロセス中に以前の段階を変更したり、方向性を変えたりできます
Atom of Thoughts の強み:
- 確信度の評価:各思考の確信度を明示的に測定し、結論の妥当性を高めます
- 検証プロセス:体系的な検証段階を通じて仮説を評価します
- 依存関係の追跡:どの前提や推論が特定の結論に影響したかを明確に追跡します
- 並列処理:複数の思考アトムを同時に検討できます
効率性と正確性
効率性:
- Sequential Thinking:単純な問題でより効率的で、思考をすばやく進められます
- Atom of Thoughts:複雑な問題でより効率的ですが、体系的な構造の構築に初期コストがかかります
正確性:
- Sequential Thinking:思考プロセスが深まるにつれて、前の段階から誤りが蓄積する可能性があります
- Atom of Thoughts:検証段階と確信度評価によって誤りの可能性が低下し、より信頼性の高い結論につながります
目的別の適性
Sequential Thinking が適しているケース:
- 単純から中程度に複雑な問題
- 時間に制約がある状況
- 自然なストーリーテリングや説明が必要な場合
Atom of Thoughts が適しているケース:
- 非常に複雑な問題
- 正確性と信頼性が重要な状況
- 複数の視点から検証する必要がある仮説
- 複雑な依存関係を伴う推論
結論
どちらのツールも人工知能の推論能力の向上に役立ちますが、適切なツールは問題の性質や要件によって異なります。Sequential Thinking は直感的ですばやい思考プロセスが必要な場合に役立ち、Atom of Thoughts は体系的な検証と高い信頼性が求められる複雑な問題により適しています。
コマンドツール(atomcommands)
Atom of Thoughts の分解・収縮メカニズムと自動終了を制御するコマンドツールです。
利用可能なコマンド:
- decompose:指定した原子をより小さな下位原子に分解します
- 必須パラメーター:
atomId
- 必須パラメーター:
- complete_decomposition:進行中の分解プロセスを完了します
- 必須パラメーター:
decompositionId
- 必須パラメーター:
- termination_status:現在の AoT プロセスの終了状態を確認します
- best_conclusion:最も信頼度の高い、検証済みの結論を取得します
- set_max_depth:最大深度の上限を変更します
- 必須パラメーター:
maxDepth
- 必須パラメーター:
Smithery 経由でインストールする
Smithery 経由で Atom of Thoughts を Claude Desktop に自動的にインストールするには:
npx -y @smithery/cli install @kbsooo/mcp_atom_of_thoughts --client claude
MCP サーバーの設定
Atom of Thoughts MCP サーバーを使用するには、Claude Desktop または Cline の MCP 設定に登録する必要があります。設定例を以下に示します。
{
"mcpServers": {
"atom-of-thoughts": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/PARENT/FOLDER/atom-of-thoughts/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
/ABSOLUTE/PATH/TO/PARENT/FOLDER を、お使いのシステム上のプロジェクトの実際の絶対パスに置き換えてください。設定を保存した後、Claude Desktop または Cline を再起動すると、Atom of Thoughts MCP サーバーを使用できます。
実装の詳細やコードレベルのドキュメントについては、このリポジトリのソースコードを参照してください。
한국어 설명
Atom of Thoughts란?
Atom of Thoughts(AoT)は、複雑な問題を、独立して再利用可能な原子単位の思考に分解して解決するツールです。従来の逐次的な思考方法とは異なり、思考の基本単位である「原子」が相互に依存して構成され、より強力な問題解決を可能にします。この実装は、「Atom of Thoughts for Markov LLM Test-Time Scaling」(Teng et al., 2025)論文の概念に基づいています。
提供されるツール
現在、次の2つの主要なツールが提供されています。
- AoT(フルバージョン):詳細な分析や複雑な問題解決に適した、すべての機能を備えた Atom of Thoughts ツールです。
- AoT-light(軽量版):より高速な処理と迅速な結果を実現するために最適化された軽量版です。
AoT-light:軽量版
AoT-light は、時間が重要な状況でより高速に処理できるように設計された軽量版です。
-
主な特徴:
- 最大深度を低く設定(5 ではなく 3)することで、高速に処理
- 簡素化された検証プロセス
- 信頼度の高い仮説に対する即時の結論の提案
- 計算オーバーヘッドと応答データの削減
- 綿密な分析よりも速度を優先
-
使用シナリオ:
- 原子的な思考の構成が必要な、素早いブレインストーミングセッション
- 綿密な分析よりも速度が重要な、時間制約のある問題解決
- 深い分解を必要としない、単純な推論タスク
- AoT フルバージョンによる詳細な分析の前段階となる初期探索
- 応答時間が重要な、学習またはデモンストレーションの目的
使用シナリオ
次のような場合に Atom of Thoughts が効果的です。
- 複雑な推論が必要な問題解決
- 多角的な検証が必要な仮説の生成
- 正確性が重要な問題で、信頼度の高い結論を導き出す
- 論理的な誤りを最小限に抑える必要があるタスク
- 複数段階の検証を必要とする意思決定
原子の種類
Atom of Thoughts では、次の5種類の原子を使用します。
- premise(前提):問題解決のための基本的な仮定や与えられた情報
- reasoning(推論):他の原子に基づく論理的な推論プロセス
- hypothesis(仮説):考えられる解決策や中間結論の提案
- verification(検証):他の原子(特に仮説)の妥当性を評価するプロセス
- conclusion(結論):検証済みの仮説、または最終的な問題解決策
主な機能
1. 分解・収縮メカニズム(Decomposition-Contraction)
原子をより小さな下位原子に分解し、検証後に再び収縮するメカニズムです。
-
原子の分解(Decomposition):複雑な原子をより小さな下位原子に分解します。
startDecomposition(atomId):原子の分解を開始addToDecomposition(decompositionId, atomId):分解に下位原子を追加completeDecomposition(decompositionId):分解プロセスを完了
-
原子の収縮(Contraction):すべての下位原子が検証されると、元の原子へ再び収縮します。
- 下位原子の信頼度に基づいて、元の原子の信頼度を計算
- 信頼度の高い検証済みの仮説がある場合、自動的に結論を提案
2. 自動終了メカニズム(Automatic Termination)
- 最大深度に達するか、信頼度の高い結論が見つかると、自動的に終了します。
getTerminationStatus():現在の終了状態とその理由を返しますgetBestConclusion():最も信頼度の高い結論を返します
パラメーターの説明
- atomId:原子の一意の識別子(例:'A1'、'H2' など)
- content:原子の実際の内容
- atomType:原子の種類(premise、reasoning、hypothesis、verification、conclusion のいずれか)
- dependencies:この原子が依存する他の原子の ID のリスト
- confidence:この原子の信頼度(0~1 の値)
- isVerified:この原子が検証済みかどうか
- depth:この原子の深度(分解・収縮プロセスにおける深さのレベル)
使用方法
- 問題を理解し、必要な前提(premise)原子を定義します
- 前提に基づいて推論(reasoning)原子を生成します
- 推論に基づいて仮説(hypothesis)原子を生成します
- 仮説を検証(verification)する原子を生成します
- 検証済みの仮説に基づいて結論(conclusion)原子を導き出します
- 必要に応じて原子の分解(decomposition)を使用し、さらに掘り下げます
- 信頼度の高い結論原子を最終回答として提示します
Sequential Thinking と Atom of Thoughts の比較(さらにテストが必要)
2つの思考ツールを同じテーマに適用した後に観察された違いと性能特性は、次のとおりです。
構造上の違い
Sequential Thinking:
- 線形の思考プロセス:ある思考から次の思考へと順番に進みます
- 思考の総数を事前に予測します
- 各思考段階は前の段階を土台として構築されます
Atom of Thoughts:
- 非線形のネットワーク構造:複数の思考単位(原子)が依存関係を持ってつながります
- 原子の種類(前提、推論、仮説、検証、結論)に応じて体系的な構造を形成します
- 各原子の信頼度を明示的に評価します
比較した場合の強み
Sequential Thinking の強み:
- 直感的な流れ:人間の自然な思考プロセスに似ています
- シンプルさ:単純な構造のため、直感的な問題にすばやく適用できます
- 柔軟性:思考プロセス中に前の段階を修正したり、方向を変えたりできます
Atom of Thoughts の強み:
- 信頼度の評価:各思考の信頼度を明示的に測定し、結論の妥当性を高めます
- 検証プロセス:体系的な検証段階を通じて仮説を評価します
- 依存関係の追跡:特定の結論にどの前提や推論が影響したかを明確に追跡できます
- 並列処理:複数の思考原子を同時に検討できます
効率性と正確性
効率性:
- Sequential Thinking:単純な問題により効率的で、思考がすばやく進みます
- Atom of Thoughts:複雑な問題により効率的ですが、体系的な構造を作成するための初期オーバーヘッドがあります
正確性:
- Sequential Thinking:思考プロセスが深まるほど、前の段階での誤りが累積する可能性があります
- Atom of Thoughts:検証段階と信頼度の評価によって誤りの可能性を減らし、より信頼できる結論を導き出します
目的別の適性
Sequential Thinking が適している場合:
- 単純または中程度の複雑さの問題
- 時間に制約のある状況
- 自然なストーリーテリングや説明が必要な場合
Atom of Thoughts が適している場合:
- 非常に複雑な問題
- 正確性と信頼性が重要な状況
- 複数の観点から検証する必要がある仮説
- 複雑な依存関係を持つ推論
結論
どちらのツールも人工知能の推論能力の向上に役立ちますが、適切なツールは問題の特性と要件によって異なります。Sequential Thinking は直感的ですばやい思考プロセスが必要な場合に便利で、Atom of Thoughts は体系的な検証と高い信頼性が必要な複雑な問題により適しています。
コマンドツール(atomcommands)
Atom of Thoughts の分解・収縮メカニズムと自動終了を制御するコマンドツールです。
利用可能なコマンド:
- decompose:指定した原子を、より小さな下位原子に分解します。
- 必須パラメーター:
atomId
- 必須パラメーター:
- complete_decomposition:進行中の分解プロセスを完了します。
- 必須パラメーター:
decompositionId
- 必須パラメーター:
- termination_status:現在の AoT プロセスの終了状態を確認します。
- best_conclusion:最も信頼度の高い、検証済みの結論を取得します。
- set_max_depth:最大深度の上限を変更します。
- 必須パラメーター:
maxDepth
- 必須パラメーター:
Smithery を使ったインストール
Smithery 経由で Atom of Thoughts を Claude Desktop に自動インストールするには:
npx -y @smithery/cli install @kbsooo/mcp_atom_of_thoughts --client claude
MCP サーバーの設定方法
Atom of Thoughts MCP サーバーを使用するには、Claude Desktop または Cline の MCP 設定にサーバーを登録する必要があります。以下はサーバー設定の例です。
{
"mcpServers": {
"atom-of-thoughts": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/PARENT/FOLDER/atom-of-thoughts/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
上記の設定では、/ABSOLUTE/PATH/TO/PARENT/FOLDER を実際のプロジェクトが配置されている絶対パスに変更してください。設定を保存した後、Claude Desktop または Cline を再起動すると、Atom of Thoughts MCP サーバーを使用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
