iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0
Vibe Coding

讓 AI Agent 維護一個 Open Source Project系列 第 29 篇

Day 29:這套做法的邊界——哪些維護者決定不該交給 AI

  • 分享至 

  • xImage
  •  

前言:講了 28 天「怎麼用」,今天要誠實講「不該用在哪裡」

這個系列從 Day 01 開始,一直在講怎麼讓 AI 參與維護 PHPUnit & Pest Test Explorer 這個真實專案——issue triage、PR review、修 bug、寫文件、依賴升級、release 流程。如果只看到這裡,很容易得到一個錯覺:只要流程設計得夠好,AI 幾乎可以接手維護者所有的日常工作。這個錯覺本身就違反了系列主題句:機械性、可規則化的工作可以交給 AI,但專案的技術方向、社群信任、對貢獻者的責任,終究要人來扛。 今天要做的,是把散落在前面幾天的授權邊界收攏成一份清單,誠實講清楚。

今日目標

  • 回顧系列裡出現過的四種「AI 不該自己拍板」的決定類型
  • 理解這些決定的共同性質:不是能力問題,是授權問題
  • 看清楚「AI 可以幫忙準備」跟「AI 可以幫忙決定」之間那條線畫在哪裡
  • 建立一份可以直接拿來檢查的授權邊界清單

四種不該讓 AI 自己拍板的決定

第一種:要不要代替維護者發言。 Day 17 講過,AI 可以幫忙整理技術事實(例如「這個問題應該是某個版本行為改變造成的」),但要不要對一個不禮貌的回報者設下界線、要不要接受一個爭議性的功能請求,這種涉及語氣跟立場的表達,不該讓 AI 自己決定要不要發、要怎麼發。

第二種:程式碼來源是否乾淨、授權是否相容。 Day 18 講過,一段外部貢獻的程式碼是不是原創、跟專案本身的授權條款相不相容,這類判斷需要法律/倫理層面的責任承擔——AI 可以標記「這段程式碼看起來似曾相識,建議查證來源」,但不該自己判定「這應該沒問題」就放行。

第三種:這個版本該不該發。 Day 19 講過,changelog 產生、版號建議、打包檢查這些機械性步驟可以交給 AI,但「這批改動夠不夠成熟該不該發」是一個對使用者的承諾,出了問題要有人負責——這個核准動作不該自動化掉。

第四種:要不要評判一個貢獻者的能力。 Day 23 講過,AI 可以幫忙補足外部貢獻者跟專案慣例之間的資訊落差,但不該對「這個人的技術能力值不值得信任」做評判——這種評判性判斷容易造成貢獻者被冒犯,也不是技術問題該有的答案。

用一組對照來看這四種決定的共同模式:

❌ AI 自己拍板:
「這則 issue 回覆用詞比較衝,我幫你發了一則得體的版本。」
「這段程式碼看起來沒有明顯抄襲痕跡,我合併了。」
「這批改動測試都過,我幫你發布了 v3.10.0。」
「這位貢獻者的 PR 品質不太穩定,建議往後對他的貢獻多留意。」
→ 四種情況的共同問題:AI 用自己的判斷,
  取代了本該由人承擔責任的決定

✅ AI 呈現準備,人核准:
「這則 issue 語氣比較衝,我整理了技術事實,
 要不要發、怎麼發由你決定。」
「這段程式碼有一部分結構跟另一個專案相似,
 建議你確認一下授權相容性。」
「這批改動測試都過了,changelog 我準備好了,
 你確認要發布嗎?」
「這位貢獻者這次的 PR 缺了測試,
 我在 review 裡列出具體缺漏,其他判斷留給你。」
→ AI 負責準備跟呈現事實,決定權留給人

這四種決定的共同性質:授權問題,不是能力問題

這條邊界值得記住的地方在於:AI 完全有能力把每一種決定都做得「看起來合理」——它可以寫出得體的回覆、可以評估程式碼相似度、可以判斷測試套件狀態、可以分析貢獻者的 PR 歷史。問題不在於 AI 做不到,而在於這些決定的後果需要一個能承擔責任的人來背書。 這正是這個系列從 Day 01 開始反覆提醒的另一個面向——查證得再紮實的判斷,如果本質上是一個需要授權才能拍板的決定,紮實的查證只是讓這個決定的「呈現」更可信,不代表 AI 因此就有資格自己拍板。

一份可以直接檢查的清單

面對任何一個「要不要讓 AI 自己決定」的情境,可以問自己三個問題:

  1. 這個決定出錯了,誰要負責? 如果答案是「維護者本人」,這個決定就不該讓 AI 自己拍板,只能由 AI 準備材料。
  2. 這個決定涉及的是事實判斷,還是立場/價值判斷? 「這段程式碼有沒有測試」是事實判斷,AI 可以直接回答;「這個功能請求該不該接受」牽涉專案方向,是立場判斷,該留給人。
  3. 這個決定的對象是不是一個真實的人? 只要決定的另一端站著一個真實的貢獻者、回報者、使用者,AI 給出的任何回應都代表著這個專案對他們的態度——這種代表性,不該由 AI 自己決定要不要承擔。

今日思考題

回想這 29 天的系列,你自己維護的專案裡有沒有哪個決定,你曾經想過「乾脆讓 AI 直接處理掉好了」,但套用上面三個問題後,發現其實不該放手?

今日重點回顧

  • 四種不該讓 AI 自己拍板的決定:代替發言、授權/版權判斷、release 核准、評判貢獻者能力
  • 這些決定的共同性質是授權問題,不是能力問題——AI 做得到,不代表它該做
  • AI 該做的是「準備材料、呈現事實」,人該做的是「核准、承擔後果」
  • 三個檢查問題:誰負責、事實還是立場判斷、對象是不是真實的人

明日預告

明天是這個系列的最後一篇:讓 AI 參與維護一段時間之後,這個專案跟這套協作方式本身,有什麼真正的改變——30 天的總結與回顧。


上一篇
Day 28:AI 對 OSS 維護生態的影響:好處與隱憂
下一篇
Day 30:總結——讓 AI 參與維護一段時間後,這個專案有什麼改變
系列文
讓 AI Agent 維護一個 Open Source Project 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言