HN 日本語サマリー

← 一覧へ戻る
Web開発

HNに投稿したら、ウェブサイトがAIボットのトラフィックで溢れた

I posted to HN, and then my website was flooded with AI bot traffic (sammystraus.com)

52 pointsby sammy091026 コメント

要約

著者が開発したフィードリーダー「sprinklz.io」をHacker News (HN) に投稿したところ、予想外のトラフィック急増に見舞われました。当初は人気投稿によるものと思われましたが、数日経ってもウェブサイトの遅延が改善せず、調査した結果、トラフィックの大部分が特定のAIボットからのものであることが判明しました。このボットはウェブサイトの変更を監視し、要約を生成するサービスのもので、毎分多数のクエリを送信していました。この経験から、著者はウェブサイトのインフラストラクチャを改善し、AIボットのアクセスを制限するためのrobots.txtの追加やレートリミットの設定を行いました。

全文翻訳

Sammy's Blog 目次 1. HNに投稿したら、ウェブサイトがAIボットのトラフィックで溢れた 2. LLMを使ってEmacs Webブラウザを再び偉大にする 3. テクノロジーが向上したのに、なぜすべてが悪化したのか? 4. Deft バージョン 0.2.0 5. LLMはどれくらい多すぎますか? 6. 約350行のClojureでチェスを構築する 7. Deftを発表:ClojureとClojureScriptのためのクラスとインターフェースシステム 8. 私のブログはRSSになりました 9. Wordleで勝つ方法 10. 習慣の力(書籍レビューパート1) 11. 現代貨幣理論とあなた 12. 完璧なカメラ 13. カメラレンズ:私のバッグの中身 14. なぜ多くの一次予測は間違っているのか 15. 民主党予備選挙の不確かな数学 16. 弾劾で何が起こっているのか 17. 化学療法によるがん治療(パート3) 18. 化学療法によるがん治療(パート2) 19. 化学療法によるがん治療(パート1) 20. 何もしないことの重要性 21. なぜ私はCitizens Unitedを支持するのか 22. カメラ設定 RSS 1. HNに投稿したら、ウェブサイトがAIボットのトラフィックで溢れた 過去数年間、私はsprinklz.ioというカスタマイズ可能なフィードリーダーに取り組んできました。これは、ニュースフィードから特定のトピックを優先度を下げるなどのことができます。1ヶ月前、私はそれをHNに投稿し、100件ほどのアップボートを得ました。素晴らしい!人々はLLMについて聞くのにうんざりしており、フィードからそれらを優先度を下げる機能を楽しんでいるようです。これは、そのようなツールの有用性を示す良いデモでした。 すべてが順調に進んでいるかに見えましたが… 私のウェブサイトが遅くなりました。非常に、非常に遅くなりました。最初は、突然人気が出た投稿による追加の注目によるものだと考えました。どの開発者もそうするように、私はそれを祝い、将来的にウェブサイトをよりレジリエントにすることを誓いました。 しかし奇妙なことに、遅延は続き、投稿が公開されてから数日経っても悪化し始め、記録したメトリクスも意味をなしませんでした。例えば、実際にアクティブなログインユーザーが数人いて、サーバーが高負荷状態を示している、といった具合です。 そこで、いくつかのデータを確認しました。すべてのエンドポイントに対するトップレベルのロギングを追加しました(各URLパスへのリクエストが何回行われたか)。そして、リクエストの大部分はニュース記事を取得しようとさえしていなかったことがわかりました。参考までに、私のウェブサイトはシングルページアプリケーションとして構築されており、これは、リクエストの大部分がページをレンダリングするために必要なJavaScriptさえ実行していなかったことを意味します! さらに掘り下げて、NGINXの集計ログを見て不正利用者を特定しました。そして、信じられないかもしれませんが、トラフィックのほぼ半分が1つの特定のユーザーから来ていることが判明しました。名前は挙げませんが、彼らを調べたところ、彼らはウェブサイトの変更をリッスンし、それをAIスロップニュースレターに要約するサービスだと説明していました。「変更をリッスンする」とは、毎分多数のクエリをウェブサイトに送信することを意味します。 ブロックしました。 他のいくつかは標準的な既知のクローラーであり、親切にも自分たちをそうだと識別していました。Claudeボット、OpenAIボット、Googleの検索インデクサー、その他いくつかです。脆弱性スキャナーもいくつか拾いました。少なくとも、誰かが-/wp-content/phpinfo.phpにアクセスしようとしています(私のウェブサイトはWordPressサイトではありません)。 robots.txtを追加して、ほとんどのAIスキャナーを抑制しましたが、Googleボットやその他の検索関連トラフィックは許可しました。また、Claudeに脆弱性パスをすべてクエリさせ、スキャナーを模倣して、何も漏洩していないことを確認しました。合理的なレートリミットなども追加しました。 しかし、最も重要な教訓は、私のウェブサイトをより速くする必要があるということです。私は、実際のトラフィックで毎秒xxx QPSを処理できるウェブサイトになりたいと思っています。そして、重い負荷の下でも、よりうまくスケールするはずです。 この遭遇に触発されて、過去数週間で基盤となるインフラストラクチャにかなりの改善を加えました。これらは、すべてのユーザーにとってかなりのパフォーマンス向上につながるはずです。 追伸:もしチェックしたいなら、ウェブサイトは完全に無料で、ここで利用可能です。 TLDRは、ハッカーニュースのポイント合計のようなものに加えて、独自のカスタマイズを定義できるということです。トピック、例えばAIやLLMをフィルタリングするために使用できますが、トピックは完全に任意であり、独自のカスタマイズをプログラムできます。 2. LLMを使ってEmacs Webブラウザを再び偉大にする 私がEmacsのWebブラウザについて人に話すと、最初の反応は「え、EmacsにWebブラウザがあるの?!」で、次に「うん…まあ、それはWebブラウザのようなものだね」となります。EmacsのWebブラウザは、ターミナルベースのテキストのみの環境でウェブページをレンダリングするように設計されており、まあ、予想通りの方法で動作します。HTMLのみで、コンテンツの少ないウェブサイトではうまく機能しますが、それ以外ではあまりうまくいきません。 問題は、Emacsが主にテキストのみのエディタであるのに対し、現代のインターネットはプレーンテキストベースではまったくないということです。1990年代のシンプルなスタイルでデザインされたシンプルなHTMLは、プレーンテキストへの明確な翻訳がありますが、現代のUIデザインは、その視覚的なスタイリング、重いJavaScript、そして全体的なカオスにより、そうではありません。 Emacs Webブラウザは素晴らしいものになるでしょう。もし、時間を巻き戻す方法を見つけられれば… さて、計画はシンプルです。最新のウェブページを取得し、そのソースコードを昔ながらのシンプルなスタイルのHTMLに書き換え、それをEmacs Webブラウザにパイプします。これを簡単かつ大規模に行う方法を見つける必要があります。 それで、ええと、LLMのことを忘れていませんよね?世界中のスパムコンテンツの量を減らすのに役立つ方法でそれらを使用するのは良いことです。 基本的に、計画は次のようなプログラムを作成することです。 Firefoxでウェブページを開く ページをロードし、すべてのJavaScriptを実行する LLMに、現在のページのコンテンツを単純化されたテキストに変換する再利用可能なプログラムを生成させる 生成されたJavaScriptをFirefoxブラウザに注入する 新しいページソースを取得し、Emacs Webブラウザに転送する はい、そして、私はそれを使用しており、非常にうまく動作します。現実的に、以前はeww(Emacs Web Wowser)が動作しなかった多くのウェブページでこれを使用できます。 以下に、前後の例をいくつか示します。 Clojureのmapcatのドキュメント 図1:(前)eww-readableを使用 図2:(後)simpleweb-simplify-pageを使用 最初のモディファイアプログラムを生成するのに少し時間がかかりますが、一度生成されると、かなり高速に実行されます。そして、日常のブラウジング中、追加のLLM呼び出しを必要とすることはほとんどありません。 私は自分でそれを使用しており、その体験を楽しんでいます。ソースコードはここにあります:https://github.com/sstraust/simpleweb。オープンソースで、無料でインストールできます。ええと、ええと。 2. テクノロジーが向上したのに、なぜすべてが悪化したのか? この答えは皆知っていると思います:悪いインセンティブです。テクノロジーはシステムをより生産的にしますが、実際には、あなたを特に生産的にするわけではありません。コンピューターをより効率的にするツールは、人々があなたの時間、注意、そして幸福を搾取するのをより効率的にすることも可能にします。私が話しているのはニューラルネットワークのことです。 私は最初にこの問題に2018年に気づきました。あるいは、問題に気づいたのは、1日に3時間スタークラフト2のリプレイを見て、時間がどこに行ったのか、そしてどうやってまた午前2時まで起きていたのか不思議に思っていたことでした。興味深いのは、2010年代後半までこれらの問題がなかったことです。私は少なくとも2000年代半ばからインターネット接続のあるコンピューターを持っており、その後すぐにTwitterやRedditなどがあるスマートフォンを持っていました。 私が長年かけてレジリエンスを失った可能性はありますが、コンピューターが変わったというかすかな疑念があります。それが何なのか正確には言えませんが、システムやウェブサイトとやり取りするたびに、一種の敵対的なゲームをプレイしているような感覚があります。私はただ自分の日を過ごそうとしており、コンピューターに関する記事を少し読もうとしており、彼らは私を彼らのサイトにもう少し長く留まらせる方法を見つけようとしています。 また、ソフトウェアエンジニアリングがホビイストや熱狂家の分野から、ますます金融やビジネス志向のトラックを通じて開発されるリーダーへと移行したことで、私たちは…