Saplings
Saplings
KI-AgentActive

Saplings

Saplings ist eine kleine Python-Bibliothek für MCTS-, A*- und Greedy-Baumsuche in Tool-Agents. Version 6.2.0 ist installierbar, wird aber nur still gepflegt; zudem widersprechen sich MIT-Metadaten und Apache-2.0-LICENSE.

82

Views

0

Likes

Jan 2026

Added

github.com

Projektlink

Tags

SaplingsTree Search AgentMonte Carlo Tree SearchA* AgentPython Agent FrameworkLiteLLM

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 bezeichnet hier ausschließlich das Open-Source-Python-Paket shobrook/saplings. Es lässt Tool-Agents mehrere Trajektorien mit Monte Carlo Tree Search (MCTS), A* oder Greedy Best-First Search untersuchen. Es ist weder Metas Sapling-Versionsverwaltung noch das ältere gleichnamige Paket des Autors, das inzwischen Syntaxis heißt. Die aktuelle Implementierung ruft Modelle über LiteLLM auf und lässt einen Evaluator—standardmäßig ebenfalls ein LLM—Kandidaten bewerten.

Die Bibliothek eignet sich am ehesten als überschaubare Suchschicht für reversible Tools, Simulationen und begrenzte Aufgaben, nicht als fertige Production-Agent-Plattform. Sie kann spätere Fehlentscheidungen durch einen anderen Zweig umgehen. Allerdings werden untersuchte Tool-Kandidaten gegebenenfalls real ausgeführt, bevor der Gewinner feststeht. Rechnen, Retrieval, Sandbox-Code und simulierte Umgebungen sind vernünftige erste Tests; E-Mail, Zahlung, Ticket oder Datenbank-Write brauchen eine externe Preview/Commit-Grenze.

Offizielle Saplings-Grafik: linearer ReAct-Agent gegenüber verzweigtem, selbstbewertetem Tree-Search-Agent
Offizielle README-Grafik aus shobrook/saplings: Die Suche erzeugt und bewertet mehrere Tool-Pfade, statt sofort einer linearen Trajektorie zu folgen.

Eindeutige Identität und Wartungsstatus

PrüfungStand 2026-08-20Bedeutung
Kanonisches ProjektGitHub shobrook/saplings; PyPI saplingsNicht mit Meta Sapling SCM oder Syntaxis vermischen
Letztes PaketPyPI 6.2.0 vom 22.06.2025Installierbar, aber etwa 14 Monate ohne Release
RepositoryÖffentlich, nicht archiviert; letzter Push 27.07.2025Letzte Änderungen betreffen README; letzter sichtbarer Code-Fix 22.06.2025
Distribution33-kB-Source-Distribution, kein 6.2.0-Wheel gelistetpip baut lokal
Runtime-MetadatenPython >=3; litellm/json-repair ohne VersionsgrenzenZu weit gefasst, um aktuelle Python-Kompatibilität zu belegen
LizenzLICENSE ist Apache-2.0; setup.py/PyPI nennen MITWiderspruch statt klarer Doppellizenz—Klärung nötig

Der belastbare Status lautet verfügbar, aber still. Das Repository ist weder archiviert noch deaktiviert und PyPI liefert 6.2.0 weiter; „eingestellt“ wäre daher nicht belegt. Umgekehrt beweist eine erreichbare Paketseite keine laufende Kompatibilitäts- oder Sicherheitsarbeit. Es gibt keine GitHub Releases, keine neuere PyPI-Datei nach Juni 2025 und im 6.2.0-Sdist weder Testsuite noch Benchmark-Harness. Paket und transitive Abhängigkeiten müssen gelockt und gegen die eigene Python-, Modell- und Tool-Matrix getestet werden.

