newsence

Kotlin 創始人推出新語言:以正式語言取代英語與大型語言模型溝通

Hacker News·24 天前

CodeSpeak 是一款專為工程師設計的下一代程式語言,讓您透過維護簡潔的規格說明而非手動編寫程式碼來構建生產級系統,並能將程式碼庫縮減 5 到 10 倍。

背景

Kotlin 的創造者近期推出了一項名為 CodeSpeak 的新計畫,旨在建立一種專為與大型語言模型(LLM)溝通而設計的正式語言,而非僅僅依賴自然語言。這項工具標榜能將程式碼庫縮減 5 至 10 倍,透過維護規格說明(Specs)而非原始碼,讓工程師能以更精簡、更具結構的方式引導 AI 生成生產等級的系統。

社群觀點

Hacker News 社群對此計畫展現了高度的質疑與好奇,討論的核心圍繞在「這是否只是另一種形式的程式語言」。許多開發者直言,CodeSpeak 的範例看起來極其類似簡潔的 Markdown 或規格書,缺乏明確的語法特徵。有人諷刺地指出,軟體工程的演進似乎陷入了一個循環:我們先是為了精確控制程式而發明程式語言,接著為了讓非專業人士能溝通而開發 LLM 來處理自然語言,現在卻因為自然語言太過模糊,又得為 LLM 發明一套新的「簡化版」程式語言。這種現象被戲稱為「第六代語言」的嘗試,甚至被拿來與早期的 COBOL 或 SQL 相比,當時人們也曾幻想主管能直接透過類英語的語法來編寫程式。

在技術實踐層面,不少評論者對「規格即真理」的可靠性提出挑戰。由於 LLM 本身具有非確定性(Non-deterministic),同樣的規格在不同版本的模型或不同的上下文視窗下,可能會生成截然不同的程式碼,這使得版本控制與除錯變得異常複雜。有觀點認為,這種工具本質上是一種「程式碼洗白」服務,將複雜的邏輯隱藏在規格背後。此外,部分資深開發者指出,目前的瓶頸往往不在於提示詞(Prompt)的模糊性,而在於模型對整體專案上下文的理解能力。如果模型建立了錯誤的內部表示,再精確的正式語言也難以挽救產出的品質。

然而,也有部分聲音對此方向表示認同。支持者認為,將人類隨意、散亂的思維轉化為結構化的中間語言(IL),確實能減少 LLM 的幻覺並提高產出的一致性。這類工具可以被視為一種更進階的「文學編程」(Literate Programming)或行為驅動開發(BDD)的延伸。一些開發者分享了自己類似的實踐經驗,例如透過維護設計文件與技術規格書來引導 AI 代理人,並認為這種將「意圖」與「實作」分離的流程,是未來軟體工程不可避免的趨勢。儘管如此,社群普遍共識是,除非這套語言能與形式驗證(Formal Verification)結合,確保生成的程式碼嚴格符合規格,否則它可能只會變成另一種難以維護的抽象層。

延伸閱讀

在討論串中,參與者提到了多個相關的工具與概念,包括自動化工作流平台 Langflow 與 n8n,這些工具被認為在現階段比純文字規格更具採用潛力。此外,也有人提及 Gherkin 語法作為行為驅動開發的參考,以及像是 ThinkWright 或 AIL 等試圖結構化 LLM 指令的開源專案。針對 LLM 內部運作邏輯的討論,則引用了關於模型編碼與解碼階段分離的研究,藉此探討正式語言對模型理解的實質影響。

https://codespeak.dev/