Legion

由波兰软件公司 Software Mansion 开源发布的 Elixir 运行时

AI编程开发 部分免费

Legion 是由波兰软件公司 Software Mansion 开源发布的 Elixir 运行时,专门用于将 AI 智能体嵌入到 Elixir 应用程序内部,让智能体直接通过编写和执行代码来完成任务,而不仅仅是对话生成回复。与普通的聊天式 AI 助手不同,Legion 智能体能够主动操作应用内部数据——查询记录、生成报表、修改配置、提交工单——所有行为均由开发者通过注册函数严格限定权限范围。

该项目的核心技术实现建立在 Elixir/Beam 虚拟机之上,每个智能体实例都是一个独立的 Beam 进程,支持标准的监督树结构、进程池和进程间消息传递。智能体输出的代码运行在 Lua 沙箱环境中,有独立的超时、内存和 CPU 预算限制。Lua 脚本无法直接访问宿主 BEAM 进程,所有对外交互的唯一出口是开发者预先注册的 Elixir 函数工具,确保即便智能体生成有害代码也无法突破沙箱边界。

工具注册机制采用「use Legion.Tool」宏的设计模式:开发者在任意模块上添加该宏声明,Legion 会自动读取模块源码并识别出可被智能体调用的函数,无需编写额外的工具定义文件,也不用担心工具接口与实际代码不同步的问题。权限控制方面,每个智能体在启动前可以设置认证上下文,智能体生成的代码在运行时可以读取该上下文中的用户身份信息,但永远看不到具体的认证凭证,实现了用户级别的数据隔离。

Legion 提供了开箱即用的生产级能力:所有对话历史默认保存在开发者指定的 Postgres 数据库中,支持速率限制;内置 LiveView 仪表板可以实时展示智能体的对话过程、每次代码生成和执行的完整步骤,以及各层的遥测数据;支持以 MCP 服务器形式对外提供服务,无缝对接 Claude Desktop、Cursor 等主流 AI 工具生态。

快速上手流程通常包括四个步骤:首先在 mix.exs 中添加 Legion 依赖并运行 mix deps.get;其次定义工具模块并使用 use Legion.Tool 声明可调用函数;然后启动 Legion 智能体进程并设置认证上下文;最后向智能体发送自然语言指令,智能体会在沙箱中编写 Lua 代码并调用已注册的工具完成指定任务。整个过程无需额外部署服务或编写配置文件。

Legion 主要面向已经在使用 Elixir/OTP 构建后端服务的开发团队,以及需要将 AI 能力深度集成到现有业务系统而不是单纯依赖外部对话接口的场景。对于有意探索 Agent 架构、关注工具调用安全性和代码执行可控性的 Elixir 开发者而言,这是一个值得关注的技术选型。

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论