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社区帖子与视频演示。