許多開發者社群都問錯了問題。

不是因為他們擔心低品質、低投入的作品是錯的,不是;而是他們所使用的過濾標準,根本無法把持續維護的工程與生成出來的垃圾區分開來。它只是依照創作時用了哪些工具來區分專案而已。

想像一下,你想分享一個自己非常自豪的作品,過程中有 AI 幫忙協助;點子是你自己的,但你的作品卻被標記、被拒絕,或被諸如 「才沒有」「我超討厭現在到處都是 AI 專案」 這類留言淹沒。某些人在說完這些話之後,一定覺得自己很正義,深信自己是在保護社群免於低投入垃圾的污染。

但實際上,他們保護的根本不是那個。

他們保護的是 一個標籤

這個區別

我讀了 @madsendev 的文章,內容是關於 Open Vectorizer。Madsen 想把這個專案分享給其他人,也希望有人願意一起貢獻。

看起來,「AI 生成」與「持續維護的工程」之間的差異,對那些把過濾條件簡化成單一二元問題的守門人來說,已經變得看不見了。

問錯問題了。

「有用 AI 還是沒用 AI?」(他們可能沒有真的這樣問,但實務上就是這個篩選方式。)

原因如下:想像兩個專案。

專案 A: 某人花了兩年重新設計向量化演算法,研究機器學習是否能改善它,最後決定不用,改用可決定性的做法;接著發現自己的基準測試資料被灌高了(但還是修正了),發表了可重現的結果,並且持續維護程式碼。

專案 B: 某人對 AI 提示詞輸入「幫我做一個音樂串流 App」,把跑出來的東西直接發布,沒做測試就消失了。

兩個都用了 AI。兩個都被貼上「AI 生成」的標籤。只有一個適合出現在開發者社群裡。另一個才正是社群應該要過濾掉的東西。

猜猜看哪一個被拒絕?對,兩個都被拒絕。你運氣最好也只是之後才被拒絕,因為守門人正忙著跟你爭辯,然後把社群名稱改成:「我好懷念以前用打孔卡、嘴裡叼根菸寫程式的日子」——啊,沒錯,就是這種身份危機。

把「AI 生成」當作品質篩選的問題

這種守門邏輯乍看之下似乎合理,但它其實有很大的問題:

否定式的回應: 「才沒有。」(出自 @deammer)。這種回應必須忽視實際的技術工作,但 Madsen 其實重寫了一整套演算法流程,拿它跟既有工具做測試,還抓到一個讓自己基準結果看起來更好的 bug,然後依舊把較差的數字照樣公布出來。這根本不是某個人把提示詞丟給 Claude 就拍拍屁股走人的那種情況。

更廣泛的顧慮: @blakebeckcoding 指出了一個真實問題:未經審查的 AI 生成程式碼確實引入了安全漏洞。這是對可維護性與責任歸屬的合理擔憂。問題出在,把這點直接當成足以在評估技術價值前,就拒絕 所有 AI 協助專案的理由。對低品質程式碼的擔心是合理的,但「依工具選擇直接拒絕」這個簡化規則,其實無法真正解決問題。

換個角度想: 我們不會因為 Rust 讓記憶體安全更容易,就拒絕所有 Rust 套件;也不會因為 C 可能產生記憶體錯誤,就假設所有 C 專案都不安全。語言選擇會影響機率,但它不決定品質。AI 也是一樣。

懷舊牌: 「Dev.to 以前比較好」(還是那位仁兄,你知道是誰,老哥就是在懷舊)。這裡潛藏著一種假設:在 AI 工具出現之前,開發者社群的品質比較高。但人類自 1980 年代以來就一直在發布糟糕的程式碼,亂貼亂發一直都是問題,也不是什麼新鮮事;AI 只是讓這件事更容易、更便宜而已。

真正的問題(以及為什麼它需要真正的工作)

開發者社群確實正被大量內容淹沒,但問題不是特定的 AI 生成專案,而是 低投入專案,就這樣。而且就像前面說的,因為 AI 讓產出成本變低,這波洪水正在以驚人的速度上升。

那解法呢?不是「封殺 AI 專案」。

而是要理解,什麼才是真正能把訊號和雜訊區分開來的東西:

  • 維護者能不能解釋架構,還是聽起來像在照念 Stack Overflow?
  • 有沒有實質性的測試?
  • 主張能不能被獨立重現?
  • 基準測試是否透明?
  • 是否揭露弱點?
  • 維護者有沒有真的審查變更並承擔責任?
  • 這個東西六個月後還會有人維護,還是只是一個一次性的實驗?

