Monty ,一个用 Rust 编写的极简、安全的 Python 解释器,专为 AI 使用而设计。github.com/pydantic/monty
Monty 避免了使用基于完整容器的沙箱来运行大语言模型生成代码所带来的成本、延迟、复杂性和种种麻烦。相反,它允许你安全地运行嵌入在智能体中的 LLM 编写的 Python 代码,启动时间仅为个位数微秒级别,而非数百毫秒。
Monty 能够做到:🌟运行合理范围内的 Python 代码子集——足以让智能体表达其意图🌟完全阻断对主机环境的访问:文件系统、环境变量和网络访问均通过开发者可控的外部函数调用实现🌟调用主机上的函数——仅限你授权访问的函数🌟执行类型检查——Monty 支持完整的现代 Python 类型提示,并内置 ty 工具,以单个二进制文件提供类型检查功能🌟在外部函数调用时将状态快照保存为字节流,意味着你可以将解释器状态存储在文件或数据库中,并在之后恢复执行🌟极快的启动速度(从代码到执行结果耗时小于 1 微秒),运行时性能接近 CPython(通常在比 CPython 快 5 倍到慢 5 倍之间)🌟可从 Rust、Python 或 JavaScript 调用——由于 Monty 不依赖 CPython,你可以在任何支持运行 Rust 的环境中使用它🌟控制资源使用——Monty 可追踪内存使用、内存分配、栈深度和执行时间,并在超出预设限制时中止执行🌟捕获并返回 stdout 和 stderr 输出🌟通过主机上的异步或同步代码执行异步或同步代码