LLM取代的第一個編程語言竟是SQL?網友吵翻天
一年前,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 助手可能更側重于幫助「小白」快速上手。