今天小編分享的科技經驗:又又又給 AI 發明新語言了,卡内基梅隆大學讓計算機理解人的想法後自動coding,結果翻車了,歡迎閲讀。
編程語言圈子又出 " 新花樣 " 了!
如果開發者之間有一件事是共通的,那就是大家總愛創造新語言。這些語言往往被描述為 " 像 C 語言但更簡單 "、" 像 C 語言但更現代 " 或 " 像 C 語言但專為某些特定群體設計 "。而這一次,我們迎來了一種專為 AI 設計的編程語言,可以稱之為 " 适用于 AI 的 C 語言 "。
這次的新語言名為 Mirror,有一些獨到之處。它的基本語法由兩部分組成:定義的函數名稱,以及輸入輸出示例。
它還有點像測試驅動開發(TDD),但不同的是你無需編寫測試,而是直接提供黑盒版本。換句話説,這是一種 AI 驅動的函數式編程體驗,同時也意味着你可以省去手動寫代碼的麻煩。
将 AI 融入傳統編程語言
我們知道在 Excel 中,你可以通過提供一兩個示例來演示如何格式化一列,之後 Excel 會學習這些模式,并将其應用到其他部分。
這種通過示例來引導的方式,是否也能用于編程呢?
卡内基梅隆大學從事教學工作的 Austin Z. Henley 就提出了這樣的設想。想象一下,你不再需要一行一行地寫代碼,而是直接通過示例演示給計算機,讓它 " 學會 " 你的意圖。于是他和某創業公司 CTO Andrés Gottlieb 等人一起開發了一個名為 Mirror 的語言。
Austin 将此稱為 " 編程示例 " 技術,用户提供想要的結果示例,系統生成可以執行該結果的代碼。
Mirror 設計得非常簡單直觀,用户首先需要定義函數的籤名,包括函數名稱、輸入參數的類型以及輸出參數的類型。接下來,用户需要提供一個或多個函數調用的示例,包括适當的輸入參數和對應的輸出結果。
讓我們從一個非常簡單的示例開始,看看這個語言的設計邏輯:
首先定義一個名為 is_even 的函數,然後給出幾個例子,比如 0 是偶數,返回 true,而 1 是奇數,則返回 false...... 這些例子為大語言模型(LLM)提供了訓練依據,用于生成符合規則的實際代碼。
最後用 is_even ( 12345 ) 來調用 is_even 函數,并傳入參數 12345,那麼它會判斷 12345 是否為偶數。
在後端,Mirror 使用傳統的遞歸下降解析器會處理這些示例,然後将它們發送到給大模型,大模型随後生成符合這些示例約束的 JavaScript 代碼。生成的代碼會顯示給用户,如果需要,用户可以提供更多示例以進一步優化輸出結果。
基于 LLM 的示例編程編程語言
這是一門很有噱頭的 " 編程語言 "
有意思的是 Mirror 在技術社區 Lobsters 上曝光後,居然還有一些開發者給予了極高評價:
" 我一直以為會有人發明一種集成了 LLM 的編譯器,但從未真正思考過它可能會是什麼樣子。這是一個非常有趣的概念,就像一種偽代碼解釋器。我覺得這種方式可能有一天會成為主流的編程方法。"
" 很棒!我之前用 neuro-lingo 做過類似的事情,只不過開發者需要為函數提供類型籤名和注釋,這主要是作為一種思想實驗。我一直認為下一步的迭代會類似于 Mirror,開發者的任務是編寫測試,而不是實現具體功能。我覺得在未來,這種方法很有可能變得合理:一種只使用英語作為編程語言(通過 AI)的語言,同時用傳統編程語言來編寫測試以确保正确性。"
" 在看到當前 LLM 的能力後,我就想到這會使形式化規範和驗證的概念變得更加吸引人。"
自媒體博主 The Primagen 則花了 2 個小時探索 Mirror。
他一開始也被 Mirror 的願景吸引住了,認為這簡直是語言輪子界裏的 " 适用于 AI 的 C 語言(be C but for AI)"。
還具備由人工智能驅動的函數式體驗,雖然避免了編寫代碼的繁瑣,但卻需要編寫測試用例,這就好像是一種 " 後期 TDD"。所以他認為,Mirror 的出現标志着人工智能驅動的測試驅動開發進入了 " 後期階段 "。
并且他調侃説," 只要風險投資人看到 Mirror 的介紹,那麼很可能會輕松獲得一輪千萬美元級别的融資 ",因為 " 人工智能 " 這個詞對風投來説似乎具有莫大的吸引力。他還拿 Friend 舉例,這是一個人工智能社交網絡產品,僅跟 AI 沾個邊就籌集了約 250 萬美元(随後,他們花了 180 萬用來購買 Friend.com 網域名)。
接着他希望用 Mirror 來實現一個簡單的功能。不幸的是即使提供了大量的示例,Mirror 生成的代碼仍然是錯誤的。
但 GPT 只用了一句簡單的英語描述和代碼結構,就輕輕松松地完成了任務。
折騰 2 個小時候後,The Primagen 評價説,Mirror 目前适合用來學習,比如可以幫助你學習如何編寫解析器。
現實中,AGI 離我們還比較遙遠,所以不要只想着回避學習編程。就算 Sam Altman 宣稱距離 AGI 只有 " 幾千天 ",那起碼也還有 10 年時間。所以為什麼有些人非要選擇繞過學習基礎編程的過程,而轉而依賴工具或 AI?
他最後吐槽道:" 要知道,掌握技術并學習解決問題的能力永遠是有價值的。而如果未來的某一天,AI 真的變得無所不能,那麼具備技術技能的人依然會保持競争力。無論未來 AI 多強大,技術能力都将是你提升自我、解決問題和實現價值的核心力量。這不是一個非此即彼的選擇,你可以同時學習技術、享受創造的樂趣,并為自己的職業發展打下堅實的基礎。"
參考鏈接
https://austinhenley.com/blog/mirrorlang.html
https://lobste.rs/s/ui3ld4/mirror_llm_powered_programming_by
https://medium.com/@prateek.vyas/mirror-the-ai-powered-programming-language-using-examples-94fab8c88585
https://www.youtube.com/watch?v=KuLUd1UIvVA