极客BIM设计工坊公众号文章

Handwired 把 JavaScript 程序改写成可微神经网络,浏览器里就能运行

Handwired为AI Builder提供规则并行化与可微程序的实验路径。

极客BIM设计工坊

公众号 · 436 篇文章

Handwired把一段确定性的JavaScript逻辑改写成可微计算图。它再尝试交给浏览器和WebGPU执行。对AI Builder来说,这是一条把模型判断接到程序执行上的实验路径。

0

默认训练。

100,000

官方演示文档数。

浏览器

运行入口。

Cheng Lou把Handwired称为自己的“玩具项目”。他提出的问题很具体:普通JavaScript代码能不能变成神经网络?这套网络无需训练,输出仍与原程序一致,并且允许梯度传播。

图片

原帖视频演示:条件分支被拆成可视化计算节点。背景中同时显示Handwired生成的界面。

它具体改了哪一步。

Handwired把JavaScript中的条件判断、状态和数值关系整理成计算图。程序不再只按顺序执行一串指令。

官方示例把a > 4 ? 10 : 12改写成ReLU、加法和乘法的组合。

这样做的结果有两个。第一,原来的分支逻辑仍然负责给出结果,权重按程序规则直接写入,不需要先拿数据训练。第二,计算图中的数值可以继续传递梯度,后续可以尝试调整这些权重,或把它接到另一个神经网络上。

图片

原帖视频关键帧:左上展示输入a经过两个ReLU节点生成above4。右侧是可交互图片窗口。

对AI Builder的三种用途。

第一类是批量处理规则。如果应用要对大量JSON文档执行相似的匹配、解析和高亮,逐条运行JavaScript会受到单线程执行方式的限制。Handwired的官方演示把这套逻辑转换成WebGPU内核,用来搜索10万份JSON文档。

这个案例指向浏览器本地的大批量规则计算,适合搜索、筛选、几何计算和数据预处理等环节。

第二类是可优化的界面和布局。项目教程用一个开关说明如何表达输入、事件、状态、坐标和弹簧动画。官方的Learned gallery让用户画出图片布局,再通过调整权重让图片逐渐贴近草图。

对可视化编辑器、图片排版或交互原型来说,这条路线可以用来探索“约束写成程序,参数交给优化器调整”。

第三类是把模型理解和程序执行接起来。语言模型可以负责理解“把这些图片排成三列”这类自然语言。Handwired程序负责计算位置、边界和状态。

模型输出一个意图,程序执行一组可检查的数值操作。这样的接口更容易拆开测试。

普通使用者暂时不会直接用到。

如果你只是用AI写文章、做客服、生成图片或搭建普通表单,Handwired当前不会直接增加一个可调用的功能。项目需要开发者使用Bun和TypeScript,按照自己的输入、状态、范围和计算关系构建程序。

它只覆盖适合转换的数值型逻辑,不能把任意JavaScript自动变成可微神经网络。

Handwired的价值落在应用内部的一小段高密度计算上。数据量足够大时,可以尝试把规则并行化;界面约束足够复杂时,可以尝试让参数参与优化;需要连接神经网络和确定性流程时,可以采用共同的数值表示。普通AI应用者可以先把它当成架构思路,Builder再把它放进具体项目里验证。

边界。当前项目仍偏实验性质。

官方仓库要求克隆代码后使用Bun运行示例。它适合研究可微程序、浏览器并行计算和神经网络—规则程序的连接方式,尚未成为面向普通应用开发者的即插即用组件。


SOURCES

Handwired官方项目页。

Handwired GitHub README与教程。

Cheng Lou社区帖子与视频演示。

前往微信阅读全文

内容来自公众号,可前往微信查看原文。

查看作者的更多文章 →订阅更新、RSS 与阅读指南 →