ChatGPT時代,我們可能站到了自然語言程式設計的大門口
ChatGPT大火,我現在有種感覺:我們可能站到了自然語言程式設計的門口,一腳下去,也許能把門踹開。
當然,也可能會踢到一塊鐵板。
回顧我們的程式設計之路,基本上就是一個程式設計門檻不斷降低的歷史。
最早的一群前輩們透過手動插拔電路的方式把程式輸入計算機,每次程式設計好幾個小時,甚至好幾天。
馮諾依曼架構出現後,程式可以儲存在記憶體中,隨意變化,一下子方便了很多,但是程式設計依然是非常低階的彙編,上古的大神們用彙編寫Unix等作業系統、編譯器,這時候程式設計師是珍稀動物,程式設計門檻太高了。
Fortran/COBOL/BASIC/C/C /Pascal等高階語言的出現讓程式設計難度降了一個等級,再加上80年代PC產業的爆發,程式設計產業開始繁榮。
到了90年代,Java、Python、Ruby、JavaScript等程式語言,讓程式設計師更遠離硬件,遠離記憶體管理,可以把目標聚焦到業務邏輯上。
進入21世紀,企業為了因應快速的市場變化,對資訊化的需求越來越高,迫切需要快速地實現業務,推向市場,於是low code ,no code 又形成一個巨大的浪潮,在介面上,透過拖曳的方式就可以編程了。
再往下走一步,大家都非常明白,那就是自然語言程式設計。
在之前自然語言程式設計大家都覺得是挺不可思議的事情,因為這需要AI理解自然語言,並且能準確地輸出程式碼,這是一件非常難的事情。
但是ChatGPT、通義千問等大模型出現以後,我們突然發現,自然語言程式設計出現了重大突破,我們可以告訴AI需求,讓AI來產生程式碼了!
我們可以告訴AI:
我需要實作一個Product的RESTful的接口,用SpringBoot來實現,Product的屬性包括id,name,description, imageUrl。
在幾秒鐘內,AI就可以迅速產生從最上層到最底層的程式碼,更讓人震撼的是,它還支援微調的能力。
我們可以說:「資料庫存取用MyBatis實作。」AI可以迅速把資料庫存取碼改成MyBatis。
當我們說:“把imageUrl改為image_url”,AI 馬上可以找到所有相關程式碼,把imageURL改過來。
這種微調的能力,遠遠超過了先前常見的程式碼產生器,AI似乎準確地理解了你的要求,對程式碼做了精確的修改。
當然,對於某些極端的情況,AI會有些考慮不周,還依賴程式設計師的洞察力。所以我常說AI能產生95%的可運行程式碼,剩下的5%需要則依賴程式設計師的功力。
這還只是產生程式碼,程式設計師還需要把程式碼從聊天視窗複製到IDE中去執行偵錯。說實話,這個過程也挺煩人的。
釘子剛發布的AI生成應用場景突然又讓我看到了新的方式,在通義千問這個大模型的支持下,它不僅僅是用自然語言生成代碼,而是直接生成應用,一鍵部署,然後直接在釘釘群聊裡運行起來!
它甚至可以透過拍照的方式產生一個應用,讓輸入的方式不再只有文字:
GPT- 4在之前的演示中,也展示了根據圖片生成代碼和網頁的能力(這個能力現在沒有正式發布,讓大家使用),但是釘釘已經可以直接生成可以運行的低代碼應用,比如常見的工單管理系統、門市巡檢系統、顧客資訊管理系統都可以交給AI去幫我們開發出來,這實在是太棒了。
如果自動產生的應用程式不符合要求,也可以透過繼續對話讓AI幫你修改應用,新增選項、刪除欄位。
拍照產生應用程式這個微軟也可以做到,但我發現釘子也劇透了一個很棒的能力,就是智慧推薦選項字段,幫你補全。這個能力雖然看起來簡單,但是技術上實現起來難度應該很大,需要給大模型輸入大量的行業know how。
釘子把自家宜搭低程式碼的應用範本給大模型學習,就等於是把各行各業(製造、醫療、建築等)及各類高頻業務場景(人事行政、財務報銷、生產製造等)都餵給了AI,建構了豐富的領域業務數據。
有了領域業務知識,大模型在生成應用時,對業務人員提出的需求理解就會更加準確,生成的應用也更加精準。
這種能力對於不懂程式碼的業務人員是非常便利、非常友善的,他們不需要再依賴程式設計師去實現類似的需求,自己分分鐘就可以把應用程式開發出來。
這類拍照或是自然語言產生的應用,結合我去年介紹給大家的釘子酷應用能力,還可以實現一鍵把應用程式部署在群組聊天裡。透過動態卡片的方式,讓業務人員在一個群組裡就能完成人機交互,聊著天就把事兒給辦了。
看到這裡,你一定會有這個疑問:AI都支援自然語言程式了,這麼強大了,它能完全取代程式設計師嗎?
對於初級程式設計師來說,如果只會做CRUD,AI的威脅非常大,因為明確的、有規則的需求對於AI來說是小菜一碟,分分鐘搞定。
對於高階程式設計師來說,在程式設計中也少不了增刪改查,這時候AI就是一個非常好的幫手,因為對於繁瑣的、重複的程式碼工作,都可以交給AI來完成。在這個過程中,高級程式設計師只要去「指導」它,「引領」它就可以了,減少了無效的時間浪費。
高階程式設計師可以把自己的精力放在更需要創造力的工作上來,對於現在的AI來說,讓它直接生成巨型的複雜系統,它還是力不從心的。
例如我們告訴AI:
我要創建一個電子商務系統,包括用戶管理,商品管理,訂單管理,倉儲管理等常見的功能,需要支援秒殺活動,優惠券,積分系統等功能,幫我把程式碼都寫出來。
AI是絕對不可能給你實現的,因為這樣的需求太模糊,如果用流程圖,介面圖,Use Case等把這些大系統的需求描述出來,沒有幾百頁是不可能的。即使你把這幾百頁文檔都灌給AI,它也不可能給你完整地實現了。
高階程式設計師需要出馬,把大型系統進行分解,形成各個模組,然後讓AI介入生成程式碼,生成應用程式。
可以看出,自然語言程式設計已經發展到了一個非常高的層面,可以成為程式設計師提升效率的巨大助力。
在未來,沒有純粹的碼農,每個人都需要深入理解自己所面臨的挑戰,並透過智慧化的生產力工具去快速解決問題。
釘釘發布會的幾個場景演示,雖然只是工作智能化的一小步,卻展示出了遠超“通過聊天生成代碼的能力”,可以直接創建、部署,在群裡運行應用,真是非常方便。
工具的價值就在於能否更好地服務人,用機器提升人的生產力。
我們可以暢想,隨之智慧化的進一步發展,開發應用的能力會不會就像用Word一樣,變成一種普遍的能力呢?這是一件特別有想像力的事情,誰都難以預料,只能交給時間證明了。
以上是ChatGPT時代,我們可能站到了自然語言程式設計的大門口的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

