No AI Fridays: Combatting Cognitive Debt in Software Engineering
No AI Fridays aims to prevent cognitive debt and skill atrophy
No AI Fridays 是一項運動,提議軟體工程師每週投入一天的時間完全不使用 AI 助手進行工作。其目標是對抗「認知債務」(cognitive debt)——即當開發者將決策和實作交給大型語言模型(LLMs)時,所發生的批判性思考和問題解決能力的逐漸流失。
透過在設定的期間內刻意移除 AI 工具,開發者可以評估 AI 引導專案的方向是否符合其個人偏好和風格,並識別出因持續依賴 AI 而產生的盲點。
The case for manual coding days
該倡議的支持者認為,預設使用 AI 會為工程師和組織帶來幾項長期風險:
- Skill Degradation: Constant reliance on AI can hamper skill formation and make developers less engaged with their own work.
- Loss of Critical Thinking: Offloading the "的重要與為何" of coding to an LLM can reduce a developer's ability to reason through complex system trade-offs.
- Missed Automation Opportunities: A reliance on tokens can lead developers to overlook traditional, more efficient automation solutions.
- Loss of Flow State: Manual coding allows developers to reconnect with the "flow state" and the genuine pride associated with handcrafted code.
Implementation and Guidelines
對於採用 No AI Fridays 的團隊,基本設置包括當天關閉 AI 助手,改為閱讀官方文件而非使用提示詞(prompting),並手動編寫代碼。
Tooling Distinctions
並非所有自動化工具都被禁止。該倡議區分了生成式 AI 與基於回饋的工具。像 Greptile 或 Prelint 這樣的工具是被鼓勵的,因為它們對手寫代碼提供回饋,讓人類開發者可以從輸出中學習,而 LLM 生成代碼通常會完全跳過學習過程。
Flexibility in Practice
雖然每週一天是基準,但該倡議建議開發者可以找到自己的平衡點,範圍從每天幾小時到整整一週不使用 AI 的工作,具體取決於其學習目標和手頭任務的複雜度。
Community Perspectives and Critiques
開發者社群的討論揭示了將 AI 視為效率工具的人與將其視為專業能力威脅的人之間的分歧。
Arguments for the Initiative
許多開發者將手動練習的需求比作飛行員的「手動飛行時數」。一位用戶指出,飛行員必須手動降落飛機以保持資格,這暗示開發者同樣需要手動「讓代碼與編譯器碰撞」以保持技能銳利。
Skepticism Regarding Scientific Basis
有些批評者認為,關於「認知債務」的證據很薄弱。一位評論者指出,某些被引用的研究是預印本或自我報告數據的調查,而非經過同行評審的認知退化證據。他們認為,較低的認知參與度是外包工作的一個可預測結果,而非必然的永久性能力流失。
The "Professional Discretion" Approach
幾位工程師反對強制命令,建議專業判斷更為有效。這種方法涉及將 AI 用於乏味、重複性的任務,同時手動處理複雜邏輯或旨在用於學習的任務。
"If it's easier to explain it to an LLM, have the LLM do it. If it's easier to do it myself, I do it."
Concerns for New Developers
目前對於新進工程師的教育存在重大疑慮。一些觀察者指出,最近的畢業生如果其在學習期間過度依賴 AI,將無法回答基本的電腦科學問題,這暗示了「不使用 AI」的方法對於處於職業生涯學習階段的人來說至關重要。
Sources
相關
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch