LLM取代的第一個程式語言竟是SQL?網友吵翻天

机器之心發表於2024-08-27
SQL 即將被 AI 取代,這種說法你同意嗎?

一年前,AI 大牛 Andrej Karpathy 曾預言,最熱門的新程式語言是英語。

圖片

一年後,人工智慧機器學習研究商 Abacus.AI 執行長 Bindu Reddy 表示:「LLM 用英語取代的第一個程式語言是 SQL,SQL 生成準確率超過 95%,超過了人類 SQL 程式設計師(準確率為 92%)的平均水平,大多數資料庫產品已經提供了一個 chatbox 介面來查詢資料」。

圖片

Bindu Reddy 口中的 Chatbox 是一個開源的桌面端程式,Prompt 的除錯與管理工具,支援 OpenAI 模型、Claude、Google Gemini 等。

從大模型出現以來,改變的不僅是文字、圖片生成領域,還有程式設計領域。這些 AI 助手給句提示就能自主學習新技術、構建和部署應用程式、以及自主查詢和修復程式碼中的 Bug。一時間,AI 取代程式設計師的爭論不斷。我們暫且不管這種說法結論如何,但 AI 已經確確實實的影響到了每一位開發者。

就連 Karpathy 都表示自己基本上無法再回到三年前那種「無輔助」編碼的狀態了。

英偉達執行長黃仁勳在一次關於人工智慧未來的演講中也曾表示,在過去 10 年、15 年的時間裡,你會告訴自己的孩子學習電腦科學至關重要。但現在情況幾乎相反,人工智慧所帶來的奇蹟可以讓每個人都成為程式設計師。

我們不難看出,黃仁勳的觀點與 Reddy 言論不謀而合。

不過,Bindu Reddy 一言既出,不少質疑也冒了出來:「你聲稱(LLM 生成)SQL 準確率高達 95%,有什麼文獻或者統計支撐嗎?」圖片

圖片

Bindu 立馬給出了回擊,她貼出了兩個示例片段,片段展示的正是 Bindu 家的一款 AI 工具。如下所示要求 AI 篩選同時符合選中特徵的店鋪和銷售,但不要統計店鋪關閉時的資料:

圖片

它就自動把程式碼都寫好了,距離完成工作,只差一個複製到資料庫的動作。

圖片

稍微複雜的任務它也能搞定,只需要說清楚你想要的這組數不包含指定期間的資料,並統計每個港口的平均出發延誤時間。不需要進一步提示,AI 助手自己就能分析出解題思路,並寫出按條件過濾資料,並把幾個表格關聯起來計算平均值的 SQL 程式碼。圖片

看完展示,有網友表示,AI 寫 SQL 的效果這麼好,似乎也合情合理。因為相比 Java、Python 等程式語言,SQL 中有 90% 是英語,它主要用於和資料庫互動,在格式上相對固定,需要填空的部分比較少,模型產生「幻覺」的空間有限。

圖片

然而,也有在日常工作中經常用大模型生成 SQL 程式碼的網友得到了另一番體驗:「到目前為止,ChatGPT 或 Perplexity 生成的 SQL 查詢還沒有一個不需要大量重寫的。」

圖片

他表示,這和用 AI 寫程式碼差不多:「確實可以節省時間,但遠不能代替開發人員。」

圖片

這是因為大模型經常犯錯,並且「不長記性」,還總是在同一個地方翻車。常見錯誤有:語法問題,混淆了 SQL Server、Postgres 等不同平臺的語法;使用了在某些平臺無效的函式;缺少別名;在不同平臺之間遷移程式碼時表現得很差。雖然挑了一堆錯,這位網友還是認同 AI 寫 SQL 的能力的:「儘管如此,它仍然比手寫要好。」

不過他已經被 Bindu 拉黑了,這讓人很難不懷疑,Bindu 只是在推廣自家產品。

圖片

這位網友進一步質疑道:「當脫離了基準測試裡的簡單任務,需要做比較複雜的查詢時,不會所有 AI 工具都失效了吧。」

圖片

評論區也有很多工作中常用 SQL 的網友與他有同感:

「AI 會寫 SQL 與能寫高效且效能優良的複雜 SQL 是兩碼事。」

圖片

「寫 SQL 查詢很容易,但想要最佳化查詢,需要在工作中積累經驗和基於真實世界的知識,這是 AI 未能實現的。」

圖片

「我每天都用大模型,它們無法進行復雜的查詢。任何超過一個 CTE 的內容,我都必須手動拆分。拆起來需要你會程式設計,否則只會白費幾天的時間。」

圖片

甚至還引來了 Hacker News 官方下場發表評論:「SQL 的核心不在於語言本身,而在於它能夠查詢和操作複雜的資料結構。」在他看來,提出正確的問題和理解資料結構可能比語法本身更為關鍵。

圖片

除了從親身體驗的角度對 Bindu 提出質疑之外,還有一些專業人員擺出了現成的資料。在基礎測試集 Text-To-SQL on Spider 中,目前的 Sota 模型的準確度是 87.6%。

圖片

圖源:https://paperswithcode.com/sota/text-to-sql-on-spider

在另一個注重策略針對大型資料庫基準測試集中,最好的方法準確率也僅為 72.28%,遠不及 95%。

圖片

圖源:https://bird-bench.github.io/

目前,也有不少科技公司推出了用大模型提升資料處理和查詢分析的產品,比如火山引擎數智平臺 VeDI—AI 助手、 Kyligence Copilot AI、ThoughtSpot 等。不過,這些企業解決方案面向的是專業使用者和團隊,而像 Abacus.AI 這樣的個人 SQL 助手可能更側重於幫助「小白」快速上手。

相關文章