前言
近來 AI 正夯,
最近工作要求我從無到有撰寫Framework和Library,為了加速開發(fā)需要一些Tool輔助
因此我至少使用 ChatGPT 請他幫忙 Debug 3次,製作 3 個以上的開發(fā)小工具
使用情境與撇步
A. 在 ChatGPT 中使用英文大家都用中文然後說他很慢,
但即便在尖峰時間下使用,英文也幾乎是秒問秒回
中文會發(fā)生繁簡夾雜,語義誤解等等,接收輸入跟印出輸出都要經(jīng)過一次 Translate
因此中文回覆常常很慢或文不對題
我使用時並不覺得慢,只是他為了減少免費仔 Request 的負擔(dān),
會用延遲 Print(打字)的方式避免人們短期內(nèi)不斷訪問
我本身英文並沒有很好,但他95%都可以忽略我的拼字錯誤完美理解我的意思XD
當(dāng)你獲得了一段程式碼,你並不知道這代表什麼意思,
直接丟給他,就會告訴你哪個 Function 是用來做什麼的
這對於新手學(xué)習(xí)或 unpack 都是很有用的功能 XD
說不定有人寫的 Code 超難懂又沒有註解,或是有很多待改善的地方,他都能幫你解決
(但是別把公司的東西丟過去給他欸)
將部分 Code 丟給他,問他為何輸出結(jié)果不符合預(yù)期(敘述預(yù)期內(nèi)容),或是將錯誤訊息丟給他
他能回答你 IDE 檢查不出來的問題,不需要向 StackOverflow 發(fā)文詢問就可以快速找到客製化解答,
包含你在“快速完成”時不小心選中另一個變數(shù),或是資料型態(tài)不符或被轉(zhuǎn)變了等等
我特別不喜歡尋找JSON Path,只要把Format丟給它就可以告訴我JSON PATH在哪裡
身為工程師,你可以先問他有哪些 Solution
之後再指定這些 Solution 和你想像出來的 SPEC 與畫面,用純英文請他寫一個 Sample
丟進 IDE 跑看看,有 Error 就問他
之後再自己進行手動調(diào)整,一個小工具就完成了!
這過程中絕對需要自己有 Debug 能力,了解和應(yīng)用 Library 的知識
工程師本來就是個“做中學(xué)”的職業(yè),因此儘管你對這個 Module 一無所知或已經(jīng)活用已久,
藉由閱讀它的 Code 也能學(xué)習(xí)很多平時不會使用的 Function 應(yīng)用方式
我平常是很喜歡寫小程式的人,所以它很好的激發(fā)了我的創(chuàng)作欲
在很多次做小工具之後,發(fā)現(xiàn)其實我們?nèi)钡牟皇羌夹g(shù),而是實作技術(shù)的時間
而它能大幅縮短其實作的時間
但理所當(dāng)然需要留意的是不可以把整段程式碼全給他,必須寫成一個簡單Sample問他
在 Continue 這句話近期被優(yōu)化之前,
單次回應(yīng)過長的話他都會回覆中斷,此後Coding Style不同,
或是重複印同個Function,缺少一個Function等
我藉由實驗發(fā)現(xiàn)了幾種使用方法,利用ChatGPT擁有單次Chat之間的聯(lián)繫與學(xué)習(xí)能力
例如我叫他:
現(xiàn)在請幫我寫一個程式(以下描述SPEC)
如果我說1,你就印出第一個Function,我說2,你就印出第二個,以此類堆
如果我說1,你就印出第一個Function,我說2,你就印出第二個,以此類堆
必須維持一樣的Coding Style,
現(xiàn)在,1
他會完全照做,像跟你玩遊戲的小朋友一樣
爭議
語言模型有靈魂嗎?還記得 Blake Lemoine 說 Google 的語言模型有靈魂的事情嗎?
但是此人在Google裡面只是負責(zé)判斷AI是否符合“科技倫理與法律”的學(xué)者,
並非“技術(shù)方面的研發(fā)/測試工程師”,
他同時也是一個牧師,所以他甚至詢問AI有關(guān)神是否存在的問題而且他提出的疑問句,早就隱含自己想要怎樣的回答,是一種引導(dǎo)式問答,會在法庭上被異議那種
他跟Google語言模型的對話,只能證明Google的語言模型很完整,能完美預(yù)測他想要的答案大家都只看報導(dǎo)說他是Google員工,以為工程師也認為他有思考能力
但你真的碰過AI跟ML領(lǐng)域就會覺得莫名其妙
Google跟微軟自己一直不敢推出AI,因為大企業(yè)有為 AI 出錯負責(zé)的必要性
且大公司本身股價高,不堪重擊
因此當(dāng) Bing 出問題時,受到批評的聲浪就遠比 ChatGPT 回應(yīng)錯誤的算數(shù)還要大
然而 OpenAI 的開發(fā)商本身只是被投資的新創(chuàng)小公司,不用承擔(dān)這個風(fēng)險
這隻 AI 訓(xùn)練模型的方式,如果餵什麼就收什麼,就會被使用者教壞
但如果是由工程師 Tranning,完全就仰賴外包人員的標注作業(yè),
意即公司的資本大小和公司政策
若是今天由極權(quán)國家訓(xùn)練的 AI 壯大,受到政府嚴格控管,
他們的AI說出的話語也會受到該國政府的立場給影響,
若他已經(jīng)受到人們信任,就會進而影響使用者
一堆人跟風(fēng)說 ChatGPT 是人類技術(shù)的進步
但在我看來,他卻有可能使懶人更懶
一旦人們都透過助理來幫忙找歌,幫忙安排工作與時間,幫忙尋找解決方案,
人類會變成提出問題等待 AI 回應(yīng),而不是主動尋找 solution 的人,
使用過度之時,一切決策都變成仰賴 AI 回應(yīng)的正確性
這些 AI Tranning 的結(jié)果可能都是網(wǎng)路搜尋,或是由工程師或外包人員提供的,
他們就一定正確嗎?
若是這個 AI 不使用如 ChatGPT 那種告訴你許多方案讓你自己選,而是只給你一個解決方案的模式,
你就會忽略掉其他的可能性,逐漸喪失分析與選擇的能力
如果是中國 AI 訓(xùn)練說臺灣是中國的一部份,外國人使用中國 AI 時得到的答案就是他訓(xùn)練的結(jié)果,
當(dāng)人們信任這套 AI 的回應(yīng)必定正確又不懂用 Google 查證時,就會輕易被誤導(dǎo)。
這對於只想要別人告訴他答案的老人非常好用啦
但我認為仰賴的結(jié)果就是腦袋的批判性思考提早退化
若訓(xùn)練時把Apple打成App1e, 以 API 整合的方式出現(xiàn)在許多服務(wù)當(dāng)中(翻譯筆、掃描後翻譯等)
這些問題會無形的影響人們,人們會說很多服務(wù)都顯示App1e,堅信這樣才是對的
然而背後其實都是同一個模型錯誤帶來的結(jié)果
(23/03/06編輯)
這篇新聞就展現(xiàn)出了類似的結(jié)果
https://www.ithome.com.tw/news/155675
人們盲目相信ChatGPT給出的程式碼可以達成從電話號碼反查地址的結(jié)果,無法達成時就追問提供API的公司為何不能做到。
然而該公司根本只提供從座標查出地址的服務(wù),只是因為Youtube上有錯誤的教學(xué)影片,導(dǎo)致訓(xùn)練出錯誤的結(jié)果。
而ChatGPT使用者卻對此深信不疑。
我對那些不自己去查該公司API、反而去投訴該公司的人,很質(zhì)疑他們的思考能力,
但以後一定越來越多人這樣……
唯一值得慶幸的是,ChatGPT修正模型與爭議的速度真的很快。最近使用也發(fā)現(xiàn)越來越順了。
Google 是一種主動學(xué)習(xí)的工具
語言模型 Chatbot 卻是一種被動學(xué)習(xí)工具
現(xiàn)在 AI 面臨的法律與道德問題,正在進行官司中
若 AI 公司拿 GitHub 上 GPL,MIT 授權(quán)協(xié)議的 Code 去 Tranning 與改作,他就不用遵守協(xié)議嗎?
AI 公司可以拿別人商業(yè)Logo或繪圖Tranning出繪圖能力,卻不須遵守創(chuàng)作協(xié)議,擅自盈利嗎?
智慧財產(chǎn)權(quán)的剝削與加速M型化社會,使資本持有者輕視專業(yè),
變成出錢的人最大,往後獲得金錢的永遠是現(xiàn)在已經(jīng)握有資本的慣老闆和頂尖人才
只有大公司能夠做出 AI,好的 AI 會被繼續(xù)使用而越來越強
如果你是競爭對手如Google工程師,你分享的code被對手拿去訓(xùn)練,甚至害你丟了工作,
你是否會因此拒絕將自己開發(fā)的東西放上網(wǎng)路?
這對於全球OpenSource,相互分享,討論與成長的文化是一大傷害
你是一個繪師或3D模型製作者,你偶爾會分享一些技術(shù),
老闆為了節(jié)省成本使用AI生成後,付出很低的酬勞請你修改,
你是否會因此不再分享技術(shù),甚至選擇離開行業(yè)?
我自己認為雙方必須取得平衡點
應(yīng)該只能找放棄著作權(quán)的,或開放可商用的資源去訓(xùn)練才對
所有機器學(xué)習(xí)的模型,都需要長時間和高資本投注去標註和訓(xùn)練,
能做到這些的只有目前已經(jīng)投入市場的科技巨頭
而以後每個人都得使用科技巨頭的 API 來開發(fā)衍生應(yīng)用程式甚至輔助工作,
M 型化現(xiàn)象就會越趨嚴重
這些問題都是我們需要思考與探討的