# 用自然语言定义函数,把程序编译成权重 [网页](https://programasweights.com/zh/research/) · [English](https://programasweights.com/research/) 编译一次,保存程序,在本地反复调用。 修复格式错误的 JSON、筛选需要处理的日志、根据用户意图匹配页面——这些函数容易用语言说清楚,却难以写成一套完整的规则。Program-as-Weights(PAW)提出模糊函数编程,把函数说明编译成可保存、可加载、可重复调用的神经程序。 PAW 让大模型承担构建工具的工作。编译器读取函数说明,生成供小模型执行的程序;共享的神经解释器加载程序,处理每一次新输入。函数的行为由文本伪程序和生成的参数共同表达。 ### 例如,定义一个判断消息是否紧急的函数 PAW 论文图 1 用下面的消息分类说明编译与执行的分工。 函数规格:classify if this is urgent 输入:Need your signature by EOD! 输出:urgent 先把“判断消息是否紧急”编译成一个程序并保存。之后每收到一条消息,就把它交给加载了该程序的小模型。下一条消息继续使用同一个函数。 [论文出处](https://arxiv.org/html/2607.02512v1#S1) ### 从函数描述到可执行的权重 PAW 把函数的定义和调用分开。编译器生成程序,解释器执行程序。 #### 写下函数说明 用自然语言说明输入、输出和判断规则。函数说明也支持输入输出示例。 #### 编译并保存程序 PAW 先整理出文本伪程序,再用经过训练的 LoRA 编译器生成适配器权重。其中,LoRA 权重由一次前向传播产生。文本与权重一起构成可保存的神经程序。 #### 加载后在本地执行 冻结的小语言模型充当共享解释器。它加载对应程序,接收新输入并返回结果。不同函数保存各自的程序,复用同一个解释器。 ### 训练、编译、执行,各自做什么? #### 训练:学会构建函数 PAW 使用函数说明、输入和输出样本训练编译器,让它学会从说明生成程序。FuzzyBench 提供一千万条样本,覆盖分类、解析、格式转换、模糊匹配等任务。 #### 编译:为一个函数生成程序 训练好的 PAW 编译器根据新函数的描述,一次前向传播生成 LoRA 权重,无需为这个新函数再做梯度训练。编译结果可以保存、缓存和版本管理,随后交给配套的解释器运行。 #### 执行:把函数用于新输入 每次函数调用都由本地解释器完成。程序和解释器下载到设备后,执行过程不再调用远程大模型。 ### 模糊函数编程 把难以穷举规则的行为写成函数说明,编译为神经程序,再从普通代码中调用。 ### 编译器与解释器接口 程序包含文本伪程序和参数高效模块。PAW 实现并比较了前缀向量与 LoRA 适配器两种程序表示。 ### 评测与本地运行 PAW 发布 FuzzyBench,并提供 Python、JavaScript 和浏览器运行路径,让编译后的程序进入实际软件。 ### 让 AI 构建工具 Yuntian Deng 在 2026 年 6 月 5 日的文章 From AI as Problem Solver to AI as Tool Builder 中提出,让预训练模型生成小型神经程序。人们用自然语言创建和更新这些工具,再把它们放到电脑、手机或机器人上运行。PAW 把这个方向落实为函数、程序、编译器和解释器。 日期:2026-06-05 [延伸阅读](/research/ai-as-tool-builder/) ### PAW 原始论文 首次公开:2026-07-02 发表会议:NeurIPS 2026 第一作者为 Wentao Zhang;他与 Liliana Hotsko、Woojeong Kim 贡献相同。 ### Compile by Training:在编译时训练程序 Compile by Training 延续 PAW 的程序格式和本地解释器。教师模型根据函数说明生成训练样本,PAW 的快速编译器提供初始程序,再用这些样本训练该函数的 LoRA 适配器。训练完成后保存程序,本地执行不再调用教师模型。 首次公开:2026-09-03 发表会议:EMNLP 2026 System Demonstrations PAW 的快速编译器直接预测新函数的权重;Compile by Training 在编译阶段加入针对这个函数的适配器训练。两者都把构建函数的工作放在调用之前,并复用保存的程序。 ### 引用论文 PAW 的编程范式、编译器与解释器接口、本地神经程序见原始 PAW 论文。在编译阶段生成样本并训练适配器的方法见 Compile by Training。 ## 论文与引用 ## Program-as-Weights: A Programming Paradigm for Fuzzy Functions 作者:Wentao Zhang, Liliana Hotsko, Woojeong Kim, Pengyu Nie, Stuart Shieber, Yuntian Deng 提出模糊函数编程:将自然语言函数说明编译成神经程序,保存后由小模型在本地反复执行。 首次 arXiv 提交:2026-07-02。NeurIPS 2026 (accepted) 与 PAW 的关系:PAW 建立编译器与解释器接口,程序同时包含文本和生成的参数,并提供 FuzzyBench、本地运行接口及图像条件编译。Compile by Training 沿用这一程序格式和运行时。 程序形式:文本伪程序与编译器生成的参数高效模块,如 LoRA 适配器或前缀向量。 编译输入:函数说明,也支持输入输出示例;图像扩展还接收视觉信息。 执行方式:冻结的轻量解释器加载保存的程序,在本地处理新输入。 [论文](https://arxiv.org/abs/2607.02512) · [英文论文条目](https://programasweights.com/reading-list/papers/2607.02512/) · [BibTeX](https://programasweights.com/reading-list/papers/2607.02512/citation.bib) · [CSL-JSON](https://programasweights.com/reading-list/papers/2607.02512/citation.csl.json) ## Compile by Training: Turning Natural-Language Specifications into Local Neural Functions 作者:Yuntian Deng, Pengyu Nie, Stuart Shieber 根据函数说明生成训练样本,再训练 LoRA 适配器,将一次函数定义构建成可复用的本地神经程序。 首次 arXiv 提交:2026-09-03。EMNLP 2026 System Demonstrations 与 PAW 的关系:在 PAW 的快速编译结果上增加针对当前函数的训练,保留 PAW 的程序格式和解释器接口。 程序形式:包含 LoRA 适配器、运行提示词、函数说明和解释器元数据的 PAW 程序。 编译输入:函数说明指导教师模型生成样本,PAW 快速编译器提供初始适配器与运行提示词。 执行方式:冻结的 Qwen3-0.6B 解释器执行保存的函数,不再调用教师模型。 [论文](https://aclanthology.org/2026.emnlp-demos.78/) · [英文论文条目](https://programasweights.com/reading-list/papers/2609.04199/) · [BibTeX](https://programasweights.com/reading-list/papers/2609.04199/citation.bib) · [CSL-JSON](https://programasweights.com/reading-list/papers/2609.04199/citation.csl.json)