無料のLLM APIとツールコーリングでポケモンバトル(Pokémon Showdown)を自動でプレイするAIエージェントを作った

Reddit r/MachineLearning / 2026/5/1

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • この記事では、Llama 3、Qwen、Gemma などのLLMを使ってPokémon Showdownを自律的にプレイするAIエージェント・システムを紹介しています。
  • 単純なプロンプト応答ではなく、各ターンにおける戦闘状態全体(タイプ相性、HP、天候、場の状況、相手の判明情報など)を解析し、攻撃するか交代するかを判断します。
  • ツールコーリングを用いて意思決定と行動を構造化し、そのルーティングにはLiteLLMを利用しています。
  • Groq、Cerebras、OpenRouter、Google AI Studioなどの無料APIティアに依存することで、推論コストなしでローカル実行できる点が特徴です。
  • 人対AI/AI対AIの対戦機能、無料で利用できる15以上のモデル対応、そしてLangfuseによる各ターンのツール呼び出しと推論の可視化が用意されており、GitHubリポジトリも共有されています。
ツール呼び出しを使って無料のLLM API経由で、ポケモン ショーダウンを自律的にプレイするAIエージェントを作りました [P]

私は、Llama 3、Qwen、Gemma のようなモデルがポケモン ショーダウンのバトルを自律的にプレイするシステムを構築しました。単純なプロンプト・レスポンスではなく、各ターンごとにバトル全体の状態(タイプ相性、HP、天候、場の状況、相手の公開情報)を分析し、構造化されたツール呼び出しによって「攻撃するか」「交代するか」を判断します。

面白い点は、すべてを LiteLLM 経由でルーティングし、無料のAPIティアのみのモデルを専用で使用したことです(Groq、Cerebras、OpenRouter、Google AI Studio)。そのため、誰でも推論コストゼロでローカルに実行できます。

機能:

- 人 vs AI(ボットと対戦する)

- AI vs AI(2つのモデルを互いに対戦させる)

- 15以上の無料モデルにそのまま対応

- Langfuse による完全な可観測性:ターンごとの正確なツール呼び出しと推論を確認できます。

https://i.redd.it/lzx2fd2s0eyg1.gif

▶️ 音声付きでYouTubeの全動画デモをご覧ください: https://youtu.be/8ZNadmh-Sy8

GitHub リポジトリ: https://github.com/MohamedMostafa259/pokemon-ai-agent

複雑な盤面状態での推論を改善するためのアイデアや、アーキテクチャに関するフィードバックが欲しいです!

投稿者 /u/ReplacementMoney2484
[リンク] [コメント]