我最近看到一個關於 X 平台糟糕遺留程式碼的梗圖,這給了我一個討論主題的想法。
一年前,開發者最常問的問題是:
你看過最糟糕的程式碼是什麼?
但我們的日常工作已經改變了。或許現在真正的問題是:
“人工智慧給你的最糟糕的建議是什麼?”
我先來。
我很高興地熬過了許多有問題的程式碼:從根本上沒有觸及問題的“快速熱修復”,到比我15歲之前服用OOP興奮劑還要複雜的重構。
但這件事發生在大約一年前,至今仍讓我記憶猶新:
我當時正在開發一個 GitHub Action,它可以根據我的 .NET REST API 建立 Docker 映像,將其作為公共映像推送到 Docker Hub,然後部署到 Azure。很簡單,對吧?
但有一個小小的限制:該 API 使用私人 API 金鑰與第三方服務進行通訊。
所以我向 ChatGPT 尋求建議。
它的建議:
“您可以將此 API 金鑰作為環境變數儲存在 Docker 映像中。”
等等……什麼?
將私有 API 金鑰放入公用 Docker 映像中?
*需要說明的是,環境變數本身是可以的。
問題在於在建立鏡像時將密鑰嵌入到鏡像中,這會導致任何拉取或檢查公共鏡像的人都能獲取到密鑰。 *
我向 ChatGPT 解釋了這一點。
它的回應堪稱經典:
“你是對的!”
並建議將其安全地儲存在 Azure 中。
故事結束了嗎?
當然不是。
僅僅幾個訊息之後,在同一個上下文視窗中,ChatGPT 再次建議將私有 API 金鑰作為環境變數放入公共 Docker 映像中。
那一刻我意識到:
人工智慧目前還不具備生產就緒狀態,至少在安全建議方面是如此。 😄
我們過去常常仔細審查初級開發人員的程式碼。
現在我們還需要審查一些程式碼,這些程式碼的編寫者聽起來像是一位資深工程師,但有時表現得卻像個第一天上班的實習生。
AI或ChatGPT給你的最荒謬的建議是什麼?
您對人工智慧生成的程式碼和人類編寫的程式碼的審查方式是否有所不同?
我很想聽聽社區裡的真實案例。
原文出處:https://dev.to/gramli/whats-the-worst-advice-ai-has-given-you-heres-mine-58j4