Saplings
Saplings
Agent IAActive

Saplings

Saplings est une petite bibliothèque Python qui ajoute MCTS, A* et recherche greedy aux agents à outils. La 6.2.0 reste installable, mais la maintenance est silencieuse et les métadonnées MIT contredisent le LICENSE Apache-2.0.

90

Views

0

Likes

Jan 2026

Added

github.com

Lien du projet

Tags

Saplingsagent tree searchMonte Carlo Tree Searchagent A*framework agent PythonLiteLLM

Product Preview

A quick visual look at Saplings before you visit the official site.

Published 1/21/2026
Saplings screenshot

Editorial Review

About Saplings

Saplings désigne ici le package Python open source shobrook/saplings. Il permet à un agent à outils d’explorer plusieurs trajectoires avec Monte Carlo Tree Search (MCTS), A* ou greedy best-first search. Ce n’est ni Sapling, le gestionnaire de source de Meta, ni l’ancien package homonyme de l’auteur désormais renommé Syntaxis. L’implémentation actuelle passe par LiteLLM pour le modèle et par un evaluator—un LLM par défaut—pour noter les branches.

Il faut le considérer comme une couche de recherche pour prototypes, outils réversibles et tâches bornées, pas comme une plateforme d’agents production. Il peut quitter une mauvaise trajectoire ultérieure, mais chaque candidate tool exploré peut être réellement exécuté avant la sélection. Calcul, retrieval, code sandboxé et simulateur sont de bons premiers tests ; email, paiement, ticket ou write en base exigent une frontière externe preview/commit.

Diagramme officiel Saplings comparant un agent ReAct linéaire à un agent tree search ramifié et autoévalué
Média officiel du README shobrook/saplings : la recherche génère et évalue plusieurs parcours de tools au lieu de s’engager immédiatement dans une trajectoire.

Identité exacte et état de maintenance

ContrôleVérifié le 2026-08-20Interprétation
Projet canoniqueGitHub shobrook/saplings ; PyPI saplingsNe pas confondre avec Meta Sapling SCM ou Syntaxis
Dernier packagePyPI 6.2.0, upload 22-06-2025Installable, mais environ quatorze mois sans release
RepositoryPublic, non archivé ; dernier push 27-07-2025Les derniers commits touchent le README ; dernier fix code visible 22-06-2025
DistributionSdist 33 kB ; aucun wheel 6.2.0 listépip construit localement
Metadata runtimePython >=3 ; litellm/json-repair non bornésTrop large pour prouver la compatibilité Python actuelle
LicenceLICENSE Apache-2.0 ; setup.py/PyPI indiquent MITConflit, pas double licence explicite—clarification nécessaire

Le statut défendable est disponible mais silencieux. Le repository n’est ni archived ni disabled et PyPI sert encore 6.2.0 ; déclarer le projet arrêté dépasserait donc les preuves. À l’inverse, une page active ne garantit pas une maintenance de compatibilité ou sécurité. Il n’existe pas de GitHub Releases, aucun fichier PyPI après juin 2025 et le sdist 6.2.0 n’embarque ni testsuite ni benchmark harness. Il faut verrouiller package et dépendances transitives, puis tester sa propre matrice Python/modèles/tools.

Le conflit de licence est un gate séparé. Le repository et le sdist contiennent le texte Apache License 2.0, tandis que setup.py déclare MIT et PyPI répète ce champ. Ce n’est pas une option dual-license documentée. Avant redistribution, intégration ou fork, demander une clarification écrite au maintainer, conserver les notices et laisser compliance déterminer les termes applicables.

Choisir un agent Saplings

ClasseComportement de rechercheFrontière coût/échec
COTAgentUne trajectoire normale, sans searchBaseline peu coûteuse pour valider tools et evaluator
GreedyAgentGénère, exécute et note des candidates puis poursuit le meilleur courantMoins d’overhead, sans retour depuis un mauvais optimum local
AStarAgentGarde des frontiers alternatives et peut changer de brancheCompromis ; un mauvais evaluator ordonne mal la frontier
MonteCarloAgentSelection, rollout, backpropagation ; defaults 6.2.0 : facteur 3, profondeur 5, 10 rolloutsPlus de calls/effects possibles ; un seul root tool call avant les branches
Custom evaluatorRetourne score normalisé et reasoning sur mesureTests, contraintes exactes et rewards d’état dépassent un LLM jugeant son texte

