Tin tức

monty-go: Chạy Python do LLM tạo trong Go qua WASM, không cần container

monty-go của Fugue Labs bọc trình thông dịch Monty Python của Pydantic trong Go thuần túy qua WASM và wazero, cho phép agent thực thi Python do LLM viết một cách an toàn với khởi động dưới mili giây và tạm dừng/tiếp tục các lệnh gọi bên ngoài.

August 30, 2026· 3 min read· Nguồn: GitHub
monty-go: Chạy Python do LLM tạo trong Go qua WASM, không cần container

Fugue Labs đã phát hành monty-go, một trình bọc Go thuần túy quanh trình thông dịch Monty Python của Pydantic, được biên dịch sang WebAssembly và tải qua wazero. Nó cho phép agent Go thực thi mã Python do LLM tạo trong một phiên bản WASM sandbox—không container, không CGO, không subprocess—với khởi động dưới mili giây. Trình thông dịch tạm dừng bất cứ khi nào mã gọi một hàm bên ngoài, để mã Go của bạn xử lý và tiếp tục.

Tại sao thực thi mã thay vì gọi công cụ?

Điểm mấu chốt: LLM hoạt động nhanh hơn và rẻ hơn khi chúng viết mã thay vì thực hiện các lệnh gọi công cụ tuần tự. Thay vì ba vòng lặp cho tra cứu thời tiết và so sánh, mô hình viết một tập lệnh Python ngắn gọi các hàm Go của bạn. Một lần gọi mô hình, ba lần gọi công cụ, tất cả bên trong một tệp nhị phân WASM 2.9MB được nhúng trong tệp nhị phân Go của bạn.

Bắt đầu nhanh và hàm bên ngoài

Thực thi cơ bản rất đơn giản: truyền một biểu thức và bản đồ đầu vào, nhận kết quả. Sức mạnh thực sự nằm ở các lệnh gọi hàm bên ngoài. Monty tạm dừng tại mỗi lần gọi đến một hàm đã khai báo, callback Go của bạn thực thi nó, và Monty tiếp tục với giá trị trả về. Nhiều hàm có thể được đăng ký và điều phối theo tên.

Giới hạn tài nguyên và an toàn

Mã chạy không kiểm soát được xử lý với các giới hạn có thể cấu hình: thời gian tối đa, bộ nhớ, phân bổ và độ sâu đệ quy. Vòng lặp vô hạn và bom bộ nhớ kết thúc sạch sẽ với *MontyError. Thời hạn context của Go được tôn trọng. Truy cập hệ thống tệp và môi trường đi qua một callback—không có gì xảy ra trừ khi mã của bạn cho phép.

Tích hợp Gollem

monty-go được thiết kế để cung cấp năng lượng cho chế độ mã trong Gollem, khung agent Go của Fugue. LLM viết Python gọi các công cụ của bạn dưới dạng hàm; Monty thực thi an toàn, và Gollem điều phối luồng. README tuyên bố ba lần gọi công cụ trong một vòng lặp LLM, với độ trễ và chi phí thấp hơn so với gọi công cụ tuần tự truyền thống.

Một lần gọi mô hình thay vì ba. Mã Python gọi các hàm Go của bạn, Monty tạm dừng tại mỗi lần gọi, mã Go của bạn thực thi nó, và Monty tiếp tục. Không container. Không dịch vụ sandbox. Không exec(). Chỉ một tệp nhị phân WASM 2.9MB được nhúng trong tệp nhị phân Go của bạn.
Ban biên tập Manul X
Gọi công cụ truyền thống so với chế độ mã với monty-go
So sánh nhanh
Khía cạnhGọi công cụ truyền thốngChế độ mã với monty-go
Lệnh gọi LLMMột cho mỗi lần dùng công cụMột cho tất cả công cụ
Độ trễN × vòng lặp mô hình1 × vòng lặp mô hình + thực thi μs
Chi phíN × token đầu vào/đầu ra1 × token đầu vào/đầu ra
LogicLLM suy luận từng bướcLLM viết logic một lần
Luồng điều khiểnKhông (chỉ tuần tự)Vòng lặp, điều kiện, biến
Xử lý lỗiLLM phải phản ứng với mỗi lỗitry/except trong Python
Bảo mật✅ (công cụ là hàm Go)✅ (sandbox WASM + callback của bạn)