Saplings:木探索は面白いが、不可逆なツールを候補評価中に実行してはいけない
ここで扱う Saplings は shobrook/saplings の Python パッケージです。MCTS、A*、最良優先探索で複数の実行経路を評価します。Meta の Sapling SCM や、作者の別プロジェクト Syntaxis とは異なります。
最重要の実装上の注意は、候補経路のツールが勝者を選ぶ前に実行され得ることです。探索で戻っても、送信済みメール、決済、データベース更新は取り消されません。不可逆操作は preview と sandbox に置き換え、探索後に一度だけ確定します。
PyPI 6.2.0 は2025年6月公開で、リポジトリは非アーカイブですが更新は静かです。README のベンチマークは LATS 論文由来で、Saplings 6.2.0 の再現試験ではありません。

現在の位置づけと確認事項
| 確認項目 | 確認できた事実 | 判断への影響 |
|---|---|---|
| 配布 | PyPI 6.2.0、2025-06-22 | 導入前に依存を固定 |
| 保守 | 非アーカイブだが更新は少ない | 継続保守を前提にしない |
| 探索 | MCTS、A*、最良優先 | 評価中の副作用を隔離 |
| ライセンス | LICENSE は Apache-2.0、metadata は MIT | 保守担当者の説明が必要 |
ソースと sdist の LICENSE は Apache-2.0 ですが setup.py と PyPI metadata は MIT です。再配布や製品組み込みでは、どちらかを推測せず書面で確認してください。
実務での評価手順
- 課題の成功条件、状態、許可ツールを明示する。
- 検索、計算、読み取りなど副作用のないツールから始める。
- 書き込みツールは preview、sandbox、疑似応答に置き換える。
- 探索数、深さ、モデル費用、評価器の偏りを記録する。
- 選ばれた経路を人または決定的規則で承認する。
- 承認後に一度だけ確定し、べき等キーと監査記録を残す。
| 評価軸 | 測定方法 | 合格条件 |
|---|---|---|
| 課題成功 | 固定した正解条件 | 単純 agent より改善 |
| 副作用 | 外部変更回数を監査 | 探索中の実変更ゼロ |
| 探索費用 | 候補数、トークン、遅延 | 改善幅に見合う |
| 評価器 | 人の順位との一致 | 偏りを説明可能 |
制約と失敗しやすい点
現在の MCTS は最初の必須 root call を一つ生成し、根が誤ると木全体が不利になります。
LLM 評価器は流暢さを成功と誤認できます。業務の正解条件を外部に置きます。
litellm と json-repair の版が広く、provider 変更で挙動が変わり得ます。
README の論文ベンチマークを現行パッケージの性能値として引用してはいけません。
代替案との比較
| 選択肢 | 向いている用途 | 主な注意点 |
|---|---|---|
| Saplings | 複数経路を探索する実験 | 副作用と保守に注意 |
| LangGraph | 状態、分岐、再開を明示 | 設計が重い |
| 単純 ReAct | 低費用の短い課題 | 探索の幅が小さい |
| 決定的ワークフロー | 不可逆な業務処理 | 柔軟性より予測可能性を優先 |
読み取り中心で、複数の解法を比較する課題には研究価値があります。決済、送信、更新を直接つなぐ本番 agent にはそのまま使えません。
採用前に副作用を完全に隔離し、ライセンス不一致と保守計画を解消することが最低条件です。
よくある質問
何のライブラリですか?
LLM agent の候補経路を木探索で評価する Python ライブラリです。
活発に保守されていますか?
利用可能ですが更新は静かです。継続保守を保証できません。
本番で使えますか?
読み取り中心の限定用途なら試験可能ですが、不可逆操作には外部統制が必要です。
ライセンスは?
LICENSE と metadata が一致しないため確認が必要です。
ベンチマークは再現済みですか?
README の数値は LATS 論文由来で現行版の再現ではありません。
最大の設計リスクは?
候補評価中のツール実行が副作用を残すことです。
確認した資料
- 参照資料 1: github.com/shobrook/saplings
- 参照資料 2: pypi.org/project/saplings/
- 参照資料 3: pypi.org/pypi/saplings/json
- 参照資料 4: github.com/shobrook/saplings/blob/master/LICENSE
- 参照資料 5: github.com/shobrook/saplings/blob/master/setup.py
- 参照資料 6: github.com/shobrook/saplings/blob/master/saplings/agents/Base.py
- 参照資料 7: github.com/shobrook/saplings/blob/master/saplings/agents/MonteCarlo.py
- 参照資料 8: github.com/shobrook/saplings/blob/master/saplings/model.py
- 参照資料 9: arxiv.org/abs/2310.04406
- 参照資料 10: arxiv.org/abs/2407.01476
- 参照資料 11: docs.litellm.ai/docs/providers
- 参照資料 12: docs.langchain.com/oss/python/langgraph/overview
- 参照資料 13: github.com/maitrix-org/llm-reasoners
- 参照資料 14: github.com/shobrook/saplings/blob/master/assets/demo.png
独立確認日:2026年8月21日。パッケージ、ソース、LICENSE、metadata を確認しました。


