今話題のDevinを使てみました。こちら、AIにコード生成を丸投げできるツール。
以前は500USD~と金額の高さがネックでしたが、最近20ドルから可能になりました。
さらに、Youtube動画などで、追加クレジットがプレゼントされたりします。
Devinの始め方、良かった点など、体験ベースでご紹介します。
Devinの登録と支払い
まずご登録はこちらから。
わたしは、一番安いCoreプラン(20ドル・9ACU付き)を購入しました。
安野たかひろさんの動画などでクレジットプレゼント用URLが記載されています。余分にクレジットが欲しい方は動画の概要欄チェック♪
Devinを使う前の準備
まずはDevinにコードを書いてもらうプロジェクトを準備します。わたしは今回は、Githubにプライベートリポジトリをつくり、そこに既存のLaravelプロジェクトをプッシュしました。
ほぼほぼできあがっているプロジェクトですが、Devinを使って「新規ユーザー登録時に管理者にメールを送信する」機能を追加することにしました。

難易度は難しくなさそうですよね。初Devinなので、とりあえず簡単そうなタスクを投げてみます!
DevinをGitHubに接続
次にDevinにログイン。【Connect to GitHub】をクリックして、GitHubとつなぎます。
その際、「すべてのリポジトリか、選択したリポジトリだけか」と聞かれます。お好みに応じて選んでください。
最後に「install」という緑色ボタンがでてくるので、クリック。これで連携完了です。
Devinに指示をだしてみる
ではいよいよ、Devinに指示を出してみます。まず、今回のプロジェクトを選択します。
次に指示をいれます。記事をいると「英語のほうがいい」と書かれたものもありましたが、ただ、最近は日本語でも大丈夫そうなので、日本語で次のようにいれてみました。

わりと丁寧に書いてみました。ただ、メールの内容など詳細は書かず、Devinにお任せしました。
クリックするとDevinの作業スタート。しばしお待ちします。
Devinの作業完了
5分ぐらいすると、作業完了画面になりました。
リンク先をクリックすると、プルリクエストができていました。ローカルのVS Codeでプロジェクトを開き、フェッチ(git fetch) を行って、Devinが行った作業を取得して確認。その後プル(git pull) を行って、Devin作業をプロジェクトに反映。
Devinのコードはキレイでした。テストで新規ユーザーを登録してみると、次のようなメールが管理者宛に送信されました。

Devinは指示に従って、ちゃんと作業してくれたことを確認しました。
使用したクレジット数
今回の作業で使用したクレジットは、DevinのSettings/Usage&Limits/Usage Historyで確認できます。1.2ACUs Usedとでてきました。1.2ACU使ったよ、ということですね。
今回のプランでは、1ACU=2.25ドルです。1ドル150円で計算すると、1.2ACUは約405円。
つまり、400円ほどで、今回の作業をしてくれたということですね。
データプライバシーについて
なおこういったツールを使うにあたり、やはりデータプライバシーが気になるところです。Devinの公式ドキュメントによると、データは、ユーザーが設定を変更しない限り、モデルのトレーニングに使われることはない、とされています。つまり、初期設定のままであれば安心して使える設計になっています。
By default, we do not use any of your data for model training purposes unless you explicitly opt-in in the Data Controls settings page.
https://docs.devin.ai/security#how-is-your-data-used-to-improve-devin
Devinを使った感想
DevinはSlack経由でも指示をだせるようですが、今回は普通にログインして使用しました。
使ってみた感想としては、「まあ、よいのでは?」という印象です。
わたしは普段、Cursorというツールを使っていて、Cursorの出すコードを確認しながら組んでいくスタイルです。そのため、ある意味、安心です。
ただ今回Devinを試してみて、丸投げっていうのも便利だなと思いました。丸投げしている間、プロジェクトの全く違う部分の開発を進めることもできます。
とはいえ、今のところ「Devinに丸投げできる作業のレベル感」がまだよくわからず。
どれぐらいの作業であれば丸投げ可能か、クレジットはどれぐらい使いそうか、このあたりが見えてくると、頼めることも増えそうです。

初めての人に仕事をお願いするときも、どれぐらいのことがお願いできるか、最初は分かりませんよね。それと似ている気もしました。
それにしても、こういったツールを使うにつれ、「AIと協働する開発」が現実になってきたと実感します。同時に、AIが書いたコードをきちんと理解・チェックできるスキルの重要性も強く感じます。

最後に責任を取るのは「人」ですしね。
またAIツール、色々と使っていきたいなと思います。