GeminiCLIの意外な使い道:AIでロト6を予測してみた

はじめに:GeminiCLIでロト6予想ツールを作ってみた話

「GeminiCLIって、チャットするだけじゃなくてプログラムにも使えるんだ。」

そんな驚きから始まった今回のチャレンジ。普段からGeminiを活用している中で、「これをもっと技術的に活かせないか?」と考えた結果、思いついたのが ロト6の予想ツールをCLI(コマンドライン)で作ってみる という試みでした。

ロト6というと「完全な運任せ」のイメージがありますが、過去の当選データには何らかの偏りやパターンがあるのでは?という仮説のもと、AIに学習させて予想させることで「それっぽい」数字を出してもらう、という仕組みを作ってみました。

そして今回の主役が GeminiCLI。これはGoogleの生成AI「Gemini」をターミナル上で直接やり取りできるツールで、Pythonスクリプトの提案やコード修正、ちょっとした分析の補助まで行ってくれる頼もしい存在です。

本記事では、そんなGeminiCLIを活用して作成した ロト6予想CLIアプリの全体像と、開発の工夫ポイント、動作イメージまでを詳しくご紹介していきます。

「Geminiって、こんな使い方もできるのか!」
「自分でも何か作ってみたくなった!」

そんな風に思っていただけたら嬉しいです。では、早速中身を見ていきましょう!

どういう仕組み?CLI×AIの構成ざっくり解説

今回のロト6予想ツールは、大きく分けて以下の3つのステップで構成されています。

  1. データ収集(スクレイピング)
  2. AIモデルによる学習と予測
  3. GeminiCLIによる操作サポートと自動化

順を追って説明していきます。


① データ収集:みずほ銀行サイトからのスクレイピング

まずは、ロト6の過去の当選結果を取得する必要があります。
ここでは Python を使って、みずほ銀行のWebサイトから 当選数字・本数字・ボーナス数字 を自動で取得し、loto6_data.csv として保存するスクリプトを作成しました。

この部分のスクリプトは、毎回アプリ起動時に最新の当選データに更新されるようになっています。
万が一、サイトにアクセスできない場合でも、ダミーデータを生成して処理が止まらないようオールバックロジックも実装済みです。


② AIによる学習・予測:過去データから"それっぽい"数字を出力

過去の当選データを使って、簡単な機械学習モデルをトレーニングします。
モデルは scikit-learn や Keras などの一般的なライブラリをベースにしており、数字の出現頻度や組み合わせの傾向を学習します。

学習後は predict.py によって、次回分として6つの数字を出力します。
もちろん、これは「的中を保証するものではない」ことは明記しつつ、エンタメとしての楽しみ方を意識しています。


③ GeminiCLIとの連携:コード生成&補助役として活躍

そしてこのプロジェクトの裏の主役が GeminiCLI
開発中、以下のような場面でAIに助けてもらいました。

  • スクレイピングコードの修正
  • エラーハンドリングのアドバイス
  • pandasやCSV操作のリファクタ案
  • 学習済みモデルの保存処理提案 など

GeminiCLIは、ターミナル上でスクリプトとやりとりしながら素早く試行錯誤できるのが魅力です。まさに“AIコーディングパートナー”といった感覚でした。


このように、CLIとAIを組み合わせることで、実用的かつ遊び心のある予測ツールが簡単に作れることを体感できました。次のセクションでは、実際に動いている画面をご紹介します!

1. コマンドライン側(左下)

  • E:\GeminiCLI\test ディレクトリで実行中
  • run.bat を使ってアプリ全体を一括で動かしています
  • get_data.py によって最新のロト6結果を取得
  • 実行ログやAIの出力内容もリアルタイムで確認可能

2. GUIアプリ側(右上)

  • 前回の当選数字を見やすく表示(色付きで視認性アップ)
  • 次回抽選日時を自動表示
  • 「ロト6を予測する」ボタンをクリックで、AIによる予測が開始されます

3. 予測結果と処理ログ(右下)

  • AIが過去のデータを学習し、次回の“それっぽい”6つの数字を表示
  • 実際の出力例:「6, 13, 17, 24, 30, 36」
  • train_model.pypredict.py の処理結果も表示され、処理の流れが可視化されています

