×

生成AIでEVE便利ツールを作ってみる

生成AIでEVE便利ツールを作ってみる

さて、今回は最近巷で流行りの生成AIを活用してEveonline用のWebアプリを作ってみようと思います。
まず最初に作ってみようと思ったのは、「WH穴回し早わかりツール」です。

J-space(未知宇宙)に住むWH住人にとって定期的・突発的につながるWHの管理が重要です。
WHにはいくつか種類があって艦船が通過できる総質量があって、それを超える量の艦船が通ると消滅するのは皆さんご存じの通りですが、WH住人はHigsecへのルート探しや外部からの侵入を防ぐために頻繁に「穴つぶし(Rolling)」を行っています。

穴つぶしに特化した大きい質量をもった艦船をくぐらせて意図的に質量を減らしてつぶすわけですが、これらは外敵に襲われるリスクも高いので迅速かつ効率的に行う必要があります。WHコーポ様々なノウハウがあり弊社N404もいろんな状況に応じたマニュアルを作成しているのですが、これをもっと手軽ですぐに確認できるプログラムみたいなもの作れればなあ、とずっと思っていました。

生成AIというとChatGPTがおそらくみなさんご存じ有名かと思いますが、今回はClaudeを使ってみることにしました。ClaudeはもともとChatGPTを開発したOpenAIの社員が独立して作ったChatGPTの競合となるAIで、日本語処理やデザイン表現に定評があります。ちょっと試してみたいというのもあったので、これでコードを一切書かず対話のみでどれだけ実用に耐えるアプリが作成できるか検証してみました。

プログラム知識ゼロのまったくど素人なので、要件定義とかそんなこと一切考えず、とりあえず思いつくままに書いていこうと思うのですが、さすがにまずは基準となる定数を指示する必要ありそうです。

うーん、まずは穴つぶしの対象となるWHのIDを登録して、プルダウンで選ぶとそれぞれの質量がでる簡単なプログラムから作成してみましょう。定数といってもWHの穴質量は±10%でランダムに増減する仕様なので、それも一緒に記載できるように指示してみました。

生成されたhtmlがこれ。

素晴らしい。たったこれだけの指示で、UI等細かいところは「空気を読んで」作成してくれるのがすごいですね!なんかこれだけでもある程度使えるツールになった感じがしますが、これでは単に今までのWebサイトを調べるのと大して変わらないので、これからさらに機能を追加してみます。

次に、これらの穴をつぶすために使う艦船を登録してみることにします。
実際は往復して帰ってこれないといけないので、艦船の質量×2でもう定数として登録してみました。

最後の日本語の指示はとてもいいとは思えないですが。。この指示がざっくりすぎると、各数値は一回しか使えないと解釈したり、数値はなるべくたくさん使ったほうがいいと解釈したり(HICを20回とかにしてしまう)、かといって最小と書くと0回とかにしてしまいます。なので、プログラム的思考の訓練してない人は具体例を1つ挙げるなりして指示してあげるといいかもです。

実際はさっき言ったように±10%の質量誤差あるのでこの組み合わせそのまま試すと大変なことになるのですが、細かい条件はいったんここでは考えず、最低限の条件から足していきたいと思います。

ここで気づいたのですが、上記WH住んでいる方ならお分かりのように、「D845」はC3のHighsec固定穴です。CS(Capital)は使えるはずもありません。。。

少ない頭のリソースで3分ほど熟考した結果、追加でWHの各クラスのプルダウンを入れて、そのクラスに応じて使える艦船に制限を入れてみることにしました。

一応意図通りの仕様になったようです。

クラスを指定する前にIDを選ぶと反映されないようなので、クラスを選択するまでID選択をできない制限を入れてみることにしました。

ここでClaudeの制限が来てしまいました。。Pro版(月20ドル)払ってやってるのですが、それでも一定処理ごとに数時間の使用禁止時間が出てしまうようです。

このWH穴回しツール、本当はさらにいろいろな条件(WHクラスごとにつながるはずのないIDがある、一時収縮やEoLの状態、さらに「出来立てホヤホヤ」な穴なのか、収縮してないが誰がどれだけ通ったかわからない穴の場合等)を追加したいところですが、現時点での生成AIではこのレベルのプログラムが限界なのかもしれません。

今後生成AIのコスト低下に期待したいところですが、この低レベルな指示のとおり、本当の意味でのスキルがない(何かをクリエイトするという意味での)人でもアプリが作れる時代になってきているんだなあと実感いたします。

今回作成してみて、そも最初の定義の段階から問題があったかもしれないので、一度考え直して作り直してみる必要があるかな、と思いました。ある意味、こういった対話式から始るのもプログラムの勉強の入門としては良いのでは?と思いました。

つづく(?)

Share this content:

You May Have Missed