帮助:防滥用过滤器/指南

帮助页面

这篇论述是我想给新任管理员看的。新任管理员在编辑过滤器前往往找不到很好的指引,尤其是思想上的指引。我主要介绍的就是这一块儿。下面的问题均为我的个人意见,不代表中文维基百科上的共识。

过滤器是干什么用的

过滤器,全名叫做“防滥用过滤器”,目前来说是中文维基百科唯一的全自动反破坏手段(因为中文维基没有自动反破坏机器人)。过滤器用数字编号,目前有200多个过滤器。

过滤器主要的三种操作是“标签”、“警告”、“阻止”,这三个等级越来越高。“标签”可以用来标记一些一般性的特征,但更重要的,是标记出需要巡查员等着重筛查的编辑。“警告”其实就已经是针对一些扰乱或破坏建立的了,如果仅仅警告,但不阻止,基本上说明,这个过滤器可能存在误判,警告的作用主要是提醒;不过,常常会看到“警告”和“阻止”一起用的情况,这是为了避免直接阻止会让编者不明所以,反复尝试却不知道怎么改进。“阻止”过滤器基本上是很少出现误判、用于应对明显的破坏或非建设性编辑的。

如何修复有问题的过滤器

这个问题就涉及到了过滤器的语法,但先要谈谈什么情况下要修复,什么情况下不需修复。对于防滥用过滤器错误报告上的报告,我们就需要判断了:

  • 每个过滤器一般都有一个描述,或者警告文字,如果过滤器的行为和它要判断的情况相符,一般是不需要修复的;而不相符,是一定要修复的。
  • 另外有些过滤器是在设计时,就有些不合理的,这样的即便过滤器做的事情与描述相符,我们也要修复,把不合理的地方弥补上。

修复过滤器要用好Special:滥用过滤器/test这个测试工具。测得没问题了再发布更改。更改时需要注意:

  • 先理解再更改。不要改完了,虽然没有误判,但过滤器本身的功能也被你改没了。
  • 正则表达式很好用,如果不了解没关系,看看我们神奇的维基百科条目正则表达式。如果需要了解具体正则匹配情况,可以前往regex101这个网站进行测试。它会告诉你匹配到的词是哪一个。

我对大家编辑过滤器的建议

谨慎建立及修改过滤器
我们目前这些过滤器都是前辈管理员或从外文搬来,或原创的一些过滤器。我们要对前人的贡献保持尊重,即便是某些前管理员的贡献,我们也要尊重。
在每个更改发布之前,我们维基百科的服务器都会把所有过滤器跑一遍,然后再发布。在个别极端情形下,服务器在过滤器上耗费的时间甚至比储存更改本身还要多。所以请大家不要建立多余的过滤器,这会对服务器造成影响。我们翻阅过滤器的历史,可以看到一些技术大佬很努力地把一些可能有重复功能的过滤器合并起来,我也希望大家建立过滤器前能够先了解一下现有过滤器的功能,了解一下你要过滤的东西是否可以通过简单修改一下其他过滤器就能解决。
使用更有效率、逻辑清晰的代码
我们的MediaWiki应该说已经尽量让过滤器语法更加简单了。如何更有效率?简单说,就是不要做多余的判断和文本匹配。例如,能从added_lines里面匹配,就没有必要从new_wikitext里面匹配。不要觉得能用就行,要为服务器考虑考虑,但也不必为了效率而减少该有的判断。
逻辑清晰这一点是为了让过滤器更好维护。我们现在虽然是管理员,但没准什么时候我们就不做管理员了,或者不玩维基了。我们要为以后的人考虑。以后的人在想修改一个过滤器的时候,看到你混乱的逻辑的时候,应该也会头大。
能阻止就阻止
如果你确定,你的过滤器代码没有问题,不会误判,我鼓励大家写阻止性的过滤器。最大的好处就是减少巡查员的压力。既然你已经是管理员了,我说下面这句话你应该有体会,“中文维基上缺少优质的巡查员”。让过滤器或者机器挡掉它们能确定性判断是非建设性编辑,是再好不过的。
但是建立阻止性过滤器之前,我建议一定要用警告标签测试一段时间,确认真的没有问题了再阻止。即便阻止,也建议,不要匹配自动确认用户以上权限的编辑,对这些用户,我愿意有更多的善意推定。