要 AI 產品開發 人類唯一用途是提問

前 Google、Apple 大神,哈佛大學 IT 前教授 – Matt Welsh 的演講中說「人類只能擔任…

AI 產品開發 的關鍵在工程師老公可以寫出好程式碼,卻聽不懂太太的人話
AI 產品開發 的關鍵在工程師老公可以寫出好程式碼,卻聽不懂太太的人話(Photo by Erol Ahmed on Unsplash

前 Google、Apple 大神,哈佛大學 IT 前教授 – Matt Welsh 的演講中說「人類只能擔任幾種角色:產品經理和程式碼審查員」,這應是目前最激進的,就是「我們不抵抗」。其實這說法只對了一半, AI 產品開發 是產品經理的好朋友(產品經理應該是全世界最愛 AI 的人),而程式碼審查員?壽命應該沒多久了。

回顧幾十年前的 ChatGPT 級大事件

1940 年,電腦發明,那時還沒有「軟體」的觀念,它只能用開關或電路來控制(大概像是電子計算機吧!)。德國工程師 Konrad Ernst Otto Zuse 提出「軟體」觀念,用打孔卡片把程式輸入電腦,這時寫的是「組合語言」(機器語言)就是 0 和 1 的組合,優點是 CPU 直接讀取,效率極高,缺點是不說人話,很難推廣、學習、除錯,和維護。

但至少不用撥動開關、重焊電路,就可以讓電腦做不同的事,這是大事!

寫組合語言實在太不人性,聰明人發明了「高階程式語言」(例如 C 語言),用類似「for」、「if… else」這樣類似人話的語句組成(但很容易搞到看不懂),這種語言推廣、學習、除錯、維護都容易多了。

「高階程式語言」到「機器語言」中間有個「編譯器」(Compiler),功能是把人看得懂的「高階程式語言」轉換成機器懂的「組合語言」,成為人類與電腦的橋樑。

如果你是數十年前的工程師,當高階語言和編譯器的組合橫空出世時,你大概跟現在我們看到 ChatGPT 一樣喜出望外,因為它可以省太多時間啦!

需要程式碼審核員嗎?

不過,編譯器轉出的程式,效率比組合語言差!

畢竟它是自動生成的,不能像人寫的那樣最佳化(聽說到現在還有很多極度要求效能的場合要用組合語言)。

那麼你會不會想「編譯器很方便,但我手寫更優化,能兩全其美嗎?」於是心生一計「我用高階語言寫,編譯後再人工檢查一次,把導致速度慢的程式碼改掉!」真是好方法,寫不過電腦,可以當電腦的「程式碼審核員」啊!

除了小時候看過一個人在 286 電腦上用組合語言寫遊戲外,在常人世界裡,組合語言消失了,那個很麻煩的效率問題怎麼解決呢?很簡單就是不解決,因為:

  1. 大部分的應用都是電腦在等人、等網路傳輸,那麼快幹嘛?
  2. 更快的電腦一直出現,軟體慢一點就用快速的電腦來補!

感受到「程式碼審核員」的不實際之處了嗎?只要那個技術更進步,誰需要你審核?

避免翻臉,你需要程式語言

ChatGPT 這麼好,是因為它很貼心,說幾句話就可以寫出程式。

讓我們幻想幾千年前人類發明自然語言時,那時語言應該是足夠表達所需要表達的意思「老王被劍齒虎咬死了」、「你去洗碗」、「你自己去洗」。

發明文字聽說是為了記帳,「老劉收成 1000 斤稻穀,繳地租 300 斤」、「村口老頭借 2 頭豬」,人類開始用語言表達基本數學(這時發明了數字)。

閒來無事的數學家們幾千年來不停發明新數學(真討厭),越來越難用人話描述,於是數學家發明了一堆奇怪符號。

電腦是用數學控制的,要把數學告訴電腦流程叫電腦做事,這些奇怪符號打字機打不出來啊,程式語言就出現了。

何不用自然語言?會誤會:

老婆告訴工程師老公
「去買 2 斤蛋,有看到西瓜買 1 個」
老公回來後手裡拿著 1 個蛋。
老婆(怒):「怎麼回事」?
老公:「我看到西瓜了。」

老公的理解:

if (看到西瓜){
    {
      買 1 個蛋
    }
    else 
    {
      買 2 斤蛋
    }
}

因為看到西瓜,就執行了買一個蛋,因為老婆沒說買一個「什麼」(你可能想「這還要講嗎?不是本來就該懂?」如果你當過產品經理就知道跟工程師說話不是這樣的)。

實際上老婆的意思是:

買 2 斤蛋;
if (看到西瓜){
    買 1 個西瓜
}

自然語言充滿歧異,說話方法前後倒錯,(通常)人都聽得懂,但編譯器沒有人這麼聰明,歧異會產出不同結果,只好發明更嚴格的專用語言,就是程式語言。

可以用人話要 AI 產品開發 嗎?

你可以參考這一篇用 ChatGPT 幫你學開發,重點是用來學習。

從前的編譯器不聰明,但 ChatGPT 像聰明的「編譯器」,講人話就能轉成程式語言,那何不更進一步,把人話直接轉成 App 吧?反正程式碼都寫完了啊!

當前還不行,因為你擁有的程式碼就像一個引擎,你要組一台車,找到車體、變速箱、輪胎、避震器… 就是把它放在它能運作的環境裡,我們叫它做「佈署」(Deploy),包括(但不限於…):

  1. 網路設定:你得去申請網域,把網域指向你租用的伺服器;
  2. 伺服器設定:你租用的伺服器通常需要透過神奇的方法用 Linux 指令設定;
  3. 軟體工作架構:就算簡單的 Web App,也作前、後端,各有好多種「框架」,這些軟體都要先安裝在伺服器上;
  4. 看懂程式碼:軟體、網站通常是許多程式互相串聯的,ChatGPT 寫的程式碼就像一盒拼圖,不知道彼此怎麼相連,會面臨可怕的錯誤訊息;
  5. 除錯:ChatGPT 很會寫程式,但並不保證正確,你得真的走過一次才能確定,在此之前最煩的就是除錯了。

ChatGPT 是個「大型語言模型」,雖然可以聽說讀寫,但軟體部署環境要跟好幾個不同的公司購買/下載服務,沒有手腳的 ChatGPT 只能跟你說抱歉,讓你自己搞定。

但別失望,我相信這只是其他服務還沒「AI 最佳化」的過渡時期,OpenAI 已經發布了 API,其他服務可以跟它串連,到時候 ChatGPT 就有「虛擬手腳」了!

我猜現在已有某個主機商在開發跟 ChatGPT 串連的伺服器,屆時你只要下個指令,它就可以:1)自己寫程式、2)申請網址、3)設定 DNS、4)連上主機、5)新建所需的檔案夾、6)把程式碼丟到正確檔案夾……,7)搭拉!你的 Web App 做好了!

