monty-go: LLM-generierten Python-Code sicher in Go ausführen – ohne Container

monty-go: Pure-Go wrapper for Pydantic's Monty Python Interpreter

monty-go ist ein reiner Go-Wrapper um den Monty-Python-Interpreter von Pydantic, der als WebAssembly kompiliert und über wazero eingebettet wird. Damit können Go-Agenten Python-Code ausführen, der von LLMs generiert wurde, ohne Container, CGO oder Subprozesse. Der Interpreter pausiert bei Aufrufen externer Funktionen, sodass diese in Go-Callbacks verarbeitet werden. Mit Ressourcenlimits, Print-Capture und OS-Call-Routing bietet monty-go eine sichere und schnelle Sandbox für Code-Mode-Szenarien in Agent-Frameworks wie Gollem.

Die Erkenntnis, dass LLMs Code schreiben sollten, anstatt sequenzielle Tool-Aufrufe zu machen, und dass man einen sicheren Interpreter (keinen Container) braucht, um diesen auszuführen, macht Code-Mode möglich.
  1. camdenclark

    Witzig – ich habe selbst gerade einen reinen Go-Wrapper gebaut, weil dieser hier hoffnungslos veraltet ist!

    https://github.com/CamdenClark/monty-go

    Er implementiert das neue Subprozess-Modell zum Starten von Monty-VMs, das hilft, deinen Hauptthread zu isolieren, falls eine der VMs abstürzt.

    Da Monty jetzt als Binärdatei ausgeliefert wird, brauchst du das WASM-Embedding nicht mehr – du musst nur sicherstellen, dass du die Binärdatei hast. (Ähnlich wie man beispielsweise Playwright in Go ausführen würde)

  2. mkl

    Monty selbst scheint viel interessanter zu sein als ein Go-Wrapper für eine WASM-Runtime, die die Rust-Implementierung ausführt, die den Python-Code ausführt. Es gab vor 6 Monaten eine große Diskussion darüber: https://news.ycombinator.com/item?id=46918254

  3. digdugdirk

    Ist das Python in Rust in WASM in Go?

    Der Name Monty war die perfekte Wahl, ich habe Yakety Sax im Hintergrund gehört, als ich die README gelesen habe.

    Spaß beiseite, ich liebe es, WASM als Brücke zu sehen, um solche coolen Dinge zu ermöglichen.

Mehr von diesem Tag

2026-08-30