MoFA (Modular Framework for Agents) 不是又一个智能体框架。 它是第一个实现"一次编写,多语言共享"的生产级智能体框架,专注于极致性能、无限扩展性和运行时可编程性。 通过革命性的架构设计,独创双层插件系统(编译时插件 + 运行时插件),实现了业界罕见的"性能与灵活性"完美平衡。
MoFA的突破:
✅ Rust内核 + UniFFI:极致性能 + 多语言原生调用
✅ 双层插件:编译时高性能 + 运行时零部署修改
✅ 微内核架构:模块化,易扩展
✅ 云原生:天生支持分布式和边缘计算
- 基于Rust 零成本抽象
- 内存安全
- 比Python生态框架性能提升显著
- 通过UniFFI生成Python、Java、Go、Kotlin、Swift绑定
- 支持多种语言调用Rust核心逻辑
- 跨语言调用性能优于传统FFI方案
- 集成Rhai脚本引擎
- 支持热重载业务逻辑
- 支持运行时配置和规则调整
- 用户自定义扩展
- 编译时插件: 极致性能,原生集成
- 运行时插件: 动态加载,即时生效
- 支持插件热加载和版本管理
- 支持Dora-rs分布式运行时
- 跨进程/跨机器Agent通信
- 适合边缘计算场景
- Agent间隔离性好
- 消息驱动架构
- 支持高并发场景
MoFA采用分层微内核架构,通过双层插件系统实现极致的扩展性:
┌─────────────────────────────────────────────────────────┐
│ 业务层 │
│ (用户自定义Agent、工作流、规则) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 运行时插件层 (Rhai脚本) │
│ • 动态工具注册 • 规则引擎 • 脚本化工作流 │
│ • 热加载逻辑 • 表达式求值 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 编译时插件层 (Rust/WASM) │
│ • LLM插件 • 工具插件 • 存储插件 • 协议插件 │
│ • 高性能模块 • 原生系统集成 │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ 微内核 (mofa-kernel) │
│ • 生命周期管理 • 元数据系统 • 通信总线 │
│ • 任务调度 • 内存管理 │
└─────────────────────────────────────────────────────────┘
编译时插件 (Rust/WASM)
- 极致性能,零运行时开销
- 类型安全,编译期错误检查
- 支持复杂系统调用和原生集成
- WASM沙箱提供安全隔离
运行时插件 (Rhai脚本)
- 无需重编译,即时生效
- 业务逻辑热更新
- 用户自定义扩展
- 安全沙箱执行,可配置资源限制
组合威力
- 性能关键路径使用Rust插件(如LLM推理、数据处理)
- 业务逻辑使用Rhai脚本(如规则引擎、工作流编排)
- 两者无缝互操作,覆盖99%的扩展场景
MoFA采用分层微内核架构,以 mofa-kernel 为核心,所有其他功能(包括插件系统、LLM能力、多智能体协作等)均以模块化组件形式构建在微内核之上。
- 核心简洁性: 微内核仅包含智能体生命周期管理、元数据系统和动态管理等最基础功能
- 高扩展性: 所有高级功能通过模块化组件和插件形式扩展,保持内核稳定
- 松耦合: 组件之间通过标准化接口通信,易于替换和升级
- 插件系统基于微内核的
Plugin接口开发,所有插件(包括LLM插件、工具插件等)均通过AgentPlugin标准接口集成 - 微内核提供插件注册中心和生命周期管理,支持插件的热加载和版本控制
- LLM能力通过
LLMPlugin实现,将LLM提供者封装为符合微内核规范的插件
- LLM作为微内核的插件组件存在,通过
LLMCapability接口提供统一的LLM访问能力 - 所有智能体协作模式(链式、并行、辩论等)均构建在微内核的工作流引擎之上,并通过标准化的LLM插件接口与LLM交互
- 秘书模式同样基于微内核的A2A通信协议和任务调度系统实现
- 编译时插件: 极致性能,原生集成
- 运行时插件: 动态加载,即时生效
- 两者无缝协作,覆盖所有场景
- 优先级调度: 基于优先级的任务调度系统
- 通信总线: 内置的智能体间通信总线
- 工作流引擎: 可视化工作流构建器和执行器
- LLM抽象层: 统一的LLM集成接口
- OpenAI支持: 内置的OpenAI API集成
- ReAct模式: 基于推理和行动的智能体框架
- 多智能体协作: LLM驱动的智能体协调,支持多种协作模式:
- 请求-响应模式: 一对一确定性任务,同步等待返回结果
- 发布-订阅模式: 一对多广播任务,多个接收者异步处理
- 共识机制模式: 多轮协商与投票决策,适合需要达成一致的场景
- 辩论模式: 多个Agent交替发言,通过迭代优化结果质量
- 并行模式: 多Agent同时执行并自动聚合结果
- 顺序模式: 流水线执行,前一个Agent的输出作为后一个的输入
- 自定义模式: 用户自定义协作模式,由LLM解释执行
- 秘书模式: 提供端到端的任务闭环管理,包括5个核心阶段:接收想法→记录Todo、澄清需求→转换为项目文档、调度分配→调用执行Agent、监控反馈→推送关键决策给人类、验收汇报→更新Todo
特点:- 🧠 自主任务规划与分解
- 🔄 智能Agent调度编排
- 👤 关键节点人类介入
- 📊 全流程可观测追溯
- 🔁 闭环反馈持续优化
- 多种后端: 支持PostgreSQL、MySQL和SQLite
- 会话管理: 持久化的智能体会话存储
- 记忆系统: 状态化智能体记忆管理
- 仪表盘: 内置的Web仪表盘,支持实时指标
- 指标系统: Prometheus兼容的指标系统
- 追踪框架: 分布式追踪系统
MoFA 集成了 Rhai 嵌入式脚本语言,提供运行时可编程能力,无需重新编译即可修改业务逻辑。
- 安全沙箱执行: 可配置的操作数限制、调用栈深度、循环控制
- 脚本编译缓存: 预编译脚本,提升重复执行性能
- 丰富的内置函数: 字符串操作、数学函数、JSON处理、时间工具
- 双向JSON转换: JSON与Rhai Dynamic类型无缝转换
- 脚本任务节点: 通过脚本执行业务逻辑
- 脚本条件节点: 动态分支判断
- 脚本转换节点: 数据格式转换
- YAML/JSON工作流加载: 通过配置文件定义工作流
- 脚本化工具定义: 运行时注册工具
- 参数验证: 类型检查、范围验证、枚举约束
- 自动JSON Schema生成: 兼容LLM Function Calling
- 热加载: 从目录动态加载工具
- 优先级规则: Critical > High > Normal > Low
- 多种匹配模式: 首次匹配、全部匹配、有序匹配
- 复合动作: 设置变量、触发事件、跳转规则
- 规则组管理: 支持默认回退动作
| 场景 | 说明 |
|---|---|
| 动态业务规则 | 折扣策略、内容审核规则,无需重新部署 |
| 可配置工作流 | 用户自定义数据处理管道 |
| LLM工具扩展 | 运行时注册新工具供LLM调用 |
| A/B测试 | 通过脚本控制实验逻辑 |
| 表达式求值 | 动态条件判断、公式计算 |
- Dora-rs运行时支持,用于分布式数据流
- 完整的分布式追踪实现
- Python绑定生成
- 更多LLM提供商集成
- 可视化工作流设计器UI
- 云原生部署支持
- 高级智能体协调算法
- 智能体平台
- 跨进程/跨机器分布式Agent协作
- 多智能体协作标准协议
- 跨平台移动端支持
- 向智能体操作系统演进
将MoFA添加到您的Cargo.toml:
[dependencies]
mofa-sdk = "0.1.0"运行时模式最适合需要构建完整智能体工作流的场景,具体包括:
- 多智能体协同工作场景
运行时提供消息总线(SimpleMessageBus/DoraChannel)和智能体注册系统,支持智能体之间的:
- 点对点通信(send_to_agent)
- 广播消息(broadcast)
- 主题订阅发布(publish_to_topic/subscribe_topic)
- 角色管理(get_agents_by_role)
当需要多个智能体协作完成复杂任务(如主从架构、分工协作)时,运行时的通信机制可以显著简化开发。
- 事件驱动的智能体应用
运行时内置事件循环(run_with_receiver/run_event_loop)和中断处理系统,自动管理:
- 事件接收与分发
- 智能体状态生命周期
- 超时与中断处理
适合构建需要响应外部事件或定时器的应用(如实时对话系统、事件响应机器人)。
- 分布式智能体系统
当启用 dora 特性时,运行时提供Dora 适配器(DoraAgentNode/DoraDataflow),支持:
- 分布式节点部署
- 跨节点智能体通信
- 数据流管理
适合需要大规模部署、低延迟通信的生产级场景。
- 结构化智能体构建
运行时提供AgentBuilder 流式 API,简化智能体的:
- 配置管理
- 插件集成
- 能力声明
- 端口配置
适合需要快速构建标准化智能体的场景,尤其是需要统一管理多个智能体配置时。
- 生产级应用
运行时提供完善的:
- 健康检查与状态管理
- 日志与监控集成
- 错误处理机制
适合构建需要稳定运行的生产级应用,而不是简单的插件测试或原型开发。
为了从用户视角验证 CLI 是否可用于生产,MoFA 提供了黑盒冒烟示例:
- 路径:
examples/cli_production_smoke - 方式:在隔离的
XDG_*目录中调用已构建的mofa二进制 - 校验:基于退出码与稳定输出关键字(不做脆弱的全量快照)
当前覆盖命令:
- 顶层命令:
info、config path、config list - Agent:
start、status、list、restart、stop - Session:
list、show、export、delete - Plugin:
list、info、uninstall - Tool:
list、info
运行方式:
# 仓库根目录
cargo build -p mofa-cli
# examples 工作区
cd examples
cargo run -p cli_production_smoke
cargo test -p cli_production_smoke可选:覆盖二进制路径
export MOFA_BIN=/absolute/path/to/mofa说明:
- 本次 PR 中该冒烟流程为手动验证(尚未接入 CI 必选项)。
- 断言重点是行为与持久化效果,而不是固定输出格式。
我们欢迎贡献!请查看我们的贡献指南了解更多详情。
- GitHub Issues: https://github.com/mofa-org/mofa/discussions
- Discord: https://discord.com/invite/hKJZzDMMm9
MoFA站在巨人的肩膀上:
- Rust - 性能与安全的完美结合
- UniFFI - Mozilla的多语言绑定魔法
- Rhai - 强大的嵌入式脚本引擎
- Tokio - 异步运行时基石
- Ractor - Actor模型并发框架
- Dora - 分布式数据流运行时
- Wasmtime - WebAssembly运行时
源起之道支持|Supported by Upstream Labs