那時,你對 ChatGPT 的咒語就是「請做 XXX 的 Web/ Android / iOS 版」,至於它怎麼辦到的,你根本不用知道!

2023/04/18 更新:Replit.com 已經做到,它是雲端寫程式環境,有不同程式模板,可用它提供的 AI「Ghostwriter」幫你完成程式,因為它已經在雲端了,寫好的軟體可以直接部署在雲端當網站用。它的 Ghostwriter 背後是使用 Google 版的 ChatGPT– Bard,有興趣可以試用看看。

AutoGPT 這個新專案讓你不用再跟 ChatGPT 一問一答,它自己詢問、把 ChatGPT 回覆的程式碼拼裝起來,還會聽 ChatGPT 的去幫你上網搜尋資料,只是做不到幫你部署軟體。

也許這種自動產生的 App 效能比較差,因為許多工程師朋友說「不可能啦!它還是要 debug/ 優化/ 資安/ 碎片化……」,這應該就是大神說工程師可以當「程式碼審核員」的原因。

  • 它連程式碼都能寫出來,難道不能解決優化/ 資安/ 碎片化… 的問題嗎?
  • 如果不夠優化,更快的電腦不是很快就要做出來了嗎?

回顧程式語言和編譯器的歷史,或許程式碼審核員存在的時間會是浮光掠影。

