Tools

monty-go - LLM-Python-Code sicher aus Go heraus ausfuehren

llm golang wasm python sandboxing

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

Warum das nuetzlich ist

LLMs arbeiten schneller, guenstiger und zuverlaessiger, 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, fuehrt 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 fuer externe Funktionsaufrufe
  • Pure Go, keine CGO-Abhaengigkeit

Kontext

Das Projekt verweist auf aehnliche 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 fuer AI-Agent-Entwickler im Go-Oekosystem relevant ist.

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