Tools

monty-go - LLM-Python-Code sicher aus Go heraus ausführen

llm golang wasm python sandboxing

Eine spannende Neuentwicklung für alle, die LLM-generierten Python-Code aus Go-Anwendungen heraus ausführen wollen: monty-go von Fugue Labs ist ein Pure-Go-Wrapper für Pydantics Monty Python-Interpreter. Der Clou: Der Interpreter wird zu WebAssembly kompiliert und über wazero geladen - keine Container, kein CGO, kein Subprocess.

Warum das nützlich ist

LLMs arbeiten schneller, günstiger und zuverlässiger, wenn sie Code schreiben statt sequenzielle Tool-Calls zu machen. Statt drei einzelner API-Aufrufe (search, search, compare) schreibt das Modell einfach ein Python-Skript, das die Funktionen aufruft. Monty pausiert dabei bei jedem externen Funktionsaufruf, führt den Go-Callback aus, und setzt dann fort. Ein Model-Call statt dreien.

Technische Details

  • 2.9 MB WASM-Binary eingebettet in die Go-Binary
  • Sub-Millisekunden-Startzeit
  • Sandboxed WASM-Instanz ohne exec()
  • Pause/Resume für externe Funktionsaufrufe
  • Pure Go, keine CGO-Abhängigkeit

Kontext

Das Projekt verweist auf ähnliche Konzepte wie Anthropics “Programmatic Tool Calling”, Cloudflares “Code Mode” und Hugging Faces “Smol Agents” - der Trend geht klar weg von klassischen Tool-Calls hin zu Code-as-Tool-Interface. Monty-go bringt diesen Ansatz in die Go-Welt, was besonders für AI-Agent-Entwickler im Go-Ökosystem relevant ist.

Link: github.com/fugue-labs/monty-go