Der Lizenzkonflikt ist ein eigener Freigabepunkt. Sowohl Repository als auch Source-Distribution enthalten den vollständigen Text der Apache License 2.0. setup.py deklariert dagegen MIT und PyPI übernimmt diese Angabe. Das ist keine dokumentierte Wahlmöglichkeit zwischen zwei Lizenzen. Bei Redistribution, Produktintegration oder Fork sollte das Team eine schriftliche Maintainer-Klärung einholen, Notices aufbewahren und Compliance die wirksamen Bedingungen bestimmen lassen.

Den passenden Saplings-Agent wählen

KlasseSuchverhaltenKosten- und Fehlergrenze
COTAgentEine normale Tool-Trajektorie ohne SucheBaseline und günstigster Test für Tools und Evaluator
GreedyAgentKandidaten erzeugen, ausführen, bewerten und nur den aktuell besten fortsetzenWeniger Suchaufwand, aber kein Backtracking aus einem lokalen Optimum
AStarAgentAlternative Frontiers bleiben erhalten und können später gewählt werdenMittelweg; schlechte Evaluatorwerte sortieren auch die Frontier schlecht
MonteCarloAgentSelection, Rollout und Backpropagation; Source-Defaults: Faktor 3, Tiefe 5, maximal 10 RolloutsPotentiell höchste Calls und Side Effects; Root Tool Call wird nur einmal vor Verzweigung erzeugt
Custom EvaluatorEigene normalisierte Scores und BegründungTests, exakte Constraints und Environment Reward sind verlässlicher als LLM-Selbsteinschätzung

Ein Suchbaum ist nur so brauchbar wie seine Value Function. Der Default-Evaluator sendet die Trajektorie an das konfigurierte Modell, fordert 0–10 Punkte an und normalisiert auf 0–1. Das ist bequem, kann aber plausibel klingenden Fortschritt mit echter Erledigung verwechseln. Coding sollte Compiler und Tests nutzen, Retrieval Quellenabdeckung, eine Simulation den tatsächlichen State. Ein festes Holdout-Set ist Pflicht, denn schon ein anderer Evaluator-Prompt kann das Verhalten ähnlich stark verändern wie ein anderer Suchalgorithmus.

Die aktuelle MCTS-Implementierung besitzt eine ungewöhnlich konkrete Grenze: Sie erzwingt zunächst genau einen Tool Call und baut daraus den Root Node. Ein TODO im Source weist darauf hin, dass ein falscher Root Call den gesamten Baum beschädigen kann. Erst danach beginnt die Verzweigung. Saplings kann spätere Aktionen vergleichen und zurückgehen, wählt aber nicht aus mehreren unabhängigen ersten Aktionen. Genau deshalb reicht die allgemeine Werbeformel „Look-ahead und Backtracking“ für eine sachliche Bewertung nicht aus.

Sicherer reproduzierbarer Evaluationsablauf

  1. Artefakt einfrieren.Isolierte Umgebung, saplings==6.2.0, vollständiger Lockfile und PyPI-Sdist-Hash.
  2. Lizenzgate.Apache-2.0-LICENSE gegen MIT-Metadaten im Dependency Review dokumentieren.
  3. Mit COTAgent beginnen.Erfolg, Kosten, Latenz und Tool-Korrektheit ohne Search messen.
  4. Tools replay-safe machen.Propose/Preview von Commit trennen; Sandbox, geklonter State und Idempotency Key je Branch.
  5. Objektiv evaluieren.Tests, Schema, exakte Regeln, Simulator-State und Quellenprüfung vor LLM-Scores.
  6. Baum begrenzen.Branching Factor, Depth, Rollouts, Timeout und Provider-Budget ausdrücklich konfigurieren.
  7. Jeden Call instrumentieren.Branch, Parent, Argumente, Resultat, Score, Modell, Tokens, Latenz, Retry und Exception ohne Secrets loggen.
  8. Feste Matrix.COT, Greedy, A* und MCTS mit gleichen Prompts, Mocks, Evaluator und soweit möglich Seeds vergleichen.
  9. Fehlerfälle testen.API-Ausfall, kaputter Output, Rate Limit, doppelte Aktion, falsche Evidenz, Context Truncation und Evaluator-Dissens.
  10. Nur einmal committen.Search erstellt Plan, Patch oder Kandidat; Validator oder Mensch autorisiert einen externen Write.
  11. Datenpfad prüfen.Die Library läuft lokal, LiteLLM kann aber Prompts, Schemas und Trajektorien zum gewählten Provider senden.
  12. Exit vorbereiten.Saplings hinter einer eigenen Schnittstelle kapseln, damit Tools bei einem Wechsel bestehen bleiben.

