我在HN上发帖,然后我的网站被AI机器人流量淹没了
1. 我在HN上发帖,然后我的网站被AI机器人流量淹没了 过去几年,我一直在开发sprinklz.io,这是一个可定制的信息聚合器,除了其他功能外,还可以降低某些主题在新闻源中的优先级。一个月前,我在HN上发帖,得到了大约一百个点赞,太好了!看起来人们真的厌倦了听到关于大型语言模型(LLM)的消息,他们喜欢能够在自己的新闻源中降低这些内容的优先级。这是这款工具为什么有用的一个很好的演示。一切都在向好的方向发展,但随后……我的网站变得很慢。确切地说,真的很慢。最开始我把它归因于突然流行的帖子带来的额外关注。作为一个开发者,我既庆祝又发誓将来要让我的网站更加抗压。然而奇怪的是,慢速问题仍然存在,并且在我的帖子上线几天后变得更糟,而我记录的指标也没有意义。就像,你知道的,有一些真正活跃的已登录用户,但服务器却表现出异常高的负载。于是,我查了一些数据。我为每个端点添加了顶级日志记录(每个URL路径的请求次数),发现大多数请求甚至没有尝试获取新闻文章!作为参考,我的网站是构建为单页面应用程序,这意味着大多数请求甚至没有运行渲染页面所需的JavaScript(!)。进一步挖掘,我查看了聚合的NGINX日志以寻找滥用者,结果你绝对不会相信,但几乎一半的流量来自一个特定用户。我不想点名,但我查了一下,他们把自己描述为一个监听网站变化的服务,然后将这些变化汇总成一个AI的垃圾新闻简报。所谓“监听变化”,我的意思是每分钟查询我们的网站很多次。被封锁了。其他几个是典型的已知爬虫,友好地自我识别为爬虫。Claude机器人、OpenAI机器人、谷歌的搜索索引器,等等。我甚至中途抓到了一些漏洞扫描器。至少,有人试图访问 -/wp-content/phpinfo.php(我的网站不是一个WordPress网站)。我添加了robots.txt以阻止大多数AI扫描器,但允许Google-bot和其他搜索相关流量,并要求Claude查询所有漏洞路径并模仿扫描器,以确保我没有泄露任何东西。我还添加了合理的速率限制等。最重要的教训是,是时候让我的网站更快了。我想要成为一个能够处理xxx QPS真实流量的网站,它应该比以前在重负载下更好地扩展。受到这次经历的启发,过去几周我对底层基础设施进行了相当多的改进,这些改进应该为所有用户带来相当大的性能提升。附注:如果你想查看一下,这个网站是完全免费的,可以在这里使用。总结一下,它让你定义自己的自定义选项,除了像黑客新闻的分数总和这样的事情。你可以用它过滤掉主题,比如AI或LLMs,但主题完全是任意的,你可以编写自己的自定义选项。 2. 用LLMs让Emacs网页浏览器再次伟大 当我告诉人们Emacs网页浏览器时,他们的第一反应是“等等,Emacs有网页浏览器?!”接着是“是啊……我想那算是一个网页浏览器”。Emacs网页浏览器旨在在基于终端的纯文本环境中渲染网页,嗯,它的工作方式与你的预期完全一致。它在仅HTML的小型内容网站上表现良好,但对其他任何东西都不太好。问题是,Emacs主要是一个纯文本编辑器,而现代互联网则并非以纯文本为基础。90年代简单风格设计的简单HTML可以清楚地转换为纯文本,但现代UI设计包含的视觉样式、重JavaScript和总体混乱则没那么容易。Emacs网页浏览器会很棒,如果我们能找到办法回到过去……好吧,所以方案很简单。我们取出现代网页,将它们的源代码重写成老式的简单风格HTML,然后将其传递给Emacs网页浏览器。我们只需要找到一种简单的方式来大规模实现这一点。嗯,你没有忘记LLMs,对吧?以希望减少世界上垃圾内容的方式使用它们是件好事。基本上,计划是我们编写一个程序:在Firefox中打开一个网页,加载页面并运行所有JavaScript,请求一个LLM生成一个可重用的程序,将当前页面的内容转换为简化文本,将生成的JavaScript注入Firefox浏览器,抓取新页面源并转发给Emacs网页浏览器。是的,我一直在使用它,它运行得很好。实际上,我可以在许多EWW(Emacs网页浏览器)之前无法运行的网页上使用它。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