大语言模型时代新领域特定语言如何存活?需文档、营销与工具支持!
大语言模型时代新领域特定语言(DSL)如何存活?需文档、营销与工具支持!
在过去几十年里,人们用 Python、Rust、Ruby 等“传统”软件语言编写了不计其数的项目,这些代码为大语言模型(LLM)提供了丰富训练素材。随着模型发展,幻觉现象(指模型生成的内容与事实不符)已大幅减少。
不过,可供训练的源代码数量并非唯一关键因素,围绕这些语言的先进工具同样重要。类型检查器、代码检查工具、语言服务器、编译器、解释器、测试框架等一应俱全。这些工具让软件更贴近实际应用,能为大语言模型代理提供即时反馈,比如类型检查器能在代码运行前捕捉幻觉问题。
正因如此,越来越多传统软件语言被用于创造更多内容,以供未来模型训练,这似乎形成了一种反馈循环。
那么,在大语言模型时代,一种新语言要如何立足呢?答案与以往做法差异不大,即出色的文档、有效的营销和强大的工具支持。潜在语言使用者如何了解新语言、如何入门,以及语言如何与现有工具和工作流程集成,都是需要考虑的问题。一种现代语言需要强大的语言服务器、完善的文档和良好的入门流程。
一种新语言若想与大语言模型代理良好协作,还需更多努力。
文档与上下文
一种方法是让新语言从二进制文件本身生成类似 AGENTS.md 的文件,就像这样:`webpipe init --codex`。这是 [Web Pipe](https://github.com/williamcotton/webpipe) 使用的 [大语言模型模板](https://github.com/williamcotton/webpipe/blob/main/src/scaffold/templates/LLM.md.template),Web Pipe 是最近一直在开发的一个实验性 Web 应用领域特定语言(DSL)。
这可能有点不公平,因为 Web Pipe 有一些其他领域特定语言可能没有的优势。它嵌入了 jq、Lua、JavaScript、SQL 等多种语言,大语言模型已对这些语言有所了解,基于管道的编程方法在语法和语义上并不难学。
仅以这个 AGENTS.md 模板文件为指导,已在 Codex 中通过一次性提示成功创建了使用 Web Pipe 的演示应用程序。
着陆页
能越快传达新语言的用途和使用场景,效果越好;能越快让人们开始使用这种语言,效果也越好。如今,为新语言创建 WebAssembly(WASM)运行时环境变得前所未有的容易,因此在着陆页顶部添加一个交互式编辑器会很有帮助,就像另一个名为 [Datafarm](https://williamcotton.github.io/datafarm-studio) 的项目那样。
所以,不要只针对命令行工具这样的单一运行时,也要考虑浏览器运行时。
工具支持
需要强大的诊断功能,从编译时到运行时,再到代码检查,要想尽办法解决问题。需要一个语言服务器,还需要与底层诊断工具进行多种交互,现在有大量智能编程工具可以提供帮助。
发现的一种模式是创建一个既能作为运行时又能作为语言服务器的单一二进制文件,这样可确保两者之间的诊断反馈保持一致。此外,将诊断功能与语言服务器协议(LSP)应用程序编程接口(API)分离,意味着可为像 Monaco 这样的可嵌入浏览器的组件提供 WebAssembly 诊断工具,能让无论使用何种工具或运行时,拼写错误和语法错误下面都出现红色波浪线。
认为,随着满足语言发展所需条件变得越来越容易,未来几年将见证大量新语言涌现,尤其是领域特定语言(DSL)。
