从氛围编程到乔姆斯基:在充满提示词的世界里,语言学能否迎来爆发?
内容提要
作者反思“氛围编程”依赖自然语言提示,虽快却含糊易错。他回顾乔姆斯基1956年借编译器形式文法研究句法,建立形式语言层级。如今大模型将代码扁平为词元做概率猜测,扩大调试面。作者认为需为AI编码代理加入调用图、类型等结构,并设想提示形式语义、上下文模型与混合语言,让语言学重回AI工具领域。
延伸解读
从乔姆斯基到氛围编程:形式与直觉的钟摆
文章回顾了乔姆斯基1956年借编译器形式文法研究句法,建立形式语言层级,将语法与意义分离。如今氛围编程依赖自然语言提示,虽快速表达但不够精确,大模型将代码扁平为词元做概率猜测,导致调试面扩大。作者认为我们正触及过松系统的极限,渴望更清晰的边界,这呼应了乔姆斯基当年对形式化的追求。
结构注入:让AI编码代理更可靠
为应对氛围编程的模糊性,作者提出需为AI编码代理加入调用图、类型信息、符号表等结构,以保持其诚实。他正在构建Nuanced,通过静态分析仓库、构建调用图,仅向LLM提供所需节点,使提示保持英语而执行恢复乔姆斯基级精度。这被视为让氛围编程更安全的一小步。
语言学的复兴:从语法到AI工具
如果自然语言界面持续吞噬软件,语言学的角色可能重回聚光灯下。作者设想提示的形式语义、上下文模型(将句子锚定到相关代码或数据切片)、以及介于英语与DSL之间的混合语言。这些涉及句法、语义、语用学,但更新于代码库和API,可能推动语言学在AI工具、提示工程和编译器即服务层中发挥作用。
Q&A
乔姆斯基1956年为什么转向研究编程语言?
乔姆斯基想用数学严谨性描述人类句法,但传统语言学缺乏明确语法。他从早期编译器研究中找到了现成的形式化工具,如正则文法、上下文无关文法以及有限自动机、下推自动机等模型,从而能够建立可测试的语法理论。
乔姆斯基层级包含哪四个层级?
乔姆斯基层级包含四个层级:正则文法、上下文无关文法、上下文敏感文法、递归可枚举文法。这个层级成为编译器理论的基石,也为理解人类语言提供了新视角。
氛围编程有什么主要缺点?
氛围编程依赖自然语言提示,虽然快速且表达力强,但不够精确。由于大语言模型将代码扁平化为词元并进行概率猜测,导致流程可重复性差,显著扩大了猜测范围和调试面。
作者认为如何让AI编码代理更可靠?
作者认为需要为AI编码代理加入新的结构层,例如调用图、类型信息、符号表等,以保持代理的诚实性。他正在构建Nuanced,通过静态分析仓库、构建调用图,只向LLM提供所需的节点,从而在保持英文提示的同时恢复乔姆斯基级别的精确性。
作者设想了哪些语言学在AI工具中的新应用方向?
作者设想了三个方向:为提示词定义形式语义,使“center this div”在不同提示和仓库中含义一致;构建上下文模型,用图将句子锚定到相关代码或数据;设计混合语言,即介于英语和领域特定语言之间的中间表示,可读且无歧义。
Nuanced.dev是什么?它如何工作?
Nuanced.dev是作者构建的工具,旨在为AI编码注入缺失的结构。它静态分析代码仓库,构建调用图,然后只将LLM需要的节点提供给模型。这样提示词保持英文,但执行过程恢复了乔姆斯基级别的精确性,使氛围编程更安全。