
お疲れ様です!ニシザワです。
すっかり夏本番ですね。北海道でも40℃出たようで今年も異常に暑い夏となりそうです。
暑い中歩くのも意外と嫌いじゃないんですが、流石に35℃を越えると出たくない。。。
というわけで、今回は家で出来る夏休みの自由研究として、AIで遊んでみました!
ルトラでは、今年度からの新制度として「AI初回お試し制度」なるものが追加されたので、そちらも合わせてご紹介していきます。
それでは早速本題に行ってみましょう!
AI初回お試し制度とは
ルトラで新設された制度ですが、具体どんなものかと言うと、
AIツールにかかる初回課金費用(税込3,300円まで)を経費精算して良いというものです!
生成型AIなどは無料で使えるものも多いですが有料版だと何が出来るのかなど、自分で触ってみないと良く分からないものも多く、有料版を触るきっかけとして利用しやすい制度かと思います。
3,300円までなので昨今のドル円相場が150円前後であることを考えると、大抵のAIは利用できそうです。
参考までに主要AIの料金一覧はこのような感じ
Grok | SuperGrok:月30ドル(約4,350円) |
ChatGPT | Plusプラン:月20ドル(約2,900円) |
Gemini | Google AI Proプラン:月2,900円 |
GitHub Copilot | Proプラン:月10ドル(約1,450円) |
Amazon CodeWhisperer | Proプラン:1ユーザーあたり月19ドル(約2,755円) |
Cursor | Proプラン:月20ドル(約2900円) |
Grokは予算オーバーですが、それ以外は大体いけそう!
金額はあまり気にせず、自分の利用用途に合わせて選択すれば良さそうですね。
Cursorとは
今回は、コーディングを全てお任せでプログラムを作成したい為、コーディングAIのCursolを使用してみます。
copilotとか、CodeWhispererもありますが、CursorはVSCodeベースで作られている為、ショートカットや拡張機能など、VSCodeと同じように利用することが可能です。
ぶっちゃけ初回利用なので他AIとの差も分からないので、何でもいいっちゃ良いです笑
ちょっとだけVSCodeベースという利点があるCursorを選択しました。
Cursorのメイン機能としては、
- エージェント(AIチャット)
- 強力なオートコンプリート機能
- AIによる自動編集
この3つになります。
今回は、自分でコーディングしないのでエージェントのみ利用しますがオートコンプリート機能がかなり優秀みたいなので、今度コーディングして試してみます。
導入
導入自体は滅茶苦茶簡単です。
アカウント作成 -> インストーラDL -> インストーラ実行 -> セットアップ
以上ですぐ使えるようになります。
まず、インストール時にVSCodeの設定をインポートするか聞かれます。
既にVSCodeを使用しているので、インポートを選択。
次にテーマの選択
インストール時に聞いてくれるの地味に有難い
後は、クイックスタートと言語、ターミナルを選択して終わり!
ざっと5分程度で使えるようになりました!
プロジェクト作成
早速、エージェント機能を利用してプロジェクトの作成から始めます。
が、あれ、ちょっと怪しい?
もしかして、Python入れてなかったかも、と思ったタイミングでAIからバージョン確認コマンドが。
Python入ってなかった。。。PC変えた時に入れてなかったの忘れてました。
インストール手順なども教えてくれるみたいですね。親切!
Pythonを入れて再度、プロジェクト作成
ぱっと見問題なくプロジェクト作成できましたが、動確でエラー
原因調査、解消まで全部やってくれる。
どうやら隠しファイルとして作成されていたようです(こんなん手動でやってたら気付くのにめっちゃ時間かかりそう…)。
無事に作成完了しました!
いざ、コーディング
今回は、毎月家計簿をつける際、地味に面倒なクレカ会社から利用明細のDLを全自動にしてみます!
アクセス、ログイン、画面遷移、日付選択、DL、そんなに手間じゃないですが、極度のめんどくさがりには辛い・・・。
一応、前にやろうとしてSeleniumを使えばできそうなことは確認済み。
うんうん、Cursor様もSeleniumで実装可能と仰ってます。
注意事項
確か2段階認証があったはずなので、そこはセキュリティの観点から手動ですかね。
利用規約もしっかり読んで、スクレイピングに関する禁止事項は無い事を確認しました。
ログイン情報もID、パスワードはチャットに絶対書かず、ローカルのみにしておきます。
作成依頼してからものの数秒で、コーディング完了!早い、早すぎる!
でも、パスワードをenvファイル直打ちするのは避けたいので、暗号化してもらいます。
ペッパーも言えばやってくれそうですが、まぁソルトまでで、大丈夫でしょう!
password_manager.py(暗号化ツール)はパスワードを入力する必要が有るので、ローカルで実行し、Cursor上はマスターパスワードのみを入力するようにします。
いざ、実行!
まぁ、一発では中々いきませんよね。
ログインでタイムアウト・・・中々難航しそう
どうやらセレクタが正しく設定されていないようです。
DevToolで要素を調べて、、、いや、画像読み取ってくれるのかな?試してみましょう!DevToolのスクショを張り付けて、
おぉ、見事に読み込んでくれました!
さて、どうでしょうか。
・・・何となくそうかな、と思ってたんですがやっぱりトップページを見ているからダメだったみたい。
ログインページの情報を追加、加えてセレクタも異なっているようなので修正。
無事、ログイン出来ました!
ただし、明細ページへの遷移でエラー
最初に気にした2段階認証の部分で引っかかってそうですね。
2段階認証はSMSの選択まで自動でコードの入力は手動とします。
更にログイン後の挙動を伝えておきます。
ようやくDL出来ました!
ですが、このままだとリンクを直指定しているので、来月になるとDL出来なくなってしまいます。
その為、日付指定でリンクを選択するよう修正
良くある日付参照の機能を追加
ちゃんと年跨ぎまで考慮されています。
実行結果
素晴らしいです!ほぼ全自動でDL出来るようになりました。
これで来月からはワンボタンで明細が取れる!
最後に作業ログを作成して、完了!
これで期間が空いても再開できそうです。
まとめ
さて、いかがでしたでしょうか。
今回は一切コーディングせず、AIエージェントに指示出ししてプログラムを作成してみました。
結果としてはかなり楽にプログラムが組めたんじゃないかと思います。
新規プロジェクト作成から完成まで凡そ7,8時間程度でした。
0ベースから1人日で製造完了は中々優秀な結果ですね。
要件定義に近しいことをするので、上流工程の勉強にも、製造の勉強にもなって学習効率はかなり良かったです。
コードもかなり綺麗に書いてくれるので、設計書を書いてみるのも良い勉強になりそう。
今度は自分でコーディングしてAIの補正を使ってみようかな。
では、またーノシ