撰稿:Alrin,日期:2024-02-02

相信用過 ChatGPT 的人都知道 AI 不僅可以寫作,還能做其他的事情,例如程式撰寫協助。

在前年我剛接觸 ChatGPT 的時候就發現,ChatGPT 不僅能撰寫完整的程式,在程式邏輯上還能給予建議,甚至程式撰寫者還能透過與 AI 的對話來精進生成的程式內容,這一點是非常駭人的。

在後續的時間裡,我利用 ChatGPT 來幫我做了幾支生產力工具,像是公司會員系統要發報,大家不會撰寫 EDM,於是我和 ChatGPT 協作,產出了兩支透過簡易的編輯就能製作電子報的線上編輯器:

接著在修改電子書製作系統的過程中,為避免大家在編輯 Metadata 過程中誤刪 xml 元素,於是我又和 ChatGPT 協作,產出了另一支 Metadata 編輯器:

以上三支線上編輯器都是建立在 Java Script 的 Web 基礎上,在此前,我對於 Java Script 的掌握並不精通,只能說看得懂程式碼和邏輯,也無法在如此短的時間內寫出這樣的線上編輯器。

而 ChatGPT 之所以能協助撰寫程式碼是因為,GPT 的模型內包含了程式方面的龐大參考資料(Codex),所以只要你懂程式邏輯、你知道如何下命令給 ChatGPT,ChatGPT 就能透過 Codex 的資源幫你產生 90% 的程式碼,對於編程人員來說,不需要逐行撰寫程式可以省下大量的時間。(但是你還是得看得懂程式碼)

當然這件事 AI 公司們也很清楚,所以大部分的 AI 發展公司也會同時發展「程式碼輔助工具」。

OpenAI Codex

前面提到 ChatGPT 之所以能產出程式碼的原因是 GPT 裡面有個叫 Codex 的小模型,這個模型從一開始就被訓練用來做程式邏輯思維,目的是讓程式撰寫者能更快的完成編寫程式,而不是取代編寫者。(有點像個人助理機器人,站在旁邊一直給你建議)

Untitled

Codex 是 建立在 OpenAI 的 GPT-3 模型的後代,也是至今所有「AI 程式碼輔助工具」的先例。

Codex 後來被 Microsoft 在 GitHub 上發展成一個叫 Copilot 的服務。

程式碼協助是如何運作的

程式碼協助部份比起 ChatGPT 就更專注在 Coding 方面的互動。

大多數的 IDE(Integrated Development Environment,整合開發環境)本來就會有一些基礎的原始碼補完功能,雖然可以不用自己逐行打完所有的 Code,但是那樣的機制完全沒有 AI 的介入,要寫出能運作的程式碼,還是要取決於你是否懂那些語法。

而有了 AI 技術的程式碼協助加入之後,許多的 IDE 就變成超級開發工具。