軟體工程師慘了,因為AI 會取代你……可能嗎?

最近因為AI又再一次的獲取了大眾的關心,因此又開始出現一堆AI 會取代你的工作的文章,尤其是很多大老闆們,為了展現自己對於新科技的掌握及理解,紛紛表示AI將會取代許多人的工作,例如以下這篇文章:企業開始以 ChatGPT 取代員工?調查:寫程式占 66%,(恩…..這篇文章本身就很像AI產生的,如果是作者看到本文,先跟你說聲誤會啦、Sorry啦~),節錄主要的一句:

已開始使用ChatGPT的企業領袖對ResumeBuilders.com表示,這種聊天機器人的用途相當多元,其中66%把ChatGPT拿來寫程式碼、58%用來進行文案寫作與內容創作、57%用來支援客服,52%用來為會議進行摘錄或撰寫文件。

其中,關於協助文案內容寫作創作及會議摘錄這些工作,我是很認同AI能幫助人類的,尾田榮一郎(海賊王作者)也拿了ChatGPT示範AI如何幫作者激發靈感(這是半開玩笑的,畢竟尾田看完ChatGPT的回答以後覺得得故事很爛XD,但是確實可以拿這些AI聊天模型幫忙,再拿來修改),而摘錄重點更本來就是AI語言模型的強項,但是,等等,最高的66%是拿ChatGPT寫程式碼,所以趕快裁一裁軟體工程師,尤其他們又好貴 ?

ChatGPT 取代 軟體工程師,很難

對於以軟體工程師為職業的人,其實可能覺得這個不太需要討論,因為工作中碰到的情況很容易的理解這不是AI,至少在強人工智慧出來以前,能取代的。以下舉例來說,幫助大家回想一下軟體工程師的工作: 老闆說弄一個簡單的訂單系統,只需要能輸入訂單就好,於是我們在ChatGPT中輸入,並得到它的回答:

問: 假設你是一個軟體工程師,請幫我設計一個簡單的訂單系統,讓我能使用來接客戶的訂單

答:

好的,我可以為您設計一個簡單的訂單系統,以下是基本架構和功能:

  1. 客戶可以在訂單系統中輸入他們的訂單,包括產品名稱、數量、單價和地址等信息。
  2. 系統可以根據客戶輸入的訂單信息計算總價格。
  3. 客戶可以在訂單系統中選擇不同的付款方式,例如信用卡、Paypal、銀行轉賬等。
  4. 客戶可以在訂單系統中選擇不同的運送方式,例如普通郵遞、速遞等。
  5. 系統可以生成一個訂單號,並向客戶發送一個確認郵件,其中包含訂單號、總價格和付款信息等。
  6. 系統可以自動將客戶訂單信息存儲在後台數據庫中,以便管理員可以查看和處理訂單。
  7. 客戶可以在訂單系統中查詢他們的訂單狀態,例如是否已付款、是否已發貨等。
  8. 管理員可以在後台管理系統中查看所有訂單的詳細信息,包括訂單號、產品名稱、數量、單價、總價格、付款方式、運送方式、收貨地址等。
  9. 管理員可以在後台管理系統中處理訂單,例如對已付款的訂單進行發貨操作。
  10. 系統可以定期自動備份後台數據庫,以保障數據安全。

以上是一個簡單的訂單系統的基本架構和功能。如果您需要更詳細的信息,請隨時讓我知道。

阿,不錯,你把老闆所講的需求再講一次了…,恩,可能我沒有要求要你寫程式碼出來,繼續問:

問: 我需要完整的程式碼

答:

很抱歉,由於訂單系統的程式碼會因應不同的開發環境和技術堆疊而有所不同,所以我無法為您提供完整的程式碼。但是,我可以提供您一些可以參考的建議和技術,以幫助您開發您的訂單系統。

  1. 選擇合適的開發環境和技術堆疊:您可以使用不同的程式語言和框架來開發訂單系統,例如Java、Python、Ruby、PHP等,並且可以使用各種不同的前端框架和庫,例如React、Angular、Vue.js等。選擇最適合您需求的技術堆疊是非常重要的。
  2. 設計良好的資料庫架構:為了保存訂單和相關信息,您需要一個資料庫。設計一個良好的資料庫架構是非常重要的,可以提高訂單系統的效能和可擴展性。
  3. 使用RESTful API:為了與前端介面進行通訊,您可以使用RESTful API。RESTful API 可以使前端和後端系統進行簡單的互動和通訊。
  4. 集成付款系統和運送系統:您可以使用第三方支付系統和運送系統,例如Paypal、Stripe、UPS、FedEx等,來實現付款和運送功能。這樣可以節省您的時間和開發成本,同時還可以提高系統的安全性和穩定性。
  5. 考慮安全性:訂單系統需要處理客戶的敏感信息,例如信用卡號碼和地址等,所以安全性是非常重要的。請確保您的系統採用了最佳的安全實踐,例如加密敏感數據,使用HTTPS等。

