top of page

柔道抜き戦シミュレーター

8月26日
読了時間: 4分

こんにちは、4年の堀部です。本日は高輪高校の皆さんと入江さんにお越しいただきました。蒸し暑くこちらの部員も少ないという環境で参加してくださりありがとうございます。元気ある中高生に触発され基立を無事乗り切れました。また稽古後には、中高生の皆さんと受験や学生生活についてお話する機会を得て、交流を取ることができました。


さて今回は、私が前々から思い描いていた「柔道抜き戦シミュレーター」がひとまず形になったのでその開発についてお話ししようと思います。選手のデータを入力すれば最適なオーダーを計算してくれるアルゴリズムがあったら便利では、と思いついたのは昨年末。ひとまずオーダーを入力すれば勝敗を出してくれるように設計しようと思い簡単なコードを書き上げたものの、完成度が低く世には出していませんでした。


そんな中で今年の5月ごろにClaude Code使い始めると、これがもう優秀なのです。ご存じの方も多いかと思われますが、Claude Codeはエージェント型AIと呼ばれる代物の一つです。ここ数年で主流だったチャットに対し返答をするだけのAIと異なり、タスクを提示すれば勝手に判断して、検索やらファイルの作成・編集やら他サービスとの連携やら全て自動でこなしてくれます。最近はそれを利用し非エンジニアでも開発を行えるようになり、バイブコーディングやAI駆動開発(ニュアンスはだいぶ違いますが)などと呼ばれています。


私もNotebookLMやObsidianと連携して学習に役立てたりしていたのですが、先日のオフ期間、凍結していた「柔道抜き戦シミュレーター開発計画」をついに再開することにしました。とはいっても、要望書のようなものを投げればコードを生成してくれるので、あとは微調整しながら思いついた機能を追加するだけで形になってしまいます。私はPythonは多少わかるものの、UIやアップロード方法などWebサービス開発はからっきしなので完成品を眺めてもなおよくわかりません。危険ですね。


ということで、どのように開発したか開発過程を簡単にお見せしようと思います。模範的柔道部員としてブログのネタ用にスクリーンショットをきちんと残しておきましたので、HP担当の権限を活かしふんだんに画像を盛り込みます。まず私が入力した要望は以下の通りのアバウトなものです。



しばらくするとコードが生成されます。



UI用のコードも書いてもらったので自分の端末で起動すると、以下のように動作しました。



すっごいです。コーヒーを淹れている間にコードができている、もうそんな便利な時代なのだと気づかされます。最近は「AIっぽいUI」(黒背景にゲーミングカラーの文字やボタンなど)を見かけることが増えましたが、今回はそこまでAI臭のしないものを作ってくれました。とはいえ実行してみるとまだまだ想定通りにはいかないので微調整を加えます。またこの時点では確率を導入していないので組み込み、1回シミュレーションと1000回シミュレーションをできるようにしました。


更にルールも選択できるようにしました。三商ルールは旧講道館ルールとして使えるようになっております。またテスト中に気づいたのですが、七帝ルールで各チームの合計戦力を同じにしても勝率に10%ポイント以上の差がつくこともあります。いかにオーダーが大事かということですね。(追記:この後代表戦を実装しましたが、代表戦の有無は現時点で設定できません。後日修正します。)



これをGithubにアップロードしStreamlitリンクを作成したので、インターネット上でだれでも実行できるようになりました。リンクは以下の通りですのでご自由にお試しください。もちろんまだあてになるような代物ではないのでお遊び程度に。ちなみにスマホだと見づらいのでパソコン環境をお勧めします。



まだまだ追加したい機能はあります。既存のパラメータをさらに調整する必要がありますし、そのほか特性(「体力バカ」、「けんか四つ得意」など)の追加、最適オーダーの算出、データ保存なども導入したいです。更には過去データを用いて最適パラメータを算出する機械学習機能を実装してみたいという野望もあります。とはいえひとまずお披露目したくなってしまいましたので、一度区切りをつけようかと思いました。オープンソースとなっておりますので、改善案がある人はご自由にお使いください。



長文となってしまいましたが、とりあえずバイブコーディングは楽しいので皆さんやってみよう、これが今回の結論です。アイデアさえ定まっていれば2時間ほどで作れてしまいましたので、良い勉強兼娯楽になると思われます。また今回は単純なWebサービスだけですが、マネタイズも簡単にできる時代ですので小遣い稼ぎにもなるかもしれません。今までAIが導入されてこなかった分野に持ち込んでファーストペンギンになりましょう!


4年 堀部

コメント


bottom of page