Modular 在设计整套技术栈时发现,横跨编译器、算子库、推理框架、服务层等多层环境进行编程过于复杂,不同厂商、不同层级的组件各自为政,形成难以扩展也难以优化的脆弱堆栈。Mojo 的出发点正是用一个语言层把这些层级串起来,降低跨层开发与调优的成本。
Mojo 的目标之一是提供灵活且可扩展的编程模型,使其能够面向 CPU、GPU、AI 加速器以及其他在 AI 领域普遍存在的异构系统,让开发者不必为每一种加速器重写代码,从而统一 AI 软件基础设施。
Mojo 官方明确指出,现有语言未能很好地支持其所需要的能力,包括强大的编译期元编程、自适应编译技术的集成,以及编译流程缓存等特性。这些能力被作为语言的原生组成部分纳入设计,而非事后追加的外部工具。
Mojo 并不打算一开始就与 Python 生态切割。它采用接近 Python 的语法,支持直接导入并调用 Python 模块,并提供从 Python 调用 Mojo 的绑定机制,使项目可以按模块粒度逐步迁移,而不是一次性重写。