希望以上建議能幫助您開發您的訂單系統。如果您有任何問題,請隨時讓我知道。

對於非工程師專業的人,請問上面的東西能幫助你做出一個能上線的系統嗎?我就不繼續下去了,我相信你已經知道為什麼AI取代工程師只是個想想很開心的事情了,但是,ChatGPT不只這樣吧,大家都說它超神的,能寫程式阿!,對的,我們繼續往下深問:

問: 那就請用 Python吧,畢竟很流行

答:

好的,以下是一個簡單的基於 Python 的訂單系統程式碼。這個程式碼主要用於示範,如果您需要一個更完整的訂單系統,需要更多的功能和特性,請在此基礎上進行擴展。

pythonCopy code# 引入需要使用的庫和模塊
import uuid
import datetime

# 設計訂單類別,用於儲存訂單相關信息
class Order:
    def __init__(self, customer_name, address, items, payment_method, shipping_method):
        self.order_id = uuid.uuid4() # 生成唯一的訂單 ID
        self.date = datetime.datetime.now() # 訂單創建日期
        self.customer_name = customer_name # 客戶名稱
        self.address = address # 客戶地址
        self.items = items # 訂單商品列表
        self.payment_method = payment_method # 付款方式
        self.shipping_method = shipping_method # 運送方式
    
    # 計算訂單總價格
    def get_total_price(self):
        total_price = 0
        for item in self.items:
            total_price += item["price"] * item["quantity"]
        return total_price

# 設計商品類別,用於儲存商品相關信息
class Item:
    def __init__(self, item_id, name, price):
        self.item_id = item_id # 商品 ID
        self.name = name # 商品名稱
        self.price = price # 商品價格

# 定義一些示範商品,實際應用中您可以通過資料庫等方式來管理商品
items = [
    Item("001", "Apple", 1.0),
    Item("002", "Banana", 2.0),
    Item("003", "Orange", 1.5)
]

# 定義一個函數用於顯示商品列表
def show_items():
    print("Item List:")
    for item in items:
        print(f"{item.item_id}. {item.name} - ${item.price}")

它真的寫出能跑的程式! (恩…..應該說有時候能寫出能跑的程式),但是一樣的問題,請問老闆們,上面的東西出來了你能做出一個可用的訂單系統嗎? 如果你不行,如何期待下面非軟體工程師的員工做出來呢?如何用AI 來取代工程師呢?

AI 是軟體工程師很好的工具

其實上面的程式碼對軟體工程師來講是有一個專有名詞的,叫做boilerplate code,(中文我不知道怎麼翻,詢問ChatGPT它說叫: 範本代碼),就是這是一個樣本,工程師可以依照他的知識來修改這些範本代碼,符合所需要的情境,有了這個範本代碼,可以讓工程師不用從零開始寫系統,加速整個開發流程。這是AI 能幫助工程師加速開發的一個情況,另外的情況包括根據目前寫的內容自動判斷接下來可能重複出現的code,或是幫忙找到一些typo等等,這些工具其實也不是ChatGPT才有的,其他例如Github Copilot等更專業更符合工程師的需求。

做一個簡單的結論,AI 能幫助工程師增加效率,卻不太可能取代工程師,非工程師人員想要用AI幫助寫code來增加工作流程上的效率,運氣好矇到,運氣普普就是花很多的時間跟AI 拉勒,然後覺得好像要花很多時間研究才能做到的答案,運氣不好的話就是拿到一個看起來好像可以的東西,然後花了半天卻弄不出來,加上因為沒有相關的程式背景,哪邊出錯也不知道。恩,想要把事情辦好還是去找專業的吧。

開放論戰!