Un arbre ne dépasse pas sa value function. Le default evaluator envoie la trajectoire au modèle, demande 0–10, puis normalise en 0–1. Pratique en prototype, il peut confondre progrès plausible et tâche terminée. Coding doit employer compilation/tests, retrieval la couverture des sources, un environnement le vrai state reward. Conserver un holdout fixe est essentiel : changer le prompt evaluator peut modifier le search autant qu’un changement d’algorithme.

MCTS possède une limite spécifique. Il force d’abord un tool call, construit le root node, puis seulement développe les branches. Un TODO source reconnaît qu’un mauvais root peut compromettre l’arbre entier. Le système compare et backtracke des actions ultérieures, mais ne choisit pas entre plusieurs premières actions indépendantes. Une review limitée à « look-ahead et backtracking » manquerait cette différence.

Workflow d’évaluation sûr et reproductible

  1. Figer l’artefact.Environnement isolé, saplings==6.2.0, lock transitif et hash du sdist.
  2. Gate licence.Documenter Apache-2.0 contre MIT dans l’approbation dependency.
  3. Commencer par COTAgent.Mesurer success, coût, latence et correction des tools sans search.
  4. Tools replay-safe.Séparer propose/preview de commit ; sandbox, state cloné et idempotency key par branche.
  5. Evaluator objectif.Tests, schema, règles exactes, simulator state et sources avant self-score LLM.
  6. Borner l’arbre.Configurer branching factor, depth, rollouts, timeout et budget provider.
  7. Instrumenter.Tracer branch/parent, arguments, résultat, score, modèle, tokens, latence, retry et exception avec redaction.
  8. Matrice fixe.Comparer COT, Greedy, A* et MCTS avec mêmes prompts, mocks, evaluator et seeds disponibles.
  9. Échecs.API outage, output malformé, rate limit, action répétée, fausse preuve, truncation et désaccord evaluator.
  10. Un seul commit.Search produit plan, patch ou candidat ; validator ou humain autorise un write externe.
  11. Data path.Library locale, mais LiteLLM peut transmettre prompts, schemas et trajectories au provider choisi.
  12. Exit.Encapsuler Saplings derrière sa propre interface pour remplacer le dependency sans réécrire les tools.

Ce que le README compact ne résout pas

RisqueCause en 6.2.0Contrôle
Side effects répétésBaseAgent exécute tous les candidate tools avant notationChercher sur tools purs/simulés, commit unique après sélection
Croissance des callsGeneration, evaluation et rollouts appellent modèles/toolsBudgets durs, timeout, cache safe read et coût par tâche résolue
Evaluator biasValue par défaut = autoévaluation LLMRewards objectifs, plusieurs evaluators, audit humain
Root lock-inMCTS crée un required root avant branchValider un plan ou modifier la stratégie root
Dependency driftlitellm/json-repair sans rangesLock transitif et CI d’upgrade
Privacy/securityModèle voit prompt/schema/trajectory ; tool reçoit trajectory memoryMinimisation, redaction, least privilege, governance provider
Maintenance/licenceReleases silencieuses et metadata contradictoirePin/fork, scan, owner, clarification écrite

Les side effects des branches sont la principale conclusion opérationnelle. BaseAgent.expand crée un async task pour chaque candidate, exécute le tool, puis seulement évalue les child nodes. Backtracking n’annule pas l’effet. Explorer trois variantes send_email peut envoyer trois emails même si un seul path est rendu. L’architecture sûre cherche sur descriptions, state simulé ou patches réversibles et n’expose l’action irréversible qu’après la fin.

Aucun multiplicateur de coût fixe n’est défendable. Les provider calls dépendent d’early termination, dedup, depth, rollouts, evaluator samples, tools et retries. Mesurer coût par tâche acceptée, p50/p95 latency et duplicate effects. La table benchmark du README cite le paper LATS ; ce n’est pas une reproduction Saplings 6.2.0, et le sdist n’inclut aucun runner établissant ces gains.

Saplings et alternatives réelles