能讓 AI 產品開發 做家事嗎?

既然有了 API,ChatGPT 可以聽懂你的人話,回答人話,把你要的東西寫好程式做成產品,那何不直接連上機器人,讓它有真正的手腳,可以幫忙做事呢?

還真的有,這個 YouTube 影片中展示了一個叫 Ameca 的機器人,連接上 ChatGPT,可以跟你問答自如。

Ameca 影片給我的第一個反應是「它可以幫我摺衣服嗎?」只能講話有什麼用?

我可不敢讓很會講屁話犯錯就跟我道歉的 ChatGPT 來幫我開車,生命誠可貴!

不過,如果 Tesla 開發出可靠的 AI 駕駛,或 Boston Dynamics 的機器狗、機器人幫我做事,那就放心多了。ChatGPT 倒是可以用來讓你的人話變成自動車、機器狗、機器人的控制語言,這時,AI 就能幫你做事了!

影片中,Boston Dynamics 已經可以用人話控制了啊!人類只是說「啊!我忘了拿工具」,機器人就自己想辦法把工具送給他,甚至連「機器人,幫我把工具拿來!」都不用說!

【人類發明自然語言 ➡️ 人類用自然語言記數字 ➡️ 人類用奇怪符號開發一堆數學 ➡️ 人類發明電腦 ➡️ 人類編寫程式語言 ➡️ AI 橫空出世 ➡️ AI 連上機器人 ➡️ AI 降價到你買得起】這個過程花了幾千年,現在人類終於可以用人話告訴 AI「你去洗碗」了!(夫妻從此相處愉快)

結論:別當程式審核員,當產品經理吧

就像開電動車的人有里程焦慮,從 ChatGPT 問世,大概每個人都開始有「AI 焦慮」了,我們每天看到的新聞不下幾種:

  1. 某甲發明了某 AI,他說 AI 沒你想像的那麼可怕;
  2. 某乙還沒開發出自己的 AI,他說 AI 很可怕,厲聲呼籲抵制或政府管制;
  3. 某丙新開發的 AI 功能取代了一個行業,天天聽到,越來越多行業要消失;
  4. 某丁不想跟 AI 對抗,聰明地用 AI 增強了執業能力;
  5. 某戊積極與 AI 合作,用 AI 創造了新職業。

上述的 1~5 雖然每天交錯出現在新聞裡,其實它是個發展流程,有人發明就有人反對,有人湊熱鬧,有人學著當應用者,有人用新應用開創新局。

對個人來說,要當1 發明者或 2 抵抗者,我們都還沒能耐,我們能做的就是3、4、5,用 AI 增強或取代現在的工作,或者想 AI 的下一步。

  • 你覺得職業受威脅,聽說 AI 可以輔助你寫程式,想變成程式審核員?
  • 你是個普通工程師,想變成程式審核員?

這麼想要小心了!這個每週都有新 AI 發展問世的現在,你覺得要多久「念咒直接出產品」的服務會問世,並讓程式審核員工作消失呢?

讓我們假設這個下了指令後會自動寫程式且佈建完成的服務會在 1 年後問世(我覺得會更快),不如學好如何提出需求吧!

產品經理短期內不會消失,提需求可是產品經理很重要的專長,它困難在你不能只懂電腦,你還要懂用電腦的人。

這應該是工程師最大的困難。

讓我們保持聯繫

推送 Push:有個資疑慮的您,按下網址列左方「鎖頭」開啟「通知」會收到通知

電子報 Subscribe:在上方框或側邊欄框中訂閱電子報,我會看到信箱,但不會發垃圾郵件。

合作 Cooperation:行銷、課程合作 請到 About 中填寫表單,留言、臉書專頁聯繫也可以

臉書專頁:疑問或聊天,請留言,或到臉書專頁「Simpro 學習控」關注及留言

訂閱電子報

約雙週更新,絕無垃圾郵件|記得到信箱查看驗證信

最有人氣

你可能也會感興趣的文章

探索更多來自 六叔觀察站 | Uncle6 Observer 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading