Jump to content

ボットの方針

From Meta, a Wikimedia project coordination wiki
This page is a translated version of the page Bot policy and the translation is 98% complete.
Outdated translations are marked like this.
ショートカット
BP
このページは、ボット (bot) に関する基準とガイドラインについて概説しています。一部の姉妹プロジェクト(Bot policy/Implementation を参照)では、これをそのまま採用しています。各ウィキの "Project:Bot policy" が、このページを見るよう指示しているか、それともローカル方針へのリダイレクトになっているかで、この方針を採用しているかどうか確認することができます。

このページはメタウィキの方針ページでもあります(自動審査とグローバルボットを含む)。 メタでボット承認を受けるには、Meta:Requests for adminship#Requests for bot flags で申請してください。

ボット (bot) とは、自動化されたプロセスまたは半自動化されたプロセスであり、人間による直接の監視が減らされているか、まったくない状態でページを編集します。 ボットはサーバーリソースを圧迫したり、プロジェクトを混乱させたりする可能性があるため、ボットは以下に概説するポリシーとガイドラインに従う必要があります。 このポリシーは、該当するプロジェクトでボットを使用する方法の概要を示しています。 ポリシーに従わないボットは、オペレーターが問題やコンプライアンス違反を解決するまですぐにブロックされる可能性があります。

方針

ボット アカウント

オペレータ(ボットを運用する人)用の利用者登録とは別に、ボット専用の利用者登録が必要です。人間の編集者にボットフラグが付与されることはありません。ボットの利用者ページには、人間ではなくボットであることを明瞭に示し、会話ページにもらったコメントには、オペレータが自分で返事を書く必要があります。自動応答スクリプトを使ってはいけません。会話ページにメッセージが来たら停止するボットもありますが、そうでない場合はボットの会話ページをオペレータの会話ページへのリダイレクトにしても構いません。

権限取得

ウィキでボット権限を取得する方法は 3 つあります。

グローバルボット

グローバルボットは、グローバルボットを受け入れているすべてのウィキでアクセス権を与えられます。2022年11月12日現在、このRFCの結果として、新しく作成されたコンテンツウィキはグローバルボットのアクセスが既定で有効化されます。ローカルプロジェクトはコミュニティの合意を通じて、いつでもオプトインまたはオプトアウトを決定することができます(一覧参照)。グローバルボットフラグを申請するオペレーターは、以下の要求を満たさなければなりません:
  • ボット運用者はSteward requests/Bot status#Global bot status requestsで2週間にわたる議論を始めなければなりません。
  • New global bot discussionで行われる議論はMassMessageを使用して配信され、コミュニティのメンバー及びウィキはそれを購読することができます
  • ボットの運用者はボットのタスクが複数のウィキメディアプロジェクトで歓迎されている必要があります。いい例としては、1つのタスクにつき5つ以上のウィキでフラグが付与されていることが挙げられます。
  • ボットの運用者はボットフラグの使用についてウィキの慣習に合わせる必要があります。
  • グローバルボット資格は、グローバルボットのアクセスが許可されている限られた数のプロジェクトおよびウィキ群へのボットアクセス権を与えます。網羅的な一覧が利用可能です。(このページの方針に関わらず従来どおり、各ウィキでローカルなボットフラグを申請することもできます。)

自動審査

自動審査 (automatic approval) をはっきり規定しているウィキでは、オペレータは合意形成を経ずいきなりローカルなボットフラグの付与をスチュワードに申請することができます。ただし、その前に以下の条件を満たす必要があります。
  • ローカル方針またはローカル承認申請ページで、自動審査について規定されていること。
  • 当該ウィキでの実演として、定常的にボットフラグなしで少なくとも、一週間、または、100 回以上、そのボットによって編集すること。
  • そのボットは、二重リダイレクト解消だけを行うこと。

コミュニティの合意

上記のいずれでもなく、かつ、そのウィキのローカルコミュニティにボット申請を取り扱う意思がある場合、最も適切な審議ページ (訳注: ボット申請ページ、なければ井戸端など) でコミュニティの承認を得る必要があります。ボットフラグを付与されないまま、勝手に高速運転や無人運転をしてはなりません。合意が形成されれば、ローカルのビューロクラットがフラグを付与してくれます。ビューロクラットのいないウィキでは合意形成後、スチュワードに依頼してください。 もしローカルコミュニティがなく、かつ、上記に当てはまらない場合、そのボットはボットフラグなしで運用するか、または何もしないか、のどちらかでなければなりません。

許容されない使用法

  • 議論の余地があるような書き換え ― ボットは、ほぼ全てのローカル編集者たちに受け入れられるような編集に使うものです。議論の余地があるような編集には決して使ってはなりません。もしボットの作業範囲を、コミュニティが認めた範囲より拡げたくなったときは、関係する審議ページにそのことを書き、反対意見がないことを確認しなければなりません。もし自動審査によってフラグ付与されたなら、自動審査節の定める制限を超えてはなりません。
  • データ収集 ― ボットは、承認を受けた任務に直接の関係のないコンテンツをまとめて取得するために使ってはなりません。別のウェブサイトから動的にページを読み込むことも同様に避けてください(そのウェブサイトでブラックリストに載ったり永久アクセス禁止処分を受けたりする虞もあります)。コンテンツをまとめてダウンロードしたい場合やプロジェクトのミラーを作りたい場合は、データベースのダウンロードサービスをご利用ください。ここのデータベースのコピーを、お手元におくことができます。
  • スペルチェック ― コミュニティから明確な合意をもらわない限り(特に基本名前空間では)ボットで自動的に誤字訂正してはなりません。たいていの言語では、誤字(スペル誤り)の訂正を自動的に行うことは技術的に困難であり、かえって誤りを生じてしまいます。

グローバルボット資格の除去

グローバルボット権限は、以下の場合に除去されます:

  • ボットのオペレータによる要求があった場合
  • ボットが、永続的にグローバルボットの付託外のタスクを実行するために使用されている場合
  • 以下の条項で、ボットが活動していないと判断された場合:
    • グローバルボットアカウントが、グローバルボットフラグを許可しているすべてのプロジェクトで通年、編集を一切実行していない場合は、活動していないとみなされます。
    • 活動していないことによってグローバルボットアカウントの許可が除去される前に、オペレータは必ず少なくとも自身のホームウィキおよびメタウィキで通知されます。

ガイドライン

名前

絶対の義務ではありませんが、ボットの名前は人間の編集者と区別しやすいよう、見やすい形で "bot" という言葉を含むようにしましょう。最も一般的な名づけ方は、オペレータの利用者名に由来する形(例えば Pathosbot)です。曖昧さ回避スタイル(例えば Xenophon (bot))もよく使われます。

抑速制御と、混雑時間帯の配慮

ボットフラグのないボットは、一分より長い間隔をとって編集するようにすべきです。承認されフラグをもらったボットは、絶対最小限度として間隔 5 秒(毎分 12 編集)を厳守すべきです。ボットはサーバが最も混雑している時間帯を避けて運用するよう努めるべきです。本来は人間の読者や編集者に使ってもらうはずのサーバ資源を、急速に使い果たしてしまいかねないからです。そのような時間帯に運用する場合、サーバ資源を節約するため、間隔を 20 秒(毎分 3 編集)はあけるようにすべきです。

ボットの編集速度を、サーバ負荷(データベース間同期の遅延秒数)に応じて自動調整させる方法もあります。各 URL のクエリ文字列部分に、そのためのパラメータ (mw:Manual:Maxlag parameter) を追加することで可能となります。

監督

完全自動実行 (run autonomously) と明確に宣言している場合は別ですが、そうでない限り、オペレータは常に対応可能であるべきです。つまり、時々メッセージをチェックし、意図した動作を外れたときや苦情を受けたときにはすぐ停止させられる体制を保っているべきということです。もしオペレータが対応しない場合、ボットは問題が解決するまでブロックされるかもしれません。

最善の手法

wikitech:Help:Toolforge/Developing successful toolsをお読みいただくことを強く推奨します。そうすればあなたと他の皆さんが将来もっと楽になります!

簡潔にいうと、

  • ライセンスを採用する
  • コードを公開する
  • 共同管理者を持つ
  • 何らかの説明文書を書く

関連項目