维基百科:机器人方针

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

定义

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

活跃度要求

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

参见