維基百科:機器人方針
本頁簡而言之:全自動或部分自動的編輯程式,簡稱「機器人」,必須有益而無害,運行前獲得社群批准,以獨立帳號運行,使用者須為機器人編輯負責。 中文維基容許使用全域機器人,但須遵守相關的本地規定。 |
機器人方針適用於所有用以編輯維基百科的電腦程式或指令碼,包括全自動、高速運作以及協助編者的工具。本方針亦涵蓋機器人審核小組的設立及相關事宜。該小組代表中文維基百科社群,負責監督和審議本地一切機器人運作事務,以確保機器人符合有關的技術和品質管制要求。
定義
- 機器人是指主要用於協助編者執行大量自動化、高速或機械式、繁瑣的編輯工作的電腦程式或指令碼及其所登入的帳號。當機器人啓動後,一般能全自動運作,毋須人類指示。
- 輔助或半自動編輯指以低速運行的工具及指令碼,能夠協助使用者編輯,但最終決策仍由使用者作出。(詳見下方半自動編輯指引。)
- 指令碼指個人化的指令碼(常以JavaScript編寫),它們可以自動執行,也可能只是強化MediaWiki已有的功能。
- 機器人審核小組 (簡稱「BAG」)由一群獲社群信任使用者群組成。該等使用者深諳機器人技術,亦擁有不少編輯經驗,受社群所託去監督及審議本地機器人事務。此小組亦負責界定程式屬於機器人抑或輔助編輯軟體。MediaWiki開發者(開發者)不受本方針所限。
機器人的使用
社群對批准機器人進行某一任務設有嚴格要求,因為機器人:
- 能夠以遠快於人類的速度編輯;
- 編輯時較不會受到其他編者檢查;
- 如果出錯或用於破壞時,其傷害必然廣而深。
故此,機器人未經授權,嚴禁操作。獲得授權以後,亦嚴禁擅自改動經過核准的操作細則。如有違反,操作者及機器人帳戶均可被封鎖。使用者亦應注意,高速操作半自動編輯工具作不當編輯可被封鎖。(見WP:MEATBOT)如有疑問,請向機器人審核小組查詢。
機器人帳號
機器人帳號和操作者的帳號應該分開。操作者執行一般的編輯不應該使用機器人帳號。機器人帳戶的名字應能清楚顯示出它的操作者名字或功能。此外,機器人帳戶使用者名稱應包含「Bot」或「機器人」等標記,以資分辨使用者及機器人所作編輯。機器人帳戶使用者頁面上可加上{{bot}}註明。機器人應使用API的assert參數或類似功能確保其編輯均為登入以後所作。機器人除外,其他輔助工具毋須使用獨立帳戶,但有些使用者仍會為進行高速編輯而註冊另一個帳號。機器人帳號應當建立使用者頁面,明確標明該帳號為機器人帳號,並列出其執行的工作以及操作者的使用者名稱。如果是全域機器人,可以連結至其他寫有工作說明的頁面。
操作者有責任確保機器人運作正常。為此,機器人的使用者頁面上必須清楚標明操作者是誰。特別要注意的是,如果機器人出錯,操作者有責任修復其所帶來的損害。維基百科的所有方針均適用於機器人。機器人帳號視為操作者依據傀儡方針設立的分身帳號。
機器人帳戶嚴禁用於非指定用途。另外,操作者亦莫應使用機器人帳戶回應機器人相關提問。操作者如有需要,可將機器人討論頁重新導向至其討論頁以便收取通知。
機器人使用者群組
當機器人審核小組同意後,行政員會將機器人帳戶加入機器人使用者群組,這樣機器人會獲得一些MediaWiki系統提供的額外權限,例如允許高速存取API。機器人所作的編輯預設不會在近期變更中顯示。
在過往,批核過程和獲得機器人權限是分開的;並不是所有獲批的機器人都有權限。這是由於有些機器人的編輯不應從近期變更中隱藏。現在由於使用者可選擇在近期變更顯示機器人編輯,一般獲準的機器人都會獲得權限。但審核小組仍可根據實際情況,決定申請成功的機器人應否獲得權限。
機器人的使用者頁面
機器人可按實際需求設立使用者頁面及使用者子頁面。這些頁面的管理權屬於機器人操作者。由於此類頁面有一定系統管理功能,管理員可對它們實施預防性保護。
獲批資格
機器人操作者必須顯示其機器人以符合下列準則,才能獲得審核小組的授權:
- 機器人必須有用
- 機器人必須無害
- 機器人應該有效運用伺服器資源,盡力避免過量佔用
- 機器人運作前必須獲得共識
- 嚴格遵守維基百科各項方針和指引
- 在編輯摘要和其他寫給使用者的訊息中,能給予使用者幫助,並以合適的語氣寫出
機器人的使用者頁面應以{{bot}}指明自己是機器人。以下資料應同時在機器人使用者頁面和機器人申請頁面列出:
- 機器人將進行的工作
- 機器人是以半自動抑或全自動方式運行
- 機器人運作時間及頻率(連續、間斷、或只在特定時刻運作)
雖然機器人的運作不會影響維基百科的穩定性,但操作者仍應銘記機器人的編輯速度遠比人類編者為快。操作者不應佔用過量伺服器資源,並應小心調節編輯速度。如果機器人的運作真的影響到維基百科的運作,系統管理員將通知本地社群。在此情況下,社群必須服從系統管理員的指示。
- 除非機器人正執行極為緊急或瑣屑的任務,否則其編輯速度不應高於正常人類檢查編輯的速度。
- 測試中的機器人的編輯速度應比已獲授權的機器人慢,以免沖刷近期變更。
- 機器人的編輯速度應與其任務的緊急程度相一致;非緊急的任務(如重新命名頁面分類)的運作速度應較緊急任務(如回退破壞)慢。
- 操作者有責任按照伺服器效能和工作容易出錯的情度,來控制機器人的編輯速度;審核小組會按照每一申請的實際情況決定編輯速度上限。
- 高速運作的機器人在尖峰時間應以較慢的速度運行。
- 若已得到批准的機器人在執行操作時設定不將自己的編輯標記為機器人編輯,則此類操作會顯示在近期變更中。此時操作者應當降低編輯頻率,避免大量占據近期變更頁面。
- 機器人的編輯速度也可由資料庫的延遲時間控制;機器人在非繁忙時間的速度可加快,而在尖峰時間則較慢。這可通過設定Maxlag參數來達成。
不要製作存取大量頁面來下載維基百科的機器人,這類程式會被系統管理員阻止。如你有需要下載大量維基百科頁面,請到資料庫下載。如機器人需要在維基百科資料庫上運行,可自行向Wikimedia Toolforge申請。該申請程序並非本地社群負責。
良好溝通
機器人產生的編輯摘要應以友善的語氣為其他編者提供資訊。如有疑問,機器人操作者應迅速和友善地解答他們的問題。這是機器人操作者的基本守則。如果操作者不能親自解答問題,他至少要確保有其他編者能夠代他回答那些疑難。
功能要求
操作者應根據機器人的工作性質,確保其達到下列有關要求:
- 在使用者討論頁發放訊息的機器人應設有拒絕訊息機制(遵從{{Bots}}),並在機器人使用者頁面清楚寫明。
- 編輯大量頁面,但有某些頁面不應編輯的機器人應遵從{{Bots}}的指示。
- 機器人應避免編輯沖突。
- 操作者可選擇提供一機制來讓操作者以外的人控制機器人的運作——例如,機器人可在編輯前先讀取某頁面上的內容,再決定行動。該頁面如有需要可以被保護或半保護以防被濫用。操作者如採用此設計,應留意他們仍需對機器人的編輯負上全責。
我們鼓勵機器人的作者發佈它的原始碼,但這並非強制要求。
對特定工作項目的額外限制
上下文有關的修訂
機器人不應以全自動方式進行上下文有關的修改。這類修訂應於人類編輯的監督下進行,以免出現任何錯誤。然而,如果操作者能證明機器人不會出錯(如將所有要修改的項目先試運行一次),或社群同意該任務在不受監督的情況下運行(如回退某人的所有編輯,不論好壞),則屬例外。
上下文有關的修訂包括但不限於以下數種:
- 更正錯字、文法錯誤、標點錯誤。
- 添加與上下文有關的模版,如{{weasel word}}。
- 將字元實體參照改成人類編輯時難以識別的Unicode字元。
人物分類
不應以機器人調整人物分類。在用機器人添加分類前,應先人工檢查預定的修改,切勿直接滙入維基現存的列表直接修改。
跨語言連結
維護跨語言連結的機器人應停止運行(見維基數據),除非該工作無法在維基數據上進行(如連結到某一分段、或處理只用於正文的跨語言連結)。
為美觀而作的小修正
為美觀而作的小修正(例如AWB general fixes)不應單獨執行。
批次建立條目
以自動或半自動方式批次建立條目或頁面分類前,必須先提出申請。「批次」指至少50項編輯。你應先到互助客棧及相關專題尋求共識。操作者必須確保所建立的條目符合社群的要求。
更簡單的方法是減少建立的條目數量,或先在各屬專題的子頁面建立條目,由其他編輯檢查後,再移動到條目空間。這些方法不用申請機器人,也更容易得到社群的支援。
一般而言,除非社羣或機器人審核小組提出豁免,由機器人建立的條目須達致以下標準:
審核過程
申請機器人權限
所有機器人在進行有紀錄的操作前(如編輯頁面、上傳檔案、建立帳戶),必須就該項目獲得審核小組的同意。機器人申請可在維基百科:機器人/申請(BRFA)頁面進行。申請書中應清楚地列明機器人將進行的工作,及提交一切有助社群明白機器人運作的資料,例如社群同意該項目運行的討論。此外,申請者應為優秀的編輯,並對機器人將進行的項目有充份的瞭解。
在申請期間,一名機器人審核小組(BAG)的成員一般會批出一段測試期,以檢查機器人能夠正常運作。測試期的長短及其他細則由審核小組決定。申請者應密切注視機器人的運作,以便在問題出現時迅速修正。申請者有責任檢查機器人所作的編輯,並修正有關的錯誤。如果測試期間機器人曾出現錯誤,審核小組可能會批出第二階段測試期,直至社群相信機器人能正常運作。
申請期間,其他編輯及審核小組成員可能會對機器人提出意見或疑問,並對機器人在測試期的表現提供回饋。最終決定批准或否決某一項申請取決於機器人能否滿足上列的各項要求,遵守相關的方針和指引﹐及社群的討論。申請者應主動尋求熟識該方面的使用者提供意見。
當社群相信機器人能滿足社群的要求,及沒有技術錯誤後,審核小組會批准申請。如果申請無法獲社群同意運行的共識,審核小組可能會否決申請。有時,申請者會主動撤回申請,或因申請者不再回覆而擱置申請。已關閉的申請會被存檔,方便將來參考。如果機器人獲得批准,行政員會授予機器人權限,申請者可按規定開始運作機器人。
機器人審核小組偶然會快速批准或拒絕一項未經測試的機器人審核小組申請。快速批准一般給予由可靠的操作者所申請,明顯不具爭議而只用到簡單技術的機器人、或另一機器人的複製品。同樣地,新使用者如提出極具爭議或先前已被拒絕的項目,可能會被直接拒絕。
毋須事先批准而合規操作
機器人操作者如以非常慢的速度編輯少量頁面,並只在測試頁面進行,則毋需申請。事實上,任何使用者都可進行此類測試編輯。除此之外,機器人如只在其擁有者的使用者空間進行編輯,亦毋需申請機器人權限。
如果操作者想改動某已經獲批的機器人,他們的變更必須符合本方針。小規模變更,如修正機器人錯誤或改良機器人的運作,一般是容許的。大規模變更則只可在獲得共識後進行。若希望執行新的任務,操作者必須重新提交申請。操作者可選擇為每一工作建立一個獨立的機器人帳戶。
在未經批准下運行機器人可能會被管理員立刻封鎖。
覆核申請
如欲要求覆核申請,使用者可於Wikipedia:機器人/申請#申請覆核提出,並陳述自己的觀點。本項適用於重新審議已批准或已拒絕申請,及要求解除現有機器人權限。覆核會由審核小組處理。但在社群共識明顯的情況下,申請者應該避免擾亂性的申訴。
申請覆核的結果包括:
- 給予或撤回機器人執行某一項目的授權
- 給予或移除機器人權限
- 保留機器人權限,但加上新的運行條件
審核小組只應討論機器人本身,而非討論申請者的行為。
附有管理員權限的機器人
附有管理員權限的機器人(簡稱adminbot)亦須經一般程序申請。只有現任管理員方可申請和使用附有管理員權限的機器人。如同其他申請,討論會分為兩部分:
- 社群對該任務的同意,即社群是否同意該項目應由機器人自動完成。這部分討論可於申請頁面進行,亦可於互助客棧進行,唯必須得到社群的廣泛認可。
- 技術範疇的討論,即機器人能否無錯誤下完成工作。任何使用者都可就技術細節提開討論,但一般而言技術水平較高的使用者會主導討論。社群建議這類機器人開放其原始碼。操作者仍可選擇不公開,但審核小組組員及管理員仍有權要求審閱原始碼。
當社群同意由機器人執行任務是合理及技術上安全後,一名審核小組成員會給予機器人測試期。在這期間,機器人會在沒有管理員權限的狀態下試行(如可行),或在操作者的帳號運行(並標明那些編輯由機器人作出)。當審核小組確信機器人不會出錯後,小組會同時批出機器人權限及管理員權限。負責批核的行政員會作最後把關,檢查申請是否得到社群的一致同意(如社群有否積極討論該申請),並作出最後決定。
如果機器人額外依賴一些不公開的規則來運行(如利用一連串正規表示式來決定某些行動),審核小組組員及管理員有權要求機器人操作者提供該等規則供審閱。操作者修改這些規則,特別是當修改會大幅影響機器人的行為時,應儘量小心。
管理員測試未經批准的附有管理員權限的機器人時(例如在研發階段),應格外小心,在機器人出錯時及時阻止。如機器人失控,管理員須為此負責。
管理員可以在自己帳號使用半自動管理工具,唯同樣需對一切操作承擔責任。
當操作者因故失去管理員權限時,其機器人的管理員權限也應當剝奪。如果操作者希望該機器人繼續運作,可以將其所有權轉交給另一名管理員,並於機器人申請頁面通知社群。
全域機器人
全域機器人(Global bots)將視作獲得維基媒體大部分wiki上的bot權限(參看這裡),中文維基百科允許使用全域機器人。對於全域機器人,必須符合下列要求:
- 以此獲權的機器人只能用於維護跨語言連結和修復重新導向,其他操作需再次申請獲得共識。
- 機器人必須已經在多個wiki執行,並且有長期的貢獻並受到信任。
申請全域機器人權限請到m:Steward requests/Bot status提出。
處理與機器人有關的問題
輕微的錯誤、投訴和改進建議
如果你留意到某機器人出錯,或希望投訴/改進某機器人,你應直接到操作者的使用者討論頁留言(或到該機器人的使用者討論頁留言)。操作者有義務回應社群的憂慮和建議,但請在討論時假定善意及保持冷靜。畢竟,程式出錯是十分常見的事,維基百科正是從一個個錯誤中成長。
對機器人的小幅修改一般並不需通知社群,除非該修改和批准時的共識有明顯的衝突。例如,某機器人原來的工作是為某維基專題討論存檔。當它要改變存檔方式時(如將存檔條件由無人回覆五天改成十天),無須重新申請。但如果機器人專案為另一維基專題討論存檔,則應該重新申請,而該申請可能會被快速批准。又例如,本來負責在條目移除過時分類的機器人如想同時移除已刪除檔案的連結,則需重新申請。
重大出錯及投訴
如果機器人造成重大破壞,或操作者沒有回應先前的投訴留言時,社群設有數種機制去阻止機器人繼續破壞。例如,有些機器人會提供停止功能。緊急情況下,也可尋求管理員幫助,或者到Wikipedia:當前的破壞報告,讓管理員封鎖機器人以停止其運行。剎停機器人後,應儘快向操作者解釋原因。
如果你覺得某機器人的工作已超出當初社群的同意範圍,請先與操作者討論。如你相信機器人已經失去社群的支持,你可要求重新審視該機器人的申請。
疑似由機器人作出的編輯
編輯者不應該為了較高的效率或數量而犧牲編輯的品質。在處理爭議時,那些編輯是由機器人、使用半自動工具的編者、或是全手動所做並不重要;重要的是,那些不當的編輯必須停止,否則可能會因此受到封鎖。
未提出申請機器人的使用者應該注意自己的編輯頻率,確保其他使用者有時間作出檢查和提出異議,且不會大量占據「近期變更」頁面。當有其他使用者或管理員要求降低編輯頻率時,操作者應當遵守,否則可能會被暫時封鎖以防止維基百科受到負面影響。
另注意快速地編輯,特別是當此行為只持續一段短時間時,並不代表就是破壞。
封鎖機器人
管理員有權封鎖違規的機器人,這些情況包括未經授權下運行、運行授權範圍以外的工作、違反批准時訂定的運行條件、或違反本機器人方針。如果機器人未經登入或用申請以外的帳號編輯,同樣會被封鎖。管理員可用{{Bot block message}}(處理出錯的獲批准機器人)及{{Uw-botblock}}(處理未經授權的機器人)等模版通知操作者。
管理員應對懷疑運作未經授權機器人及出錯的獲批准機器人的帳號處以不限期封鎖。
其他與機器人有關的事務
機器人審核小組
審核小組的組員們應擁有豐富的編寫與運作機器人的經驗,熟悉編程,並且明白審核小組於機器人申請中的角色以及維基百科的機器人方針。有意加入審核小組的使用者可到討論頁申請,向社群闡述自己為何能夠成為小組一員,及介紹自己過往與機器人有關的經歷。七日討論後,一名未有參與討論的行政員將作出決定。
半自動編輯指引
「半自動編輯」指使用工具或指令碼的協助進行重複性的編輯,但所有編輯仍在人類監督下進行。這類編輯常見於改正錯字、修正消歧義頁、回退破壞、及替小作品分類。
通常情況下這類編輯不一定需要提出機器人申請,但若操作者根據常理持有顧慮或可能引起爭議則應該根據上述審核過程提出申請。機器人審核小組會斷定該項目是否需要視作機器人。一般而言,愈是高速、大量、自動化的編輯方式,愈可能被當作機器人處理。
如編輯希望進行大量半自動編輯,他們應先尋求社群共識。他們可以建立一個獨立帳號進行這些編輯,並服從擁有多個帳戶的規定。我們建議操作者標明那些編輯是由半自動工具完成,如在編輯摘要、使用者頁面或使用者討論頁標明。
半自動工具的創造者有權為該工具設立額外的申請使用流程。如果使用該工具需要機器人權限,申請者需同時獲得工具的創造者及審核小組的認可,方可使用該工具。自動維基瀏覽器就是一個例子。與機器人一樣,我們鼓勵,但不強制要求創造者公開工具的原始碼。
請留意以半自動或全自動方式批次建立條目需要先作申請。
指令碼
大部分指令碼的功能僅僅只是將MediaWiki介面增強或個人化,或方便編輯找到一些常用的功能。使用這類指令碼一般並不需向審核小組申請。
由多名使用者共享的機器人
由多名使用者共享的機器人應遵守以下規定:
- 確保操作者能被識別 – 其他使用者能知道機器人作出某一編輯時是由誰控制的,如在編輯摘要標明。
- 防止機器人被盜用 – 機器人必須登入後才能編輯。除此之外,應採取其他措施防止帳號盜用,例如設立強密碼、使用機器人密碼或OAuth等。
- 對操作者的信任 – 如果機器人可能由申請者以外的人操作,申請者需要向機器人審核小組證明其他操作者有足夠的知識和能力操作該機器人。
活躍度要求
如機器人帳號最近一年沒有編輯,其機器人權限可被移除。移除前,應先到操作者的使用者討論頁留言,並給予一星期的通知期。無論操作者是否活躍,如果所持機器人久未活躍,以致權限已經撤銷,則必須重新申請操作授權。機器人審核小組成員如認為妥當,則可以快速批准操作。另外,亦建議操作者就機器人各項已批准任務最後操作日期留有紀錄,以及如某項任務已經久未進行,就算該項任務已經獲得批准,再次運行時仍應留意機器人設定是否與現行編輯環境相配合。操作者如認為某項授權已經再無需要使用,則可於該操作授權留言,並通知任何機器人審核小組成員處理。其他使用者如果發現某機器人某項任務已經沒有執行超過一年,則可按上列程序要求覆核。
參見
- Wikipedia:機器人審核小組
- Wikipedia:機器人/列表:機器人列表
- Wikipedia:機器人/申請:申請機器人權限
- Wikipedia:機器人/作業請求:請求機器人幫助作業
- Wikipedia:使用者權限級別#機器人:介紹機器人權限
- Wikipedia:製作機器人:如何製作機器人
- 元維基機器人方針:全域機器人方針
- 分類:機器人控制模板:用模板給機器人的執行提供參數