维基百科:机械人方针

机械人方针适用于所有用以编辑维基百科的计算机程序或脚本,包括全自动、高速运作以及协助编者的工具。本方针亦涵盖机器人审核小组的设立及相关事宜。该小组代表中文维基百科社群,负责监督和审议本地一切机械人运作事务,以确保机械人符合有关的技术和品质管制要求。

定义

  • 机械人是指主要用于协助编者执行大量自动化、高速或机械式、繁琐的编辑工作的计算机程序或脚本及其所登录的帐户。当机械人启动后,一般能全自动运作,毋须人类指示。
  • 辅助半自动编辑指以低速运行的工具及脚本,能够协助用户编辑,但最终决策仍由用户作出。(详见下方半自动编辑指引。)
  • 脚本指个人化的脚本(常以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. 对操作者的信任 – 如果机械人可能由申请者以外的人操作,申请者需要向机械人审核小组证明其他操作者有足够的知识和能力操作该机械人。

活跃度要求

如机械人帐号最近一年没有编辑,其机械人权限可被移除。移除前,应先到操作者的用户讨论页留言,并给予一星期的通知期。无论操作者是否活跃,如果所持机械人久未活跃,以致权限已经撤销,则必须重新申请操作许可。机械人审核小组成员如认为妥当,则可以快速批准操作。另外,亦建议操作者就机械人各项已批准任务最后操作日期留有纪录,以及如某项任务已经久未进行,就算该项任务已经获得批准,再次运行时仍应留意机械人设定是否与现行编辑环境相配合。操作者如认为某项许可已经再无需要使用,则可于该操作许可留言,并通知任何机械人审核小组成员处理。其他用户如果发现某机械人某项任务已经没有执行超过一年,则可按上列程序要求复核

参见