在今年 OpenAI 開放申請 Codex Ambassador 計畫的時候,我非常幸運地在第一波就被選到了。

當時我很高興地跟朋友們分享這個好消息,但結果很快就發現,幾乎所有不是工程師背景的朋友都會問:「嗄?Codex 是什麼?

當我試著跟他們解釋後,接下來他們通常會說:「那跟 ChatGPT 有什麼差?不是一樣的東西嗎?

我才意識到,從沒有寫程式的視角來看,這兩者看起來非常相似。

我今年的一大目標,就是希望可以幫助身邊更多朋友開始使用 AI。所以我決定開始寫文章,而這就是我必須解釋的第一個問題。

Codex 是給專門給工程師用的嗎?

Codex 的名字就包含了「Code」,所以很多人會自然聯想到它是給工程師寫程式用的。

其實一開始它的定位確實是如此,最初是設計是讓 AI 直接在專案中編輯程式碼檔案的工具。但後來很快就發現,幫忙「編輯檔案」這件事並不只對工程師有用。

基本上,大部分需要使用電腦的工作,都會有編寫檔案的需求,像是 Excel、Word、PDF、簡報、Photoshop,或是一些公司專用的軟體。這些其實 Codex 都能做到。因為這跟去編輯程式碼是一樣的概念,它同樣可以編輯上述提到的、在你電腦裡的各種軟體與檔案。

所以漸漸地,越來越多非工程師的 Knowledge Worker(知識工作者)也開始使用 Codex。所以它也開始經轉型為一個通用的生產力工具,或者我們更常說是幫你工作的「Agent」(代理人)。

Agent 就是可以自己計劃、行動的 AI。通常當你開始熟悉這個「AI 會自己規劃要做什麼來幫你完成任務」的概念之後,你就會從說「我問一下 AI」改成說「我叫我的 Agent 去研究一下」。

如果現在還是看不太懂,沒關係,就先把它當作跟 AI 一樣意思就好。

具體差別

這兩者之間的具體差別在於執行的環境,也就是你在哪裡使用它:

  • ChatGPT:連到它的網頁上執行。它能看到你曾經跟它聊天過的內容、建立過的專案。
  • Codex:下載到你的電腦裡執行。它可以看到你電腦裡的檔案和應用程式。

這個差別就好像你的工作遇到問題時,請外包雇人來公司上班的差別。

  • 用 ChatGPT 就是找外包。開始合作之後,你要提供相關的資料和權限,經過一輪準備動作之後他才能開始幫你處理。完成的時候,他會給你一些建議、檔案,跟你說「這是我建議的處理方式:…」或者「你可以下載或複製這份檔案來使用」。
  • 用 Codex 則是直接請這個人來公司。幫他設定好一次權限之後,他就能自己去找解決問題需要的資料和工具,並直接完成這件事,然後跟你說「我已經改好檔案、聯絡好相關的人了。你可以在這裡確認。

體感上的關鍵差別就是:需不需要擔任中間人搬運內容。

Codex 因為就在你的電腦上,可以自己去找需要的內容和工具,因此它更常可以直接替你做完整件事。這也是為什麼我們通常會說它是 Agent(代理人)。

我應該開始使用 Codex 嗎?

雖然我前面說 Codex 可以做到的事情比 ChatGPT 更多,但我相信大家在使用 ChatGPT 的時候,其實很多時候會覺得它已經很方便了。

它可以直接幫你在信箱回信、直接幫你生成 Google Slide 或是修改 Google Sheets,很多雲端上的動作它都可以做到。所以根據你的工作模式,確實不一定需要使用 Codex。

我覺得關鍵是:你是否常常覺得「複製貼上好煩」,或者一直「切換視窗覺得很眼花撩亂」?如果你常常有這種想法,我就覺得你應該開始使用 Codex。

有什麼不應該使用 Codex 的原因嗎?

一個原因:初期有學習成本

就像前面說到的,Codex 可以看到你電腦裡的資料,也可以使用電腦裡的應用程式,但我們不一定希望它隨時有權限做這些事情,可能有一些檔案不想要它讀、有一些應用程式不想要它使用。

因此,Codex 裡有不同的選項與設定,讓你可以調整在不同情境下,Agent 能看到哪些檔案、做到哪些事情。畫面上就多了:專案設定、權限設定、沙箱設定。

另外,因為 Codex 最初是為了輔助程式開發設計的,所以還是有一些介面、按鈕是工程師才會理解的,例如:worktrees、git 指令、終端機。

因為這兩點,就讓畫面上看起來有比較多按鈕和設定。這可能就會讓一些使用者覺得:看起來好複雜、不知道怎麼用。

這真的是關鍵的差別。ChatGPT 使用上真的非常容易,非常直覺,你就是看到一個「今天想做什麼?」的輸入框而已,直接輸入你的想法和問題就好。但如果是使用 Codex 的話,你最少一定要想一件事:你允許它在哪裡工作?(也就是它可以讀取、使用哪些內容)

這其實也沒有很難,就算你什麼都不設定也是安全的。在預設情況下,Agent 會在要做事時會主動詢問:「我可以看某個檔案嗎?」或是「我可以編輯某個檔案嗎?」,你可以在這時候再去決定就好。但這個方式會讓你的工作流一直被打斷,因為你 會經常要回到 Codex 視窗去提供權限。

所以,要真的有效率地使用 Codex,在初期必須投入一點時間去了解要怎麼正確設定專案和權限(大概十分鐘?)。如果這聽起來很麻煩、很複雜,那我覺得還是用 ChatGPT 就好。