このように、CLIでバックエンドを動かしつつ、GUIで結果を分かりやすく提示する構成にすることで、技術的な楽しさと視覚的なわかりやすさの両立を目指しました。

次のセクションでは、実際に開発していく中での工夫や苦労したポイントをご紹介します!

開発の工夫ポイント・つまずいた点

このロト6予想ツールは、見た目こそシンプルですが、実際にはいくつかの技術的な工夫や試行錯誤がありました。ここでは、開発中に特に苦労した点や工夫したポイントを紹介します。


🧩 工夫①:データ取得の安定化

最初のハードルは、みずほ銀行のWebサイトから過去の当選データを取得する処理です。

  • HTML構造の変化に弱いため、スクレイピングのロジックが壊れやすい
  • BeautifulSoupと正規表現を併用して、より柔軟に対応できるよう設計
  • バックアップ用のCSVデータを同梱し、アクセスエラー時にも動作するよう工夫

これにより、「とりあえず動かせば予測できる」状態を保ちました。


🧠 工夫②:学習処理を簡略化しつつ“それっぽさ”を出す

完全な精度を求めるのではなく、エンタメ性と実用性のバランスを重視。

  • 高度な機械学習ではなく、出現頻度に基づくモデルや、シンプルなニューラルネットで構成
  • 出力結果に重複がないよう処理し、「ちゃんと予想してくれてる」感を演出
  • 学習済みモデルをpickleで保存し、次回以降はすぐに予測が可能に

AIの“賢すぎない自然さ”も大切な設計ポイントでした。


🤖 工夫③:GeminiCLIとの連携方法の最適化

GeminiCLIは非常に強力ですが、指示の仕方(プロンプト設計)にコツが必要でした。

  • 曖昧なプロンプトでは、想定外のコードが返ってくることがある
  • 明確に「どういう入力を渡して、どういう形式で出力してほしいか」を伝えることが重要
  • エラー解決やデバッグの相談相手としても活躍

例:「このCSVデータを読み込んで、次回の出現数字を予測する関数を書いて」など、具体的かつ丁寧な会話を意識しました。


このような工夫を積み重ねることで、実用性のあるツールに仕上がりました。
次は、このツールを通じて得られた学びや今後の可能性についてまとめていきます。

まとめと今後の可能性

今回は、GeminiCLIを使ってAIによるロト6予想ツールを作ってみた事例をご紹介しました。CLIとAIを組み合わせることで、実用性と遊び心を兼ね備えたアプリケーションが意外と手軽に実現できることを体感しました。

このプロジェクトを通じて、以下のようなポイントが見えてきました:


✅ GeminiCLIの意外な可能性

  • Geminiは、チャットだけでなく「開発補助ツール」としても非常に優秀
  • CLI環境に自然に溶け込むため、コードと会話がシームレスに進む
  • 小規模なツール開発やプロトタイピングに最適

🎯 AI×CLIの面白さ

  • AIによる予測や分析を「CLIから操作できる」のは非常に快適
  • GeminiCLIでのプロンプト操作は、GUIにない柔軟性とスピード感がある
  • データ収集から予測まで一連の流れを自動化できるのは、技術的にも満足度が高い

🔮 今後の可能性と展望

  • 予測精度を高めるために、より複雑な学習モデル(例:LSTMやランダムフォレスト)への拡張も可能
  • ロト6以外の抽選系・予測系コンテンツ(スポーツ、株価、天気など)にも応用できる
  • GeminiCLIを定期実行する仕組み(cronやタスクスケジューラ)と組み合わせれば、完全自動化も視野に入る

最後に

このツールは「当てる」ことが目的ではなく、技術を楽しむ・創造するための実験場として作りました。

「GeminiCLIって、こんなこともできるのか」
「AIとCLIって、相性いいかも」
「自分も何か作ってみようかな」

そんな風に感じてもらえたら、本当にうれしいです!
興味を持った方は、ぜひ自分なりのアイデアでカスタマイズして遊んでみてください😊

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です