這些問題對人寫的程式碼同樣適用。而且它們很 難驗證,需要真正閱讀、思考與判斷。

「有沒有使用 AI?」很便宜。勾個選項而已。看起來很有原則,也讓版主可以趕快往下做。

「這是不是可維護的工程?」就需要真的去理解作品。

那個很諷刺、但說中了的點

在留言串裡,@unitbuilds 提出了最合理的觀點:

「軟體開發是一個編排過程,最終的價值是能運作、經過稽核與測試的軟體——而不只是人手打字的時間。」

然後又說:

「如果你只會留這種留言,就去 X 加入那個糞坑吧,或是去 Reddit,他們會很歡迎你。請讓 Dev.to 保持為所有開發者都安全的空間。」

講得很好,不是嗎?這並不是在抽象地替 AI 辯護,而是在捍衛 社群仍然是社群:一個可以分享作品、獲得回饋的地方,而不是一個因為使用了哪種工具就要接受純潔性測試的地方。

那位說自己用 99% AI、在全職工作的情況下做出一款 3000 行的遊戲的人,理應有資格分享作品。用 GitHub Copilot 來補完成常見程式碼的人也是。Open Vectorizer 的作者也是——他在 AI 協助下做出架構決策,但不會拿自己無法解釋的東西去發表。

他們都不該因為一個無法反映作品品質的標籤而被否定。

歷史視角

這一點看似離題,其實不然:軟體開發一直都是這樣運作的。

我們從組合語言轉到 C,沒有人會說 「你根本沒在寫程式,因為你用了編譯器。」 我們從手動記憶體管理走到垃圾回收。從原始 SQL 走到 ORM。從手寫 Dockerfile 走到樣板。從複製貼上 Stack Overflow、到 IDE 重構、再到 GitHub Copilot 自動補全。

每一步都提高了抽象層次。每一步都引發擔憂:開發者會不會變懶、標準會不會下降、工藝會不會被稀釋。

但每一次,真正重要的問題從來都不是 「你用了什麼抽象層級?」,而是 「你是否理解產生出來的東西?你能不能為它辯護?你會不會維護它?」

這才一直以來都是真正的標準。

AI 只是這條演進路徑上的下一步。它更激進、更顯眼,產生平庸輸出的速度也更快。但本質上,它並沒有和其他讓開發者把重複性工作交出去、專注在真正重要決策上的工具有什麼不同。

問題不是 AI 應不應該被接受。

簡單來說,自從第一個高階程式語言被發明以來,人們就一直說軟體開發要完了……只是這種焦慮循環不斷繞圈重演而已。

好的版主規範

不,不是要「全面開放」。重點在於你到底在篩選什麼。

好的版主管理應該:

  • 要求揭露大量 AI 參與的情況(透明度很重要)
  • 根據可重現性、測試覆蓋率與維護者責任感來評估專案
  • 對有公開基準測試或積極處理 bug 的專案加速審核
  • 依照 缺乏深度 來抓出明顯的垃圾內容,而不是看它從哪裡來
  • 為正在學習的人留出空間,同時過濾低投入的重貼內容

糟糕的版主管理,就是現在正在發生的事:

  • 一刀切地假設所有 AI 協助的作品都等同於「丟提示詞、直接發布」
  • 只會說些貶低性的話,卻從不碰觸技術內容
  • 只因為用了某種工具就拒絕,而不是因為缺乏嚴謹性

DEV 轉向要求揭露、而不是直接禁止 AI 協助內容,這點很好。它把誠實的責任交給創作者,然後讓社群根據實際作品來判斷。

真正重要的是什麼

@unitbuilds 說得對:開發者社群的工作是分享作品並獲得有實質內容的回饋,而不是去管方法論本身。

把好工程和垃圾內容區分開來的問題其實很直接:

  • 你能不能解釋架構決策?
  • 哪裡壞掉了,你怎麼修的?
  • 基準測試能不能重現?
  • 你會不會維護它?
  • 你願不願意接受更正?

不論程式碼是人手打的、由 Claude 生成的,還是混合而成,這些問題都適用。因為它們關乎理解與責任——也正是一直以來決定品質的東西。

工程應該根據理解、正確性、可維護性、測試與責任感來評估,而不是看敲了多少鍵。


原文出處:https://dev.to/adamthedeveloper/understanding-over-origin-4685


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝10   💬1   ❤️6
316
🥈
我愛JS
📝2   💬6   ❤️3
113
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登