MESON で Devin を導入してみました
はじめに
MESON ではこのたび、自律型 AI エンジニア Devin を導入しました!🎉
MESON は XR だけでなく、AI の利用から始まり、XR コンテンツに AI の導入も視野に入れながら開発を行っています。それを加速させる意味も込めて Devin を採用しました。
Devin てなに?
Devin とは、一言で言えばソフトウェア開発に特化した AI エージェントです。以下の記事にはこう説明されていました。
Devin is an autonomous model that can plan, analyze, and execute complex code and software engineering tasks with a single prompt. It has its own command line, a code editor, and a separate web browser.
Devin は、複雑なコードやソフトウェアエンジニアリングのタスクを、ひとつのプロンプトで計画を立て、解析、実行することができる自律型のモデルです。独自のコマンドライン、コードエディタ、分離された Web ブラウザを持っています。
これを感覚的に説明すると「リモートワークのジュニアエンジニアが入社した感じ」と言えます。
実際に、実装途中の内容を見てもらってやり取りしたキャプチャです。最後に絵文字を使ってくる当たりがとても親しみやすさがありますねw
値段
値段はわりと高めな金額感になっています。現状は $500 / month なので今のレートで大体 75,000 円 / 月という感じです。これを高いと見るか安いと見るかは人それぞれだと思いますが、個人的には「ジュニアエンジニア(将来有望)をひとり雇うことに比べたら破格なのでは」と考えています。
Devin を 1ヶ月使ってみて感じたこと
正直、まだまだ Devin のポテンシャルを引き出せていないなと感じる今日このごろです。まだ 1 ヶ月ちょっとしか使ってないので当然といえば当然ですが。どこかのブログ記事で「ジュニアエンジニアを育てる感覚で使っている」と書かれているのを見かけましたが、言いえて妙な表現だなと感じています。
色々と依頼をしていくと Devin の機能により様々なナレッジが貯まっていきます。こういう場合にはこうしたほうがいいとか、この点には注意とか。Slack と連携できるため、本当に新人に依頼する感じでメンションを飛ばしてやり取りしていく感じになります。
その過程で、間違っていたり変更してほしい点を指摘すると、それが Knowledge
という仕組みに貯まっていき、その後のやり取りでそれが活かされていくようになっています。このあたりがまさしく「ジュニアエンジニアを育てて」いる感じですね。
あまりに複雑なことはまだ無理ですが、細かい作業や簡単なタスクは意図通りに動いてくれることが多いです。面白いのは、指示する側の明確さも結果に依存する点です。これは Devin に限った話ではなく LLM とのやり取りでは必須の考え方ですが、こうした点なども新人に対して語りかけている感じがする部分なのかな、と思います。
こう使っているよ
使い方はそれこそ組織の数だけあると思います。なのでここでは MESON で、特に自分がこうやって使っているよ、という事例を紹介したいと思います。ただ先にも書いたように、まだ全然ポテンシャルを引き出せていないのであくまで参考程度にしていただければと思います。
GitHub のリリースページの作成
MESON のプロジェクトは依頼を受けて、クライアントと一緒に伴走しながら開発を進めることが多いです。その関係で、クライアントの体験会なども実施することがあります。そうしたタイミングタイミングでタグを切って、そのタグごとに GitHub のリリースを作成することをよくやっているのですが、このリリースページの作成はそれなりに手間がかかります。前回との差分はなにか。なにが注目ポイントなのか、などなど。開発の片手間にやるにはやや億劫な作業になりがちです。
しかし、Devin はリンクした組織の GitHub リポジトリの内容を読み取ることができるため、「このリポジトリのこのタグのリリースページを作って。差分はこの時点から」のように依頼すれば、コミットログなどから内容を把握し、適切にリリースページを作成してくれます。
作られたものを読むとかなりしっかり書かれている・・・どころか、片手間に自分が書いたものより数段いいものが仕上がってきます。こうした「手間はかかるけど簡単な仕事」などはまさに AI エージェントにお願いするのにぴったりなタスクだと思います。
プルリク文章の作成
次はプルリク作成です。MESON のフローでは実装が完了したのち、機能開発用ブランチを main
や develop
などのブランチに向けてプルリクを送り、レビューしてもらってマージ、という流れで開発しています。このときに作成するプルリクの文章を作成してもらうようにしています。
プルリクの文章作成はなにを実装したかを説明しますが意外と手間のかかる部分でもあります。コードから読み取れない背景などは自身で記載する必要がありますが、機能開発の中でどんな機能が開発されたのか、というのは Devin でもコミットログやコード自体から判断できるためその部分について網羅的に記載してもらうようにしています。
また、実装時点で気づけていない懸念点や、NOTE コメントの記載などもひろって文章化してくれるためその点についても有用です。
Notion と連携してデータ構造体の実装
これはまだ完全にフロー化できておらず、あくまで実験的な部分もありますが、サーバとのやり取りで扱う JSON のパース用構造体など、サーバ側の API 仕様が分かればそれを Devin に依頼して必要な構造体やクラスを実装してもらう事が可能です。
MESON では様々なドキュメントが Notion にまとめられているため、Devin が Notion にアクセスできるようにしてこれを実現しています。やり方はやや力技ではありますが、とある記事を参考にして作ったものです。具体的には、 Knowledge
という機能で、特定のアクション(プロンプト)に応じて対応するアクションを実行させることができます。そこに、API アクセスの情報などを入れておくわけです。以下は実際に設定しているものです。(参考にさせてもらった記事を失念してしまったので参考リンクは載せられません・・)
上記が Knowledge
の設定画面です。「このリポジトリの場合は」など条件を指定して、そのときに挿入されるプロンプトを定義することができます。これにより「Notion のこのページを参考にして」というように指示すると、Devin は Notion 上のドキュメントを取得しに行くようになります。
もちろん他の AI 同様、URL を指定すればそのサイト情報も参照可能なのでオープンな情報であれば Knowledge
に書かなくても自動的にアクセスして情報を取得してくれます。
プロジェクトコードの解説
ある程度の規模になってくると、プロジェクト内のコードがどうなっていて、どこになにがあるのか、という把握がむずかしくなっていきます。特に、新しく参加したエンジニアの場合はどこから当たりを付けて調べていったらいいかも迷うところです。
そこで Devin の出番です。自分の前提の説明や、知りたいことなどを指示して必要な情報を取得、整理してもらうのはとても重宝します。
プロジェクトそのものになってしまうのでサンプルは掲載できませんが、実際に自分が新しく参加したプロジェクトでコードの勘所を聞いたところ、ほしい情報をしっかりと提供してくれました。
人数が多いプロジェクトや、入れ替わりが多いプロジェクトだとかなり力を発揮してくれるだろうなと感じています。
今後の展望
Devin を使い始めてまだ 1 ヶ月ちょっとですがかなりポテンシャルを感じています。 Knowledge
での設定を始め、色々な設定があるためこれを利用してもっと効率的に、また新しい視点を持ってより効果的に Devin を使っていきたいと思っています。冒頭でも書いたように、今年は AI エージェントの年になると思っています。ある意味で新しい開発ツールが出てきたと考えることもできるので、こうした「ツール」使用の波に乗り遅れず、最新の開発環境で今後も開発を続けていこうと思います。
エンジニア絶賛募集中!
MESONではUnityエンジニアを絶賛募集中です! XR、空間コンピューティングのプロジェクトに関わってみたい! 開発したい! という方はぜひご応募ください!
MESONのメンバーページからご応募いただくか、TwitterのDMなどでご連絡ください。
書いた人
比留間 和也(あだな:えど)
カヤック時代にWEBエンジニアとしてリーダーを務め、その後VRに出会いコロプラに転職。 コロプラでは仮想現実チームにてXRコンテンツ開発に携わる。 DAYDREAM向けゲーム「NYORO THE SNAKE & SEVEN ISLANDS」をリリース。その後、ARに惹かれてMESONに入社。 MESONではARエンジニアとして活躍中。
またプライベートでもAR/VRの開発をしており、インディー部門でTGSに出展など公私関わらずAR/VRコンテンツ制作に精を出す。プライベートな時間でも開発しているように、新しいことを学ぶことが趣味で、最近は英語を学んでいる。
MESON Works
MESONの制作実績一覧もあります。ご興味ある方はぜひ見てみてください。
Discussion