OptionMeilleur casTrade-off face à Saplings
SaplingsPetit essai Python ajoutant MCTS/A*/greedy aux tool callsLisible ; maintenance silencieuse, pas de runtime durable, effets à contrôler soi-même
ReAct/tool loop simpleTâches séquentielles peu coûteuses avec tools vérifiablesPas de backtracking, mais coût et writes plus prévisibles
LangGraphWorkflows stateful avec persistence, streaming, human review, durable executionPlus d’orchestration ; state, checkpoints et commit gates explicites
LLM ReasonersRecherche MCTS/ToT/world models et reproduction benchmarkPlus large/lourd, mieux adapté à l’étude d’algorithmes
Search maisonDomain simulator, reward exact et stricte policy d’effetsPlus d’ingénierie, contrôle total branches/cache/budget/transaction

Jugement indépendant :la qualité majeure de Saplings est sa lisibilité. Search loop, Tool abstraction et evaluator se lisent sans grande plateforme, ce qui convient à l’apprentissage et au proof of concept borné. La faiblesse est l’écart entre search research et production orchestration : aucune persistence, approval queue, rollback transactionnel, durable checkpoint ou security policy publiée.

Adopter si l’environnement est clonable à faible coût, le reward objectif et les tools réversibles. Pour un service durable, posséder un fork avec locks, tests, tracing, security et licence clarifiée, ou intégrer la policy dans un runtime maintenu. Un benchmark du paper reste une hypothèse à tester sur les tâches privées, pas une validation de déploiement.

Questions fréquentes

Qu’est-ce que Saplings ?

Une bibliothèque Python de shobrook/saplings qui applique Greedy, A* ou MCTS aux trajectoires d’outils, avec LiteLLM et un evaluator de branches.

Est-il maintenu ?

Disponible et non archivé, mais silencieux. PyPI 6.2.0 date du 22-06-2025 et le dernier push du 27-07-2025. Une maintenance continue n’est pas démontrée.

Est-ce Meta Sapling ?

Non. Meta Sapling est un SCM. Ici il s’agit du package AI-agent de Jonathan Shobrook ; un ancien homonyme est devenu Syntaxis.

Quelle licence ?

Repo/sdist fournissent Apache-2.0, setup.py/PyPI disent MIT. Le maintainer doit clarifier ; compliance ne doit pas choisir silencieusement.

Tree search améliore toujours ?

Non. Elle aide si les branches sont évaluables, mais multiplie les calls et amplifie un evaluator faible. Les chiffres README viennent de LATS.

Modèles locaux ?

LiteLLM propose des routes locales, mais tool calling, structured output et token counting doivent être testés par modèle.

Pourquoi les write tools sont dangereux ?

Les candidates sont exécutés avant sélection. Utiliser preview, sandbox et un seul commit post-search.

Alternative ?

Plain loop pour simple, LangGraph pour durable approval, LLM Reasoners pour recherche, search maison avec simulator/reward exact.

Sources vérifiées

Revue indépendante : 2026-08-20. Entité confirmée par GitHub/PyPI. Le statut disponible mais silencieux, le conflit de licence et la distinction benchmark paper/package restent explicites.

Vérifier Saplings à la source officielle

Ouvre le dépôt, la documentation ou les ressources du modèle.

Ouvrir la source officielle

Quick Info

Lien du projet
github.com
Category
Agent IA
Added
1/21/2026
Published
1/21/2026
Updated
9/7/2026

Share This Tool

Have an AI tool to share?

Submit it to AI Dreamhub

Get your product in front of people actively exploring AI tools.

Submit Your Tool
Manus

Manus

Manus est un agent d'IA à usage général hébergé qui utilise des machines virtuelles cloud, l'automatisation du navigateur, des fichiers, du code et des intégrations pour effectuer des tâches en plusieurs étapes. Ce guide indépendant couvre les plans et les crédits, Cloud Browser vs Browser Operator, les actions authentifiées, la confidentialité, les approbations, la conception des tâches, l'évaluation et les alternatives.

ai-agentfree
1160
Gemini CLI

Gemini CLI

An open-source AI agent that brings the power of Gemini directly into your terminal. - Outil IA intelligent pour améliorer votre productivité.

ai-agentfree
930
AgentScope

AgentScope

Agent-Oriented Programming for Building LLM Applications, Open-sourced by Alibaba - Outil IA intelligent pour améliorer votre productivité.

ai-agentfree
1020
Auto-GPT

Auto-GPT

Auto-GPT est un projet et une plateforme open source de Significant Gravitas pour créer et exécuter des assistants IA et workflows agentiques.

Auto-GPTAI agentautonomous agents
1030