MCL 是什么
MCL 是 Metaverse Construction Language 的缩写。在 Sigla 里,它是让 Space 对 AI 可读的那一层。Space 不只是一块屏幕,也不只是一段对话;它有界面、数据、文件、逻辑和已接入的能力。MCL 把这些描述在同一个结构里。
关键不在语法,而在代码能解释应用。Agent 能看到应用做什么、状态在哪里、有哪些操作可用,不需要另一份可能过期的规格说明。
为什么是 AI Native,而不只是 AI 辅助
AI 辅助产品给为人设计的软件加一个聊天界面;AI 原生产品则让 AI 能读取、修改、运行和验证它。差别在第一版之后才显现:
- Agent 能看到当前实现吗?
- 能在原地修改应用吗?
- 能运行结果并检查修改是否生效吗?
- 人和 Agent 能使用同一个结果吗?
MCL 按这四个问题都回答「能」来设计。这也是它被称为 AI Native 框架,而不是「带聊天框的代码生成器」的原因。
MCL 表达什么
| Space 的组成部分 | 代码描述什么 |
|---|---|
| 界面 | 视图、布局、组件和交互 |
| 数据 | 存储、记录和状态 |
| 逻辑 | 操作、流程和方法 |
| 文件 | Space 使用的文件和素材 |
| Skills | 绑定到 Space 的能力 |
| MCP | Space 能访问的外部工具和数据 |
| 自动任务 | 定时与触发的工作 |
因为这些都在同一个结构里,改一部分时能对照其他部分理解。Agent 不是在改一张截图,也不是在猜数据库结构。
AI 如何构建和修改 Space
- 读取:Agent 查看当前 MCL 视图、MCS 逻辑、数据、文件和日志。
- 计划:判断这次需求需要改 Space 的哪些部分。
- 修改:编辑运行 Space 的同一份代码。
- 运行:修改在运行中的应用里生效。
- 验证:你在渲染区检查;Agent 也可以查看数据和日志。
这个循环让结果可以持续变化,也让 Agent 能替你操作应用:它修改的结构,就是它在运行时能读取的结构。
MCL 与传统应用框架
| 传统框架 | MCL | |
|---|---|---|
| 为谁优化 | 人类写代码 | AI 读取、修改、运行和验证 |
| 代码与上下文 | 文档和运行时分开 | 代码就是上下文 |
| 修改循环 | 改、构建、部署、测试 | 改、运行、在 Space 里验证 |
| 谁操作应用 | 人,通过界面 | 人和 Agent |
| 部署 | 单独一步 | 边构建边运行 |
这并不意味着传统框架过时。MCL 面向的是另一类工作:人和 Agent 一起构建、一起使用的软件。
一个短例子
<view>
[research_board]
[h1] { "text": "每周研究" }
[task_list]
{each: self.items as item}
[task_item]
[text] { "text": "$item.title" }
</view>
<script>
state:
items: []
def refresh:
@desc: "刷新研究列表"
@flow:
self.items = await mcs.fetch_items()
</script>
具体语法没有「视图、状态和操作在同一份可读结构里」这个形状重要。Agent 可以改列表、改状态或改操作,不需要额外的翻译步骤。
MCL 不是什么
- 它不是拖拽式无代码搭建器。你描述结果,AI 写和改代码。
- 它不是套在固定模板外面的提示词包装。Space 可以在结构上变化。
- 它还不是开源的。MCL 已在 Sigla 中使用,开源版本正在准备中。
常见问题
MCL 是一门编程语言吗?
它是用来描述 Space 的语言,也是 Sigla AI Native 框架的一部分。你不需要自己写它;AI 根据你的要求写和改。
用 Sigla 需要学 MCL 吗?
不需要。你描述应用或要改的地方,MCL 让结果对 Agent 可读。想查看或手改 Space 时,开发模式会展示 MCL 视图、MCS 逻辑、数据、文件和日志。
MCL 开源了吗?
还没有。MCL 已在 Sigla 中使用,开源版本正在准备中,准备好后会在这里公布。
MCL 和应用生成器有什么不同?
应用生成器产出第一版,然后把代码库交给你。MCL 让运行中的应用和它的代码保持在同一套结构里,Agent 可以继续修改和验证。
MCL 能连接外部工具吗?
可以。MCL 自带 Agent、Skills 和 MCP 的接入能力。Space 也可以从 MCP 导入能力到 Skill 库。