2023年10月19日

ChatGPT 要取代軟體工程師了嗎?試著請 ChatGPT 教我如何使用 Docker 建置 PHP Laravel 的本地開發環境

早些年的 AI 其實很笨,不太能理解人類真正的意思,但經過學者跟工程師們多年的努力,聊天機器人已經有很大的進展了。尤其是最近微軟推出的 ChatGPT,據說聰明到已經可以顛覆整個產業了!?

甚至傳聞 ChatGPT 已經足以取代軟體工程師了!事實真的是這樣嗎?難道我這次真的要失業了嗎?

這篇就來玩一個簡單的測試吧,來測試 ChatGPT 是不是真的有傳聞中的那麼厲害,是不是真的可以取代軟體工程師!那就廢話不多說,直接出動 ChatGPT 啦!

問問 ChatGPT

打開 ChatGPT 後,我直接問了這個問題:

請問我要如何在本地使用Docker建立起Laravel的開發環境?

問完後,不用幾秒, GPT 立刻就回了我一大串,如下面的截圖,洋洋灑灑的列出了六大步驟(完整原文貼在圖片下方)。

----- 以下內容全由 ChatGPT 產生 -----

當然可以!以下是一個簡單的步驟,讓你在本地使用Docker建立Laravel的開發環境:

  1. 安裝 Docker 和 Docker Compose:

    如果你還沒有安裝 Docker,可以在官方網站上找到安裝說明:Get Docker
    Docker Compose 通常與 Docker 一同安裝,但你也可以單獨安裝:Docker Compose 安裝說明

  2. 建立 Laravel 專案:

    使用 Composer 創建 Laravel 專案,可以執行以下指令:

    composer create-project --prefer-dist laravel/laravel your-project-name
  3. 建立 Docker Compose 檔案:

    在 Laravel 專案的根目錄中建立一個 docker-compose.yml 檔案。以下是一個簡單的範例:

    version: '3'
    services:
      app:
        image: 'php:7.4-fpm'
        volumes:
          - './your-project-name:/var/www/html'
        working_dir: /var/www/html
        ports:
          - '8000:8000'
        networks:
          - app-network
    
      webserver:
        image: 'nginx:latest'
        volumes:
          - './your-project-name:/var/www/html'
        ports:
          - '8080:80'
        networks:
          - app-network
    
    networks:
      app-network:
        driver: bridge
    
  4. 設定 Laravel 專案的 .env 檔案:

    設定 Laravel 專案的 .env 檔案,確保資料庫設定等正確。

  5. 啟動 Docker 容器:

    在終端機中,移動到包含 docker-compose.yml 的目錄,然後執行以下指令啟動容器:

    docker-compose up -d
    
  6. 訪問 Laravel 專案:

    打開瀏覽器,前往 http://localhost:8080(或你在 docker-compose.yml 中設定的端口),應該能看到 Laravel 的歡迎畫面。

現在,你已經在本地使用 Docker 成功建立了 Laravel 的開發環境!如果有其他問題或需要進一步的說明,隨時問我。

----- ChatGPT 內容到此為止 -----

結果分析

本來就知道該怎麼做的人,一看就知道,這段幾乎是正確答案,不只執行順序是對的,一些操作細節也都有說明到。

至於程式碼範例也幾乎都是對的,只要複製貼上,再調整一些地方就可以動了。

看完它的回答,我可以追問它,要怎麼安裝 composer,如果我不知道該怎麼做的話。

或是請他補充說明,像是問它 docker-compose.yml 中的 volumes 是什麼意思?它都可以正常的回答。而且它其實會記得前面的問題,所以是可以接著問的,不會給你一個毫無關聯的答案。

還有一些小細節,例如它會提供參考資料的來源。

個人想法

其實這並不是我第一次使用 ChatGPT 了,平常在工作的時候其實也會用。在 GPT 問世之前,工程師好的朋友就是 Google,雖然現在仍是,但是已經把一些時間轉移過去 GPT 了,我個人大概是 Google 8,GPT 2的分配吧。

什麼時候會使用 ChatGPT?

什麼時候會使用 ChatGPT? 大概是我對一件事情完全沒頭緒,不知道要下什麼關鍵字的時候吧。把問題丟給 ChatGPT,它會給我一大堆廢話內容,這些內容就可以再拿去 Google 下關鍵字,比較容易找到想要的東西。

又或者像是這篇的案例,我可能需要重頭做一件事,雖然知道該怎麼做,但有時候就是開始的那幾個步驟最麻煩,直接問 GPT,它就會給你一份接近可以動的範例,對我們來說很方便,可以節省很多時間。

ChatGPT 是否真的可以取代軟體工程師?

至於 ChatGPT 是否真的可以取代軟體工程師?我覺得還不至於啦,至少幾年內。

畢竟我認為 GPT 雖然可以產出東西,但本身如果沒有一些基本的知識,並沒有辦法判斷 GPT 的內容是否正確,這樣的話其實就很容易遇到問題。一個正常的超商店員不太可能把以上的內容跑起來吧?(難說,超商店員是全能的)

但我相信,繼續發展下去,有一天連完全不懂程式的人,也可以指揮 AI 來幫它完成程式開發工作了,至少 PM 可以做更多事了,不用凡事找工程師。