Xの自動運用をステルスっぽいPlaywrightで「検証」してみた
はじめに
Xの運用の自動化については、当然利用規約的にAPI以外での自動化はNGという認識はありました。しかし、Xを見てると頻繁にX運用自動化の話題が出てきます。
また、Browser Use等を使えば通常のいつも使っているブラウザを使えるので、バレないみたいな話もいくつか聞きました。
まあでもBrowser UseはPlaywrightを使ってるのでバレるんじゃないかなーと思っていました。
ところが、Browser Useはステルスに力を入れているとコードを見て分かりました。
だったらもしかしたらいけちゃうのかなー。皆だからやってるのかなーと思いまして、検証してみようと思いました。
やったこと
X自動運用エージェントを作るべくこのコードを作り出しました。
あらゆる機能を入れてしまい、全部Browser Useでやるようにしてみようと思いました。
いいね、フォロー、リプライとかそういうやつです。
自動投稿も欲しいと思い、バズっているポストを検索して、その内容が客観的でAIエージェント関連の有用な情報と判定できれば、その投稿の概要を説明するポストを生成し、その対象ポストのリポストという形で投稿するものになりました。
途中でBrowser Useの不安定さが問題になりました。結構優秀なのですが、その動きはさすがに非効率じゃんとか、何回LLM実行するんだ、とかそういう懸案がありました。
そして、OpenAI APIの料金を見たら、ちょっとやっただけなのに、300円位になってて、これはちょっと高いかなーと思いました。
そこで、ステルス機能をBroswer Useのコードから取り出して、独自のステルスPlaywrightを作りまして、それを使うように変更しました。
トレンドポストの収集、ポストの有用性判定、ポストの分析、投稿生成、自動投稿まで作成して、完成したタイミングで、テスト用アカウントが消滅しました。BANされました。全然ステルスではありませんでした。
ちなみに、このステルスPlaywrihgtでChatGPTを1回だけ自動操作してみようとしたら、一瞬でBANされそうになりました。皆さんは絶対しない方がよいと思います。
つくったもの
リポジトリ
このリポジトリの内容
このリポジトリは、上記の検証をした際のコードの一部です。結局いいね、フォロー、リプライとか、それをエージェント化して動かすみたいなことは動作検証前に捨てることになったので、削除しています。
トレンドポストの収集、ポストの有用性判定、ポストの分析、投稿生成、自動投稿のみが含まれています。
技術スタック
当初Browser Useを使うつもりだったので、Pythonで作りました。
- Python
- LangChain(LLMのインスタンスだけ)
- Playwright(Browser Use使うのやめた)
- PostgreSQL
注意点
- 上記のとおり、このリポジトリのコードは直接実行するためのものではないです。直接実行すると利用規約違反となりアカウントが消滅する可能性があります。
このリポジトリで参考になるかもしれない点
上記の注意点を前提にしつつも、下記のような参考になりそうな点もあるし、供養もしたいので、公開します!!
- Browser Useを使う場合のコード(一部残ってる)
- Browser Useを参考にしたステルスPlaywright(実際は十分なステルスではない)
- トレンドポストの有用性判定や投稿自動生成など複数個所でLLMを利用している
得られた知見
- Playwright MCPも試しましたが、通常のいつも使っているブラウザを起動することができませんでした。
- さらに、Playwright MCPはステルス感が全くありませんでした。
- ただ、Playwright MCPのお手軽さは半端なかったです。
- それに、自分がちょっと試した感じだと、Playwright MCPの方が、Browser Useよりも良い感じに動きました。Browser Useで無限ループみたいになってしまう場合でも、Playwright MCPならきちんと動くケースがいくつかありました。
- Browser Useは動きが不安定なケースが結構あったり、LLM実行回数が多くコストがバカにならないというのはありました。(まあLLM実行回数はPlaywrihgt MCPでも大体同じかもしれません)
- 私が作ったステルスPlaywrightが全然ステルスではないことが分かりました。
- Xで利用規約違反をすると、まじで一瞬でBANされることが分かりました。絶対にやめましょう。(ChatGPTも自動操作はNGです。絶対やめましょう)
まとめ
- Xは手動で運用すべし
Discussion