维基百科:機械人方針

(重定向自Wikipedia:BOTAPPEAL

機械人方針適用於所有用以編輯維基百科的计算机程序或脚本,包括全自動、高速運作以及協助編者的工具。本方針亦涵蓋機器人審核小組的設立及相關事宜。該小組代表中文維基百科社群,負責監督和審議本地一切機械人運作事務,以確保機械人符合有關的技術和品質管制要求。

定義

  • 機械人是指主要用于协助编者执行大量自动化、高速或机械式、繁琐的编辑工作的计算机程序或脚本及其所登录的帐户。當機械人啓動後,一般能全自動運作,毋須人類指示。
  • 輔助半自動編輯指以低速運行的工具及腳本,能夠協助用戶編輯,但最終決策仍由用戶作出。(詳見下方半自動編輯指引。)
  • 腳本指個人化的腳本(常以JavaScript編寫),它們可以自動執行,也可能只是強化MediaWiki已有的功能。
  • 機械人審核小組 (簡稱「BAG」)由一群獲社群信任用戶組成。該等用戶深諳機械人技術,亦擁有不少編輯經驗,受社群所託去監督及審議本地機械人事務。此小組亦負責界定程式屬於機械人抑或輔助編輯軟件。MediaWiki開發者(開發者)不受本方針所限。

機械人的使用

社群對批准機械人進行某一任務設有嚴格要求,因為機械人:

  1. 能夠以遠快於人類的速度編輯;
  2. 編輯時較不會受到其他編者檢查;
  3. 如果出錯或用於破壞時,其傷害必然廣而深。

故此,機械人未經許可,嚴禁操作。獲得許可以後,亦嚴禁擅自改動經過核准的操作細則。如有違反,操作者及機械人帳戶均可被封禁。用戶亦應注意,高速操作半自動編輯工具作不當編輯可被封禁。(見WP:MEATBOT)如有疑問,請向機械人審核小組查詢。

機械人帳號

机器人帐号和操作者的帐号应该分开。操作者执行一般的编辑不应该使用机器人账户。機械人帳戶的名字應能清楚顯示出它的操作者名字或功能。此外,機械人帳戶用戶名應包含「Bot」或「機械人」等標記,以資分辨用戶及機械人所作編輯。機械人帳戶用户页上可加上{{bot}}注明。機械人應使用API的assert参数或類似功能確保其編輯均為登入以後所作。機械人除外,其他輔助工具毋須使用獨立帳戶,但有些用戶仍會為進行高速編輯而註冊另一個帳號。机器人帐户应当建立用户页,明确标明该帐户为机器人帐户,并列出其执行的工作以及操作者的用户名。如果是全域机器人,可以链接至其他写有工作说明的页面。

操作者有責任確保機械人運作正常。為此,機械人的用戶頁上必須清楚標明操作者是誰。特別要注意的是,如果機械人出錯,操作者有責任修復其所帶來的損害。維基百科的所有方針均適用於機械人。機械人帳號視為操作者依據傀儡方針設立的分身帳號。

機械人帳戶嚴禁用於非指定用途。另外,操作者亦莫應使用機械人帳戶回應機械人相關提問。操作者如有需要,可將機械人討論頁重定向至其討論頁以便收取通知。

機械人用戶組

當機械人審核小組同意後,行政員會將機械人帳戶加入機械人用戶組,這樣機械人會獲得一些MediaWiki系統提供的額外權限,例如允許高速存取API。機械人所作的編輯預設不會在最近更改中顯示。

在過往,批核過程和獲得機械人權限是分開的;並不是所有獲批的機械人都有權限。這是由於有些機械人的編輯不應從最近更改中隱藏。現在由於用戶可選擇在最近更改顯示機械人編輯,一般獲准的機械人都會獲得權限。但審核小組仍可根據實際情況,決定申請成功的機械人應否獲得權限。

机器人的用户页

机器人可按实际需求设立用户页及用户子页面。这些页面的管理权属于机器人操作者。由于此类页面有一定系统管理功能,管理员可对它们实施预防性保护。

獲批資格

機械人操作者必須顯示其機械人以符合下列準則,才能獲得審核小組的許可:

  1. 机器人必须有用
  2. 机器人必须無害
  3. 機械人應該有效運用伺服器資源,盡力避免過量佔用
  4. 機械人運作前必須獲得共識
  5. 嚴格遵守维基百科各項方針和指引
  6. 在編輯摘要和其他寫給用戶的訊息中,能給予用戶幫助,並以合適的語氣寫出

機械人的用戶頁應以{{bot}}指明自己是機械人。以下資料應同時在機械人用戶頁和機械人申請頁面列出:

  • 機械人將進行的工作
  • 機械人是以半自動抑或全自動方式運行
  • 機械人運作時間及頻率(連續、間斷、或只在特定時刻運作)

雖然機械人的運作不會影響維基百科的穩定性,但操作者仍應銘記機械人的編輯速度遠比人類編者為快。操作者不應佔用過量服务器资源,並應小心調節編輯速度。如果機械人的運作真的影響到維基百科的運作,系統管理員將通知本地社群。在此情況下,社群必須服從系統管理員的指示。

  • 除非機械人正執行極為緊急或瑣屑的任務,否則其編輯速度不應高於正常人類檢查編輯的速度。
  • 測試中的機械人的編輯速度應比已獲授權的機械人慢,以免沖刷最近更改。
  • 機械人的編輯速度應與其任務的緊急程度相一致;非緊急的任務(如重命名頁面分類)的運作速度應較緊急任務(如回退破壞)慢。
  • 操作者有責任按照服務器性能和工作容易出錯的情度,來控制機械人的編輯速度;審核小組會按照每一申請的實際情況決定編輯速度上限。
  • 高速運作的機械人在尖峰時間應以較慢的速度運行。
  • 若已得到批准的机器人在执行操作时设定不将自己的编辑标记为机器人编辑,则此类操作会显示在最近更改中。此时操作者应当降低编辑频率,避免大量占据最近更改页面。
  • 機械人的編輯速度也可由資料庫的延遲時間控制;機械人在非繁忙時間的速度可加快,而在尖峰時間則較慢。這可通過設置Maxlag参数來達成。

不要製作存取大量頁面來下載維基百科的機械人,這類程式會被系統管理員阻止。如你有需要下載大量維基百科頁面,請到資料庫下載。如機械人需要在維基百科資料庫上運行,可自行向Wikimedia Toolforge申請。該申請程序並非本地社群負責。

良好溝通

機械人產生的編輯摘要應以友善的語氣為其他編者提供資訊。如有疑問,機械人操作者應迅速和友善地解答他們的問題。這是機械人操作者的基本守則。如果操作者不能親自解答問題,他至少要確保有其他編者能夠代他回答那些疑難。

功能要求

操作者應根據機械人的工作性質,確保其達到下列有關要求:

  • 在用戶討論頁發放訊息的機械人應設有拒絕訊息機制(遵從{{Bots}}),並在機械人用戶頁清楚寫明。
  • 編輯大量頁面,但有某些頁面不應編輯的機械人應遵從{{Bots}}的指示。
  • 機械人應避免編輯沖突。
  • 操作者可選擇提供一機制來讓操作者以外的人控制機械人的運作——例如,機械人可在編輯前先讀取某頁面上的內容,再決定行動。該頁面如有需要可以被保護或半保護以防被濫用。操作者如採用此設計,應留意他們仍需對機械人的編輯負上全責。

我們鼓勵機械人的作者發佈它的原始碼,但這並非強制要求。

對特定工作項目的額外限制

上下文有關的修訂

機械人不應以全自動方式進行上下文有關的修改。這類修訂應於人類編輯的監督下進行,以免出現任何錯誤。然而,如果操作者能證明機械人不會出錯(如將所有要修改的項目先試運行一次),或社群同意該任務在不受監督的情況下運行(如回退某人的所有編輯,不論好壞),則屬例外。

上下文有關的修訂包括但不限於以下數種:

  • 更正錯字、文法錯誤、標點錯誤。
  • 添加與上下文有關的模版,如{{weasel word}}。
  • 字符实体引用改成人類編輯時難以識別的Unicode字符。

人物分類

不應以機械人調整人物分類。在用機械人添加分類前,應先人工檢查預定的修改,切勿直接滙入維基現存的列表直接修改。

跨语言链接

維護跨语言链接的機械人應停止運行(見维基数据),除非該工作無法在维基数据上進行(如連結到某一分段、或處理只用於正文的跨語言連結)。

為美觀而作的小修正

為美觀而作的小修正(例如AWB general fixes)不應單獨執行。

批量創建條目

以自動或半自動方式批量創建條目或頁面分類前,必須先提出申請。「批量」指至少50項編輯。你應先到互助客栈及相關專題尋求共識。操作者必須確保所創建的條目符合社群的要求。

更簡單的方法是減少創建的條目數量,或先在各屬專題的子頁面創建條目,由其他編輯檢查後,再移動到條目空間。這些方法不用申請機械人,也更容易得到社群的支持。

一般而言,除非社羣或機械人審核小組提出豁免,由機械人創建的條目須達致以下標準:

  1. 創建條目時應盡可能確保資料庫為最新版本
  2. 建立頁面列出已創建的條目,方便他人檢查及更新
  3. 条目应已维基化,並有至少一项参考资料。
  4. 頁面不能為孤立页面
  5. 如條目範疇有相應導航模板,亦應包含其中。
  6. 可行情況下,條目應附有訊息框。

審核過程

申請機械人權限

所有機械人在進行有紀錄的操作前(如編輯頁面、上載檔案、創建帳戶),必須就該項目獲得審核小組的同意。機械人申請可在维基百科:机器人/申请(BRFA)頁面進行。申请書中應清楚地列明機械人將進行的工作,及提交一切有助社群明白機械人運作的資料,例如社群同意該項目運行的討論。此外,申請者應為優秀的編輯,並對機械人將進行的項目有充份的瞭解。

在申請期間,一名機械人審核小組(BAG)的成員一般會批出一段測試期,以檢查機械人能夠正常運作。測試期的長短及其他細則由審核小組決定。申請者應密切注視機械人的運作,以便在問題出現時迅速修正。申請者有責任檢查機械人所作的編輯,並修正有關的錯誤。如果測試期間機械人曾出現錯誤,審核小組可能會批出第二階段測試期,直至社群相信機械人能正常運作。

申請期間,其他編輯及審核小組成員可能會對機械人提出意見或疑問,並對機械人在測試期的表現提供反饋。最終決定批准或否決某一項申請取決於機械人能否滿足上列的各項要求,遵守相關的方針和指引﹐及社群的討論。申請者應主動尋求熟識該方面的用戶提供意見。

當社群相信機械人能滿足社群的要求,及沒有技術錯誤後,審核小組會批准申請。如果申請無法獲社群同意運行的共識,審核小組可能會否決申請。有時,申請者會主動撤回申請,或因申請者不再回覆而擱置申請。已關閉的申請會被存檔,方便將來參考。如果機械人獲得批准,行政員會授予機械人權限,申請者可按規定開始運作機械人。

機械人審核小組偶然會快速批准或拒絕一項未經測試的機械人審核小組申請。快速批准一般給予由可靠的操作者所申請,明顯不具爭議而只用到簡單技術的機械人、或另一機械人的複製品。同樣地,新用戶如提出極具爭議或先前已被拒絕的項目,可能會被直接拒絕。

毋須事先批准而合規操作

機械人操作者如以非常慢的速度編輯少量頁面,並只在測試頁面進行,則毋需申請。事實上,任何用戶都可進行此類測試編輯。除此之外,機械人如只在其擁有者的用户空間進行編輯,亦毋需申請機械人權限。

如果操作者想改動某已經獲批的機械人,他們的更改必須符合本方針。小規模更改,如修正機械人錯誤或改良機械人的運作,一般是容許的。大規模更改則只可在獲得共識後進行。若希望执行新的任务,操作者必须重新提交申请。操作者可選擇為每一工作建立一個獨立的機械人帳戶。

在未經批准下運行機械人可能會被管理員立刻封禁。

覆核申請

如欲要求覆核申請,用戶可於Wikipedia:机器人/申请#申請覆核提出,並陈述自己的观点。本項適用於重新審議已批准或已拒絕申請,及要求解除現有機械人權限。覆核會由審核小組處理。但在社群共识明显的情况下,申请者应该避免扰乱性的申诉。

申請覆核的結果包括:

  • 給予或撤回機械人執行某一項目的許可
  • 給予或移除機械人權限
  • 保留機械人權限,但加上新的運行條件

審核小組只應討論機械人本身,而非討論申請者的行為。

附有管理員權限的機械人

附有管理員權限的機械人(簡稱adminbot)亦須經一般程序申請。只有现任管理员方可申请和使用附有管理员权限的机器人。如同其他申請,討論會分為兩部分:

  1. 社群對該任務的同意,即社群是否同意該項目應由機械人自動完成。這部分討論可於申請頁面進行,亦可於互助客棧進行,唯必須得到社群的廣泛認可。
  2. 技術範疇的討論,即機械人能否無錯誤下完成工作。任何用戶都可就技術細節提開討論,但一般而言技術水平較高的用戶會主導討論。社群建議這類機械人開放其原始碼。操作者仍可選擇不公開,但審核小組組員及管理員仍有权要求审阅源代码。

當社群同意由機械人執行任務是合理及技術上安全後,一名審核小組成員會給予機械人測試期。在這期間,機械人會在沒有管理員權限的狀態下試行(如可行),或在操作者的帳號運行(並標明那些編輯由機械人作出)。當審核小組確信機械人不會出錯後,小組會同時批出機械人權限及管理員權限。負責批核的行政員會作最後把關,檢查申請是否得到社群的一致同意(如社群有否積極討論該申請),並作出最後決定。

如果機械人额外依賴一些不公開的規則來運行(如利用一連串正則表達式來決定某些行動),審核小組組員及管理員有權要求機械人操作者提供該等規則供審閱。操作者修改這些規則,特別是當修改會大幅影響機械人的行為時,應儘量小心。

管理員測試未經批准的附有管理員權限的機械人時(例如在研發階段),應格外小心,在機械人出錯時及時阻止。如機械人失控,管理員須為此負責。

管理員可以在自己帳號使用半自動管理工具,唯同樣需對一切操作承擔責任。

当操作者因故失去管理员权限时,其机器人的管理员权限也应当剥夺。如果操作者希望該機械人繼續運作,可以將其所有權轉交給另一名管理員,並於機械人申請頁面通知社群。

全域机器人

全域机器人(Global bots)将视作获得维基媒体大部分wiki上的bot权限(参看这里),中文维基百科允许使用全域机器人。对于全域机器人,必须符合下列要求:

  • 以此获权的机器人只能用于维护跨语言链接和修复重定向,其他操作需再次申请获得共识。
  • 机器人必须已经在多个wiki运行,并且有长期的贡献并受到信任。

申请全域机器人权限请到m:Steward requests/Bot status提出。

處理與機械人有關的問題

輕微的錯誤、投訴和改進建議

如果你留意到某機械人出錯,或希望投訴/改進某機械人,你應直接到操作者的用戶討論頁留言(或到該機械人的用戶討論頁留言)。操作者有義務回應社群的憂慮和建議,但請在討論時假定善意及保持冷靜。畢竟,程式出錯是十分常見的事,維基百科正是從一個個錯誤中成長。

對機械人的小幅修改一般並不需通知社群,除非該修改和批准時的共識有明顯的衝突。例如,某機械人原來的工作是為某維基專題討論存檔。當它要改變存檔方式時(如將存檔條件由無人回覆五天改成十天),無須重新申請。但如果機械人計劃為另一維基專題討論存檔,則應該重新申請,而該申請可能會被快速批准。又例如,本來負責在條目移除過時分類的機械人如想同時移除已刪除檔案的連結,則需重新申請。

重大出錯及投訴

如果機械人造成重大破壞,或操作者沒有回應先前的投訴留言時,社群設有數種機制去阻止機械人繼續破壞。例如,有些機器人會提供停止功能。緊急情況下,也可尋求管理員幫助,或者到Wikipedia:當前的破壞報告,讓管理員封禁機器人以停止其運行。剎停機器人後,應儘快向操作者解釋原因。

如果你覺得某機械人的工作已超出當初社群的同意範圍,請先與操作者討論。如你相信機械人已經失去社群的支持,你可要求重新審視該機械人的申請

疑似由機械人作出的編輯

编辑者不应该为了较高的效率或数量而牺牲编辑的质量。在處理爭議時,那些編輯是由機械人、使用半自動工具的編者、或是全手動所做並不重要;重要的是,那些不當的編輯必須停止,否則可能会因此受到封禁。

未提出申请機械人的用户应该注意自己的编辑频率,确保其他用户有时间作出检查和提出异议,且不会大量占据“最近更改”页面。当有其他用户或管理员要求降低编辑频率时,操作者应当遵守,否则可能会被暂时封禁以防止维基百科受到负面影响。

另注意快速地編輯,特別是當此行為只持續一段短時間時,並不代表就是破壞。

封鎖機械人

管理員有權封禁違規的機械人,這些情況包括未經許可下運行、運行許可範圍以外的工作、違反批准時訂定的運行條件、或違反本機械人方針。如果機械人未經登入或用申請以外的帳號編輯,同樣會被封禁。管理員可用{{Bot block message}}(處理出錯的獲批准機械人)及{{Uw-botblock}}(處理未經許可的機械人)等模版通知操作者。

管理員應對懷疑運作未經許可機械人及出錯的獲批准機械人的帳號處以不限期封禁。

其他與機械人有關的事務

機械人審核小組

審核小組的組員們應擁有豐富的編寫與運作機械人的經驗,熟悉編程,並且明白審核小組於機械人申請中的角色以及維基百科的機械人方針。有意加入審核小組的用戶可到討論頁申請,向社群闡述自己為何能夠成為小組一員,及介紹自己過往與機械人有關的經歷。七日討論後,一名未有參與討論的行政員將作出決定。

半自動編輯指引

「半自動編輯」指使用工具或脚本的协助进行重复性的编辑,但所有編輯仍在人類監督下進行。這類編輯常見於改正錯字、修正消歧義頁、回退破壞、及替小作品分類

通常情况下这类编辑不一定需要提出机器人申请,但若操作者根据常理持有顾虑或可能引起争议则应该根據上述審核過程提出申请。機械人審核小組會斷定該項目是否需要視作機械人。一般而言,愈是高速、大量、自動化的編輯方式,愈可能被當作機械人處理。

如編輯希望進行大量半自動編輯,他們應先尋求社群共識。他們可以創建一個獨立帳號進行這些編輯,並服從擁有多個帳戶的規定。我們建議操作者標明那些編輯是由半自動工具完成,如在编辑摘要用戶頁用戶討論頁標明。

半自動工具的創造者有權為該工具設立額外的申請使用流程。如果使用該工具需要機械人權限,申請者需同時獲得工具的創造者及審核小組的認可,方可使用該工具。自动维基浏览器就是一個例子。與機械人一樣,我們鼓勵,但不强制要求創造者公開工具的原始碼。

請留意以半自動或全自動方式批量創建條目需要先作申請。

腳本

大部分腳本的功能僅僅只是將MediaWiki介面增強或個人化,或方便編輯找到一些常用的功能。使用這類腳本一般並不需向審核小組申請。

由多名用戶共用的機械人

由多名用戶共用的機械人應遵守以下規定:

  1. 確保操作者能被識別 – 其他用戶能知道機械人作出某一編輯時是由誰控制的,如在編輯摘要標明。
  2. 防止機械人被盜用 – 機械人必須登入後才能編輯。除此之外,應採取其他措施防止帳號盜用,例如設立強密碼、使用機器人密碼OAuth等。
  3. 對操作者的信任 – 如果機械人可能由申請者以外的人操作,申請者需要向機械人審核小組證明其他操作者有足夠的知識和能力操作該機械人。

活躍度要求

如機械人帳號最近一年沒有編輯,其機械人權限可被移除。移除前,應先到操作者的用戶討論頁留言,並給予一星期的通知期。無論操作者是否活躍,如果所持機械人久未活躍,以致權限已經撤銷,則必須重新申請操作許可。機械人審核小組成員如認為妥當,則可以快速批准操作。另外,亦建議操作者就機械人各項已批准任務最後操作日期留有紀錄,以及如某項任務已經久未進行,就算該項任務已經獲得批准,再次運行時仍應留意機械人設定是否與現行編輯環境相配合。操作者如認為某項許可已經再無需要使用,則可於該操作許可留言,並通知任何機械人審核小組成員處理。其他用戶如果發現某機械人某項任務已經沒有執行超過一年,則可按上列程序要求覆核

參見