智能時代臨近:我眼中AI編程的現(xiàn)在與未來
自2022年末ChatGPT發(fā)布以來,人工智能(AI)正在深刻地改變軟件開發(fā)的格局。從簡單的代碼補全到復(fù)雜的邏輯生成,AI正逐漸成為程序員不可或缺的助手。最近,OpenAI首席執(zhí)行官山姆·奧特曼在其個人博客中發(fā)表的文章《智能時代》(The Intelligence Age)[1]更讓我們深切體會到,超級智能似乎離我們越來越近了。
正如100年前的打孔卡編程方式與現(xiàn)今編程方式的天壤之別,如今的我們也難以完全預(yù)見超級AI時代的編程模式。盡管現(xiàn)階段的大語言模型(如ChatGPT[2]、Claude[3]等)在AI輔助編程方面已經(jīng)展現(xiàn)出強大的能力,并顯著提升了開發(fā)效率,但它們?nèi)悦媾R諸多挑戰(zhàn)。不過,與打孔卡時代的程序員相比,我們這一代程序員是幸運的,因為我們已經(jīng)嗅到了超級AI的氣息。
當(dāng)前AI輔助編程的現(xiàn)狀
目前,AI輔助編程主要有三種模式:
- IDE模式:通過使用工具(如Cursor[4]等)智能分析代碼上下文,僅需簡單的TAB鍵操作即可生成代碼片段甚至是完整代碼,顯著提高編程效率。
- Prompt模式:開發(fā)者提供描述性的prompt,AI據(jù)此生成代碼塊,然后開發(fā)者將其整合到項目中。這種模式要求開發(fā)者對prompt撰寫有較高的理解與能力。
- Agent模式:在這種模式下,AI作為自主的編程助手,理解開發(fā)者的意圖并主動規(guī)劃(強化學(xué)習(xí)增強的思維鏈等)和執(zhí)行任務(wù)。開發(fā)者可以與AI對話,提出問題或請求功能,而AI則基于上下文自動生成代碼、測試用例,甚至進(jìn)行調(diào)試。Agent模式更接近于超級AI的初級模擬,試圖通過自然語言交互與上下文理解,模擬人類思維,自主規(guī)劃并處理復(fù)雜編程任務(wù)。
雖然IDE和Agent模式本質(zhì)上都是Prompt模式的變種,但Agent模式更像是對超級AI的初級嘗試,使開發(fā)者能夠更專注于高層設(shè)計,將重復(fù)性任務(wù)交給AI處理。
不過,這三種模式都屬于初級輔助模式,雖然已經(jīng)能顯著提升開發(fā)效率。這些模式的輔助效能還與多種因素相關(guān),比如:
- 人類提示工程(Prompt engineering )[5]水平:開發(fā)者如何有效地與AI溝通需求,直接影響輸出質(zhì)量。
- AI對不同編程語言的掌握和擅長程度[6]這樣語法復(fù)雜的語言,AI生成的代碼可能更容易出現(xiàn)編譯錯誤。相比之下,Go語言[7]生成的代碼往往更容易直接運行。
- 編程任務(wù)的特性:不同類型的編程任務(wù)可能更適合不同的AI輔助方式。
注:隨著AI在推理方面的提升(乃至形成獨立的推理層),“過提示工程”可能不僅無法提高推理性能,還有可能妨礙模型工作[8]。也就是說對于推理能力越來越強的大模型,反倒是提示詞越簡潔越好,因為思維鏈都隱藏到了模型內(nèi)部,如果再用思維鏈提示反而會適得其反。
當(dāng)前AI的局限性與未來展望
當(dāng)前的AI系統(tǒng)更像是一個知識數(shù)據(jù)庫,主要基于已有的知識進(jìn)行推理,與現(xiàn)實世界的互動能力仍然有限,如缺乏訪問互聯(lián)網(wǎng)和本地系統(tǒng)的能力。這種限制導(dǎo)致AI只能生成代碼,卻無法驗證其邏輯是否正確或者能否編譯運行。此外,AI與人類的交互手段仍相對初級,大多局限于文本、圖片或語音的形式,這些方式在面對復(fù)雜需求時顯得笨拙。
那么未來理想的AI輔助編程模式應(yīng)該是什么樣的呢?我認(rèn)為應(yīng)是端到端編程,即通過多種交互手段(自然語言、語音、圖片以及將來的未知方式等)輸入需求,AI直接輸出已部署完畢且可正確運行的完整程序。在超級AI時代,這種編程模式將成為現(xiàn)實,屆時AI與程序員的交互方式將迎來革命性變化。
我們可以將當(dāng)前階段稱為"AI的過渡時代"。正如OpenAI的Sam Altman所預(yù)言那樣,真正的智能時代可能還需要幾千天才能到來。在這個超級AI出現(xiàn)的時代,端到端的編程模式可能才會真正實現(xiàn)。
根據(jù)Sequoia Capital的最新研究報告[9],AI技術(shù)正在從"快速思考"(System 1)向"慢速思考"(System 2)演進(jìn)。System 1指的是快速、直覺性的反應(yīng),而System 2則涉及更深層次的推理和問題解決能力。這種演進(jìn)正在推動一種新的"推理層"的發(fā)展,這可能是通向真正智能時代的關(guān)鍵一步:
圖片
來自Sequoia Capital的最新研究報告
超級AI時代的編程模式可能包括:
- 腦機(jī)接口:通過思維直接傳達(dá)編程意圖。
- AR手勢交互:在虛擬空間中操控代碼組件,如鋼鐵俠電影中的場景。
- 多模態(tài)融合交互:結(jié)合語音、手勢、眼動跟蹤等多種方式。
- 自適應(yīng)自然語言處理:AI能夠理解和解析非結(jié)構(gòu)化的自然語言,轉(zhuǎn)換為代碼邏輯。
這些技術(shù)的發(fā)展可能會讓未來的編程體驗更像是與高度智能的助手協(xié)作,而非單純的工具使用。如今腦機(jī)接口、AR增強現(xiàn)界等技術(shù)也在快速演進(jìn),很可能與超級AI帶來的智能時代同時到來。
程序員角色的轉(zhuǎn)變
在超級AI時代,程序員的角色將發(fā)生顯著的變化。程序員基本上不再編碼,而是更多地轉(zhuǎn)變?yōu)?系統(tǒng)架構(gòu)師"、"AI協(xié)作者"和"創(chuàng)新推動者"。他們的工作會更多地涉及高層次的問題解決、創(chuàng)新思考和跨學(xué)科合作。技術(shù)知識仍然重要,但更重要的是理解業(yè)務(wù)需求、系統(tǒng)設(shè)計、倫理考量和用戶體驗等更廣泛的技能。
Sequoia Capital的報告指出,隨著AI技術(shù)的進(jìn)步,軟件開發(fā)正在從"軟件即服務(wù)"(SaaS, Software as a Service)模式轉(zhuǎn)向"服務(wù)即軟件(Service as a Software"模式。這意味著AI應(yīng)用不僅僅是提供軟件工具,而是直接提供完整的服務(wù)解決方案。這種轉(zhuǎn)變將極大地擴(kuò)展AI應(yīng)用的市場,從軟件市場擴(kuò)展到更廣闊的服務(wù)市場:
圖片
來自Sequoia Capital的最新研究報告
注:怎么理解“服務(wù)即軟件”(Service as a Software)呢?想象一下,之前你的公司購買了一個人力資源管理的SaaS服務(wù),這種購買僅僅讓你能夠使用其功能,但誰來操作這些功能呢?你的公司依然需要雇傭?qū)iT的HR人員來通過Web、GUI客戶端或App進(jìn)行管理。而“服務(wù)即軟件”則將這兩方面“打包”在一起。你無需再招聘專員來操作,只需提出你的需求即可。這種模式有點類似于現(xiàn)代的HR勞務(wù)外包,但不同的是,在智能時代,這種外包的真正執(zhí)行者不再是“人”,而是AI應(yīng)用和支持AI運行的算力。這樣一來,你可以更高效地滿足業(yè)務(wù)需求,而無需擔(dān)心人力資源的管理和操作。
隨著超級AI的出現(xiàn),我們還可能會看到AI系統(tǒng)不僅能輔助編程,還能自主編寫、維護(hù)和優(yōu)化代碼,即AI的自主性。然而,這種高度自治的系統(tǒng)也可能面臨復(fù)雜的自我管理問題。
借鑒《黑客帝國》中的概念,未來的AI系統(tǒng)可能會像一個巨大的自維護(hù)程序,但仍需要"異常處理程序"來解決一些無法自動修復(fù)的關(guān)鍵問題。在這個場景中,人類程序員可能扮演類似"尼奧"的角色,成為系統(tǒng)無法自行解決問題時的最后求助對象。
這種人機(jī)協(xié)作模式可能類似于現(xiàn)代軟件系統(tǒng)中的"live reload"概念:當(dāng)AI遇到無法自動解決的問題時,它會尋求人類的幫助,重新加載并修復(fù)系統(tǒng),從而保持整個生態(tài)系統(tǒng)的穩(wěn)定運行。
小結(jié)
AI輔助編程技術(shù)正處于一個激動人心的過渡時期,距離完全自主的端到端編程還有一定距離。然而,隨著技術(shù)進(jìn)步和新型人機(jī)交互方式的到來,編程的本質(zhì)將發(fā)生革命性的變化。未來的編程將是人類與AI共同塑造的領(lǐng)域,一個充滿無限可能的智能時代。
參考資料
[1] 《智能時代》(The Intelligence Age): https://ia.samaltman.com/
[2] ChatGPT: https://chatgpt.com/
[3] Claude: https://claude.ai/
[4] Cursor: https://www.cursor.com/
[5] 提示工程(Prompt engineering ): https://en.wikipedia.org/wiki/Prompt_engineering
[6] AI對不同編程語言的掌握和擅長程度: https://mp.weixin.qq.com/s/K8pao4_-YU77j7Ld1p7VLQ
[7] Go語言: https://tonybai.com/tag/go
[8] “過提示工程”可能不僅無法提高推理性能,還有可能妨礙模型工作: https://openai.com/index/learning-to-reason-with-llms/
[9] Sequoia Capital的最新研究報告: https://www.sequoiacap.com/article/generative-ais-act-o1/



























