2022 年,作者创建了一个名为“PaintBrush”的 Python 类,旨在通过创意视觉项目引导高中生学习编程。尽管如今人工智能可以在几秒钟内生成此类代码,但作者认为这些课程依然至关重要。教育者不应将人工智能视为威胁,而应利用它快速构建各种全新的抽象工具(如音乐合成器或数据可视化工具),从而让学生保持创造力挑战。
其目标是将重心从容易诱发人工智能“走捷径”的枯燥重复性任务,转向能够让学生获得成就感与自我效能感的有意义项目。通过将高阶抽象作为创意表达的工具,教师可以激发学生的内在参与度,鼓励他们亲手编写代码——这并非因为他们缺乏人工智能助手,而是因为创作过程本身真实、具有表现力且充满乐趣。归根结底,利用大语言模型快速生成新工具,使教育者能够不断更新课程,从而确保每一位学生的学习体验都既有收获又独具个人色彩。
Numba JIT 编译器现已可通过 JupyterLite 在浏览器中完全运行,从而无需远程服务器即可进行高性能科学计算。此前,由于浏览器限制应用程序创建可执行内存——这是 Numba 原生 JIT 编译的必要条件,因此无法实现此功能。
为了克服这一难题,开发人员为 `llvmlite` 创建了一个支持 WebAssembly 的全新执行引擎。该架构不再使用标准的 JIT 机制,而是将 LLVM IR 编译为 WebAssembly 目标文件,通过进程内的 `lld` 链接器进行链接,并将其作为 Emscripten 副模块动态加载。这种方法使 Numba 能够以原生方式在浏览器中运行,与标准 Python 相比,性能显著提升,某些情况下可达 250 倍。
通过 `emscripten-forge` 对 Numba 进行打包,该解决方案现已支持包括 PyTensor、PyMC 以及各种数值经济学工具在内的庞大科学计算库生态系统。这一进展将 JupyterLite 从简单的 Python 环境转变为能够进行严肃编译型科学计算的平台,使复杂的编译器栈能够在浏览器的安全模型下高效运行。