Repolode
kyegomez

kyegomez/tree-of-thoughts

候補となる推論ステップを探索し、一度の回答生成ではなく検索によってLLMに問題を解かせるTree of ThoughtsのPython実装です。

スター
4,594
フォーク
373
未解決の Issue
8
最終コミット
先月

これは何?

Tree of Thoughtsは、検索によって言語モデルに推論させます。次のステップの候補を複数提示してそれぞれを評価し、有望でない枝を刈り込み、推論の筋道がうまくいかない場合はバックトラックします。このリポジトリには、現在Swarms frameworkに含まれているTreeOfThoughtsクラスがあり、部分解に対して幅優先探索または深さ優先探索を行います。

モデルの各出力はPydanticスキーマに照らして検証される関数呼び出しで、同じツリーレベルの呼び出しは並行して実行されます。ユーザーは、タスクに合わせて思考の説明、評価基準、探索アルゴリズム、ビーム幅、深さ、値のしきい値を設定できます。関数呼び出しに対応するLiteLLMモデルならどれでも使用でき、実行後には探索ツリー全体をJSONで取得できます。

リポジトリには、Game of 24、物理計算、論理パズル、数学問題の例があり、それぞれに期待される答えが用意されています。また、コードを書かずにチャットモデルから同様の複数の専門家による推論を引き出すためのプロンプトテンプレートも含まれています。

主な機能

  • 01推論ステップを幅優先・深さ優先で探索し、バックトラックと枝刈りを行います。
  • 02候補ステップを値評価と投票で評価します。
  • 03分岐数、深さ、ビーム幅、スコアのしきい値を設定できます。
  • 04関数呼び出しに対応するLiteLLMモデルであれば、どれでも使用できます。
  • 05探索ツリー全体をJSONにシリアライズ可能なデータとして返します。

ユースケース

  • 1回のモデル実行では解けないことが多い、多段階の算術問題やパズルを解く。
  • 複数の部分解を保持しながら、計画やスケジュールの選択肢を探索する。
  • ある枝で矛盾が生じたときにバックトラックが必要なケース分析を行う。
  • 答えを検証できる数学・論理ベンチマークで推論の質を評価する。

クイックスタート

  1. 1

    swarms パッケージをインストールします

    pip3 install -U swarms
  2. 2

    作業ディレクトリの .env ファイルに API キーを追加します

  3. 3

    TreeOfThoughts を使って Quickstart の Python コードを実行します

    python examples/physics/hohmann_transfer.py

使う前に知っておきたいこと

  • function calling に対応したモデルプロバイダーの API キーが必要です。
  • マルチブランチ検索ではモデルを何度も呼び出すため、breadth や depth などの設定によってコストが急増します。
  • Tree of Thoughts は現在、より大規模な Swarms フレームワークに含まれており、依存関係が大幅に増えます。

収録されている特集

トピック

よくある質問

tree-of-thoughts とは?
候補となる推論ステップを探索し、一度の回答生成ではなく検索によってLLMに問題を解かせるTree of ThoughtsのPython実装です。 Tree of Thoughtsは、検索によって言語モデルに推論させます。次のステップの候補を複数提示してそれぞれを評価し、有望でない枝を刈り込み、推論の筋道がうまくいかない場合はバックトラックします。このリポジトリには、現在Swarms frameworkに含まれているTreeOfThoughtsクラスがあり、部分解に対して幅優先探索または深さ優先探索を行います。
tree-of-thoughts は無料で使えますか?ライセンスは?
tree-of-thoughts は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
tree-of-thoughts は今もメンテナンスされていますか?
半年以内に更新あり。tree-of-thoughts の最終コミットは 2026年9月29日 です。
tree-of-thoughts は何に使えますか?
1回のモデル実行では解けないことが多い、多段階の算術問題やパズルを解く。 複数の部分解を保持しながら、計画やスケジュールの選択肢を探索する。 ある枝で矛盾が生じたときにバックトラックが必要なケース分析を行う。 答えを検証できる数学・論理ベンチマークで推論の質を評価する。
tree-of-thoughts のインストール方法は?
swarms パッケージをインストールします: pip3 install -U swarms 作業ディレクトリの .env ファイルに API キーを追加します TreeOfThoughts を使って Quickstart の Python コードを実行します: python examples/physics/hohmann_transfer.py
tree-of-thoughts はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/kyegomez/tree-of-thoughts

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト