AI輔助寫code優缺點討論(p.s. 尚未經過團隊專案驗證,僅供參考):
1. function的撰寫
2. class的撰寫
3. Debug部分
4. 定義spec和架構設計部分
5. PM和工程師和測試工程師之間的溝通
6. 認知與理解上的落差
詳細分析:
1. function的撰寫,基本上他能夠做得又快又好(p.s. 前提是你下的prompt夠好或符合該model的期望),但不排除你需要自己微調
Note:
AI在生成function時可能會忽略邊界條件(edge cases)或效能優化
2. class的撰寫,如果不牽涉到depend on third party code or legacy code,應該也是沒問題 (p.s. 現實是一堆地方會需要你自己手工處理)
Note:
AI在面對複雜的物件導向設計(例如繼承、多型)時,可能會生成過於簡單或不符合實際需求的結構。
3. Debug部分,爆肝工程師還是很需要,特別是「workaround」或「legacy code」的問題
Note:
AI可能無法有效處理需要特定業務邏輯的bug,或者在多執行緒問題上束手無策。
4. 定義spec和架構設計部分,擁有domain knowledge或跨domain knowledge的架構師或資深工程師還是贏過AI
Note:
AI目前確實難以取代人類在高層次決策上的洞察力。
5. PM和工程師和測試工程師之間的溝通,這個嘛,AI可以擔任「被」推責任的角色(X) 幫不上忙(O)
Note:
AI可能在生成會議記錄或文件草稿上有些輔助作用,但無法解決認知落差或衝突。
6. 認知與理解上的落差,這個嘛,能有效的溝通變成工程師最重要的第一性原理
Note:
AI可能誤解需求中的隱含意圖(implicit intent),導致產出與預期不符。AI的角色更多是工具,而非理解者。
=======
備註:
Note部分的內容是由Grok AI來補充說明~