giftee Tech Blog

ギフティの開発を支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信しています。

Devinさんどうですか

Hello Devin

こんにちは。ZARAさんのハローキティコラボ ショッパートートバッグ の目力が気になっているギフティ CTO 柳瀬です。

AIソフトウェアエンジニア「Devin」をギフティでも試してみました

最近界隈で話題の「Devin」を、弊社でも試してみました。Devinは、Cognition社が開発した「世界初の完全自律型AIソフトウェアエンジニア」として注目を集めています。コードを書くだけでなく、バグの特定や修正、新機能の実装など、ソフトウェア開発のプロセス全体を自律的に行うことができるとされています。

弊社でも既にGitHub Copilotなどを開発業務に活用していたのですが、今後の開発業務を効率化していく上でこうしたAIの力を最大限活用していく事は必須と考えており、技術組織としての検証や開発プロセスへの取り込みを推進しています。今回の取組もその一環となります。

導入方法や具体的な使い方や基本的な機能の紹介に関しては、公式サイトや他のブログに多く纏まっているので割愛し、私たちがDevinを実際に試用してみて得られた所感をシェアしたいと思います。エンジニアリング組織としてこのようなAIツールをどう捉え、どのように活用できる可能性があるのか、また現時点での限界はどこにあるのかといった点について、実際の体験に基づいた考察をお届けします。

トライアルを通じて得られた所感

強み・良かったこと

まず、どこまでをAIがやっているのかが他ツールと比較して明確で良い、という意見が個人的に印象に残りました。GitHub CopilotやChatGPTなど、すでにいくつかのAIツールを弊社でも導入していますが、個々人のプルリクに対してどこまでこれらによって生成されているか、というのはどうしても隠蔽されます。一方でDevinの成果物に関しては人間とAIの責任分界点が明確です。Devinとは現状口頭でのやりとりができないので、人間がDevinに出した指示は全てテキストとしてチームに可視化される上に、実際にDevinがやっていた事が後からでも画面で確認できることもあり、何を人がやって何をAIがやったかが第三者から見ても極めて明確だなと感じました。

実際のタスクへの対応ですが、ミドルウェアなどのバージョンアップの対応など、プロダクトの機能やビジネスドメインに対する知識が不要なタスクに関しては再現性高く有用なプルリクが上がってきた、というのが総論でした。特に、単純だが多くの箇所への適用が必要なタスクに使うのが良さそうでした。

難しかったこと

まず、検証期間の中では指示の仕方などでDevinの力を引き出し切れている訳では無いかな、と思っています。そのため、「今回の弊社の使い方では難しかった」という文脈で読んでいただければと思います。

一点目として、当該レポジトリ独自のコンテキストの理解を求められるタスクに関しては、検証期間内では上手く対応させきれませんでした。Repo Note欄などを活用したり、指示の出し方を工夫することで変わってくる可能性はありますが、レポジトリごとの暗黙知のようなものが関わってくる場合、明示的に説明しないとDevinには理解できず、うまく対応できませんでした。権限を渡しているからといって必要な情報を上手く取りに行ききってくれる訳ではない、ということですね。

二点目として、抽象度の高いタスクに関してはやはりというかなんというか、迷走してしまう事が多く、停止の指示を出さざるを得ないことがありました。何を明らかにして欲しいか、この進め方でいいかDevinから能動的に聞いてくれればいいのですが、その判断力がまだ少し弱い印象です。不安な場合は、いきなりプルリクを出すのでは無く、対応方針を一旦示させる指示を出すと良さそうです。

ちなみに、公式サイトトップページの Use cases には Personal assistant tasks として、 Online booking and reservations と記載があったので、飲み会のお店の予約も一度お願いしましたが、日本のグルメサイトに慣れていないのか、イマイチ期待した挙動になりませんでした。予約のためにログインが必要になるので、その認証情報をDevinに渡せるか、という議論もありそうです。この辺は各所のMCPサーバなどが整ってくると変わるのかもしれません。

まとめ

あまり使い方をブラッシュアップしきっていない状態でも、自分が別の作業などをしている間に仕事を進めておいてもらい、全体の生産性向上に寄与させることは大いにできそうという手応えを感じました。そのため、弊社では今後もDevinを活用していきたいと思っています。

また、今回はエンジニアのみを対象に触ってもらいましたが、ディレクターやPdMの方がDevinに指示を出し、エンジニアがそのプルリクをレビューするようなコラボレーションの仕方も成り立つイメージがあり、そういったことにもトライしていきたいと思っています。