Was das kompakte README nicht löst

RisikoUrsache in 6.2.0Kontrolle
Mehrfache Side EffectsBaseAgent führt alle Kandidaten vor der Bewertung ausNur pure/simulierte Tools durchsuchen; einmal nach Auswahl committen
Call-WachstumCandidate Generation, Branch Evaluation und Rollouts rufen Modelle/Tools aufHarte Budgets, Timeout, Cache für sichere Reads, Kosten pro gelöster Aufgabe
Evaluator BiasDefault ist LLM-Selbstevaluation der TrajektorieObjektive Rewards, mehrere Evaluatoren, menschliches Audit
Root Lock-inMCTS erzeugt einen required Root Call vor der VerzweigungPlan vorher validieren oder Root-Strategie anpassen
Dependency Driftlitellm und json-repair ohne VersionsbereichTransitive Locks und Upgrade-CI
Privacy/SecurityModell sieht Prompt, Schema, Trajektorie; Tool erhält Trajectory MemoryMinimierung, Redaction, Least Privilege und Provider Governance
Maintenance/LizenzStille Releases und widersprüchliche AngabenPin/Fork, Scan, Owner und schriftliche Klärung

Mehrfache Side Effects sind die wichtigste Betriebsgrenze. BaseAgent.expand erstellt für jeden Candidate einen asynchronen Task, führt das Tool aus und bewertet erst danach die Child Nodes. Backtracking macht diese Wirkung nicht rückgängig. Drei erkundete send_email-Varianten können drei Nachrichten verschicken, obwohl nur ein Pfad zurückgegeben wird. Sichere Systeme suchen über Beschreibungen, simulierten State oder reversible Patches und geben die irreversible Funktion erst nach Ende der Suche frei.

Ein pauschaler Kostenmultiplikator wäre erfunden. Die Call-Zahl hängt von Early Termination, Deduplizierung, Tiefe, Rollouts, Evaluator Samples, Tool-Verhalten und Retries ab. Gemessen werden sollten Kosten pro akzeptierter Aufgabe, p50/p95-Latenz und Duplicate Effects. Die Benchmark-Tabelle im README verweist ausdrücklich auf das LATS Paper. Sie ist keine Reproduktion mit Saplings 6.2.0; die Source-Distribution enthält auch keinen Runner, der diese Ergebnisse belegt.

Saplings und reale Alternativen

OptionBester EinsatzTrade-off zu Saplings
SaplingsKleines Python-Experiment für MCTS/A*/Greedy um Tool CallsLesbar und kompakt; stille Wartung, keine Durable Runtime, Side-Effect-Schutz selbst bauen
Plain ReAct/Tool LoopGünstige sequenzielle Tasks mit starken, leicht prüfbaren ToolsKein Backtracking, dafür Kosten und externe Writes besser verständlich
LangGraphStateful Production mit Persistence, Streaming, Human Review und Durable ExecutionMehr Orchestration; Checkpoints, State und Commit Gates sind explizit
LLM ReasonersMCTS/ToT/World-Model-Forschung und Benchmark-ReproduktionBreiter und schwerer, aber für Algorithmenstudien passender
Eigene SucheDomain Simulator, exakter Reward und strikte Side-Effect PolicyMehr Engineering, volle Kontrolle über Branching, Cache, Budget und Transaktion

Unabhängiges Urteil:Saplings überzeugt durch Lesbarkeit. Search Loop, Tool-Abstraktion und Evaluator sind ohne große Plattform prüfbar—gut zum Lernen und für einen begrenzten Proof of Concept. Die Schwäche ist der Abstand zwischen Search Research und Production Orchestration: keine eingebaute Persistence, Approval Queue, Transaction Rollback, Durable Checkpoints oder veröffentlichte Security Policy.

