返回首页
最新
完整技术论文及基准测试与AST解析:
https://aslang.dev/blog/why-llms-struggle-with-python-and-rust
在过去两年中,我们观察到编码代理生成代码时,反复出现相同的失败模式:模型在推理计算中有32%到41%的时间被困在语法修复循环中。
当我们调查这一现象背后的信息理论时,我们意识到问题并不在于模型规模,而是在面对以人为中心的语法时,变换器注意力头的计算几何特性:
1. Python的偏移规则:词法分析需要一个内部的后进先出(LIFO)缩进栈。关闭三个代码块不会输出任何字符。一个空格令牌的分割会悄然改变AST子树的父节点。
2. Rust的借用检查器:有效性依赖于跨生命周期和控制流图(CFG)进行的非局部约束求解。自回归生成是严格的前向因果(O(1)前馈);在生成过程中无法向后传播生命周期冲突。
我们构建了AgentScript(ASL):一种开源的静态类型语言,使用单遍S表达式,直接编译为原生Rust、Go、TypeScript和WebAssembly(wasm32-wasip1)。
构建时强制执行的关键属性:
* 语法平衡的括号:从左到右的注意力头始终知道父作用域。
* 闭合词汇(prelude.json):100%的内置函数都经过类型检查和评估;没有未建模的外部调用。
* 亚毫秒级的Wasm沙箱:在0.038毫秒内进行内存中的WASI预览1执行,无需Docker或微虚拟机的启动。
* 语法修复崩溃:模型在Rust中生成的令牌中有46.5%用于修复语法(我们的硬基线),在Python中为34.2%。在AgentScript中,修复迭代次数相比Rust基线减少了98.3%(从4.8次降至0.08),将语法修复浪费减少到仅1.2%。
我们的使命:为小模型提供最佳的本地开发工具
虽然云集群上的前沿模型部分依靠蛮力处理复杂的人类语法,我们的使命是为小模型(SLMs:3B到31B,如Qwen、Gemma、Llama)在开发者机器上直接运行构建最有效的自主工具。
在Apple Silicon或笔记本电脑上,内存和注意力是宝贵的。结合单遍、平衡括号的语言和驻留的AST批量RPC,消除了导致小模型失效的语法波动和上下文腐烂。
预发布Alpha与积极开发:
AgentScript目前处于早期预发布Alpha阶段——我们尚未有标记的v0.1版本,并且正在积极迁移到100%自托管的编译器和WASI运行时。但即使在这个阶段,代理循环内的实证结果也非常引人注目。
在本地及代理技能中尝试:
我们不提供浏览器内的游乐场——请在真实的代理工作流程中直接测试:
1. CLI工具链:curl -fsSL https://aslang.dev/install.sh | bash(或克隆GenSEAM/asl并执行cargo build --release)
2. 为代理技能(Claude Code、Cursor、Antigravity)配备AST验证和批量RPC:
asl rpc '(:batch (:out "src/main.asl") (:sym "my_func"))'
Terminal-Bench 4.0基线(宏结果,非挑选):
我们在Terminal-Bench 4.0上打包了我们的基线提交(在严格的隔离环境下对Gemma 4 31B进行测试):
* 宏通过率:在评估的89个任务中为13.5%(12个验证通过/89个总任务)。
* 基线比较:常见工具(Claude Code、Codex、CLI循环)在与开放权重模型配对时在该套件中的得分为0.0%,原因是子壳状态丢失、引用漂移和上下文膨胀。纯ASL在隔离环境中在Gemma 31B上实现了13.5%。
* 令牌经济:与标准代理CLI基线相比节省77.3%的令牌。
转录与提交压缩包: https://github.com/GenSEAM/harness
核心编译器与运行时仓库: https://github.com/GenSEAM/asl
我们期待来自编译器工程师、语言设计师和系统构建者对语法设计和代理引导架构的批评性反馈!