# AI 辅助说明

开发中使用 AI 工具（Codex、Claude）辅助架构设计、MoonBit 编码、夹具转换、测试、CLI、CI 和文档。所有结果都经过实际编译、测试和运行验证。上游用例和差分测试的预期值来自独立来源，不是用被测代码生成的。

参赛者应能解释：

1. 解析器如何生成隐藏的模板结构，为什么解析后可以复用。
2. 操作符规则表如何决定前缀、分隔符、命名输出和编码方式。
3. 普通展开为什么编码 `/` 和 `%`，保留展开为什么保留它们。
4. 未定义、空字符串、空列表的区别。
5. 前缀为什么按原始码点截断，以及这和参考实现的差分结果是什么关系。
6. 有界展开如何在写入前检查预算。
7. 增量会话如何只重算受影响的端点，又如何在保留历史快照时共享存储。
8. 单引号兼容扩展的原因。
9. OpenAPI 参数如何按附录 C 合成模板，哪些风格没有 RFC 6570 对应写法。

演示：`npm run demo`；修改 `examples/main.mbt` 中的变量后重新运行；用错误模板展示错误码和位置；打开 `npm run playground`。