Einsetzen, wenn die Umgebung billig klonbar, der Reward objektiv und die Tools reversibel sind. Für einen langfristigen Dienst sollte das Team einen Fork besitzen und Locks, Tests, Tracing, Security und Lizenzklärung ergänzen, oder die Policy in einer aktiv gepflegten Runtime implementieren. Paper-Benchmarks sind eine Hypothese für eigene Tasks, keine Deployment-Freigabe.

Häufige Fragen

Was ist Saplings?

Eine Python-Library von shobrook/saplings, die Greedy, A* oder MCTS um Tool-Calling-Trajektorien legt. Modelle laufen über LiteLLM, ein Evaluator bewertet Zweige.

Wird Saplings noch gepflegt?

Es ist verfügbar und nicht archiviert, aber still. PyPI 6.2.0 stammt vom 22.06.2025, der letzte Push vom 27.07.2025. Fortlaufende Wartung ist nicht belegt.

Ist es Meta Sapling?

Nein. Meta Sapling ist Source Control. Hier geht es um Jonathan Shobrooks AI-Agent-Paket; ein älteres gleichnamiges Projekt heißt heute Syntaxis.

Welche Lizenz gilt?

Repo und Sdist enthalten Apache-2.0, setup.py/PyPI nennen MIT. Der Maintainer sollte den Konflikt klären; Compliance darf nicht still eine Variante wählen.

Verbessert Tree Search jeden Agent?

Nein. Sie hilft bei zuverlässig bewertbaren Alternativen, erhöht aber Calls und verstärkt einen schwachen Evaluator. README-Werte stammen aus dem LATS Paper.

Funktionieren lokale Modelle?

LiteLLM bietet lokale Routen, doch Tool Calling, Structured Output und Token Counting müssen pro Modell geprüft werden.

Warum sind Write Tools gefährlich?

Candidate Branches werden vor der Gewinnerwahl ausgeführt. Preview, Sandbox und ein einzelner Post-Search-Commit sind nötig.

Welche Alternative?

Plain Loop für einfache Arbeit, LangGraph für durable Approval, LLM Reasoners für Forschung, eigene Suche bei exaktem Simulator/Reward.

Geprüfte Quellen

Unabhängige Prüfung: 2026-08-20. Entity per GitHub/PyPI abgegrenzt; Status bewusst als verfügbar, aber still bezeichnet. Lizenzkonflikt und Unterschied zwischen Paper- und Package-Benchmark bleiben sichtbar.

Saplings an der offiziellen Quelle prüfen

Öffnet Repository, Dokumentation oder Modellressourcen.

Offizielle Quelle öffnen

Quick Info

Projektlink
github.com
Category
KI-Agent
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 ist ein gehosteter Allzweck-KI-Agent, der Cloud-VMs, Browserautomatisierung, Dateien, Code und Integrationen nutzt, um mehrstufige Aufgaben auszuführen. Dieser unabhängige Leitfaden behandelt Pläne und Credits, Cloud Browser vs. Browser Operator, authentifizierte Aktionen, Datenschutz, Genehmigungen, Aufgabendesign, Bewertung und Alternativen.

ai-agentfree
1000
Gemini CLI

Gemini CLI

An open-source AI agent that brings the power of Gemini directly into your terminal. - Intelligentes KI-Tool für mehr Produktivität.

ai-agentfree
840
AgentScope

AgentScope

Agent-Oriented Programming for Building LLM Applications, Open-sourced by Alibaba - Intelligentes KI-Tool für mehr Produktivität.

ai-agentfree
910
Auto-GPT

Auto-GPT

Auto-GPT ist ein Open-Source-Agentenprojekt und eine Plattform von Significant Gravitas zum Erstellen und Ausführen autonomer KI-Assistenten.

Auto-GPTAI agentautonomous agents
780