DALL-E 3 於 2023 年 9 月正式推出,是比其前身大幅改進的車型。它被認為是迄今為止最好的人工智慧圖像生成器之一,能夠創建具有複雜細節的圖像。然而,在推出時,它不包括

開放人工智慧終於進軍搜尋領域。這家舊金山公司最近宣布了一款具有搜尋功能的新人工智慧工具。 The Information 於今年 2 月首次報導,該新工具被恰當地稱為 SearchGPT,並具有 c

Open AI 的 ChatGPT Mac 應用程式現在可供所有人使用,過去幾個月僅限訂閱 ChatGPT Plus 的用戶使用。只要您擁有最新的 Apple S,該應用程式的安裝就像其他本機 Mac 應用程式一樣

Python透過其易學性和強大功能,是初學者的理想程式設計入門語言。其基礎包括:變數:用於儲存資料(數字、字串、列表等)。資料型態:定義變數中資料的型態(整數、浮點數等)。運算符:用於數學運算和比較。控制流程:控製程式碼執行流程(條件語句、迴圈)。

C++程式設計謎題涵蓋斐波那契數列、階乘、漢明距離、陣列最大值和最小值等演算法和資料結構概念,透過解決這些謎題,可以鞏固C++知識,提升演算法理解和程式設計技巧。

C是初學者學習系統程式設計的理想選擇,它包含以下元件:頭檔、函數和主函數。一個簡單的C程式可以列印“HelloWorld”,需要包含標準輸入/輸出函數聲明的頭文件,並在主函數中使用printf函數來列印。透過使用GCC編譯器可以編譯和執行C程式。掌握基礎後,可以繼續學習資料類型、函數、陣列和文件處理等主題,以成為熟練的C程式設計師。

Java是熱門程式語言,適合初學者和經驗豐富的開發者學習。本教學從基礎概念出發,逐步深入解說進階主題。安裝Java開發工具包後,可透過建立簡單的「Hello,World!」程式來實踐程式設計。理解程式碼後,使用命令提示字元編譯並執行程序,控制台上將輸出「Hello,World!」。學習Java開啟了程式設計之旅,隨著掌握程度加深,可創建更複雜的應用程式。
