LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログ

LCLのDevin導入日誌① 〜オンボーディングと導入前にやっておいたこと編〜

SRE兼バックエンドエンジニアの高良です。
弊社はエンジニア全員にCursorを提供したりなど、AI導入による生産性増加の取り組みに力を入れています。
そしてその取り組みの一環として、今かなり勢いのあるDevinを導入しました!🎉 Devin自体は既にあちこちで話題になっていると思うので、細かい概要や使い方については割愛し、事前準備、オンボーディング、初PRの提出までの流れと感想をメインに書いていこうかと思います。

その1: Good First Issueの準備

最初にDevinに渡すタスクを予め用意しておきました。 選んだのはDockerfileの修正タスクだったのですが、こちらもDevinが最初に稼働することを踏まえて選んだものでした。主なポイントは下記です。

  • 通常の開発タスクと違ってアプリケーションコード本体は触れない
    • そのため環境構築の手間が少ない
    • APIから参照するデータの準備が不要
      • seedデータの投入など、バックエンド周りの準備をしなくてもOK

その2: 投入するプロンプトの準備

Good First Issueは決まっていたので、そちらを実行してもらうためのプロンプトをCursorに壁打ちしながら作ってもらいました。
Devinに触れた感想を読み漁る中で共通していたのは、指示を具体的にするほど精度が上がるという点です。結果として初回の実行はとてもスムーズに進めてくれたので、今後もAIに壁打ちしながらプロンプトを作成してもらう、というのは最初に必ずやっておきたいと感じました。

その3: Devinの初出勤を眺める会を開催した

Devinの導入準備を進めているという共有をして以降、ありがたいことにすれ違いざまに「今Devinどんな感じ?」と複数人からよく聞かれるようになりました。
折角なので初回は皆で一緒に見たいと思い、MTGの開催に至りました。
結果、オンラインを含めてエンジニアの半数以上のメンバーが集まってワイワイ見ることができて盛り上がりました。
実際に与えたプロンプトやそれを処理する様子をリアルタイムで共有できたので、今後他のメンバーにDevinを使ってもらう際のオンボーディングとしても有用だったと感じています。

初回のタスク実行

プロンプトを投げた後、20分ちょっとで作業を完了しPRを提出してくれました。
結果、与えたissueはしっかりビルドも通る状態で実装されており、現時点で想定を上回る完成度でした。
あまりドメイン知識に依存しないシンプルなタスクだったということもありますが、扱いが難しいという意見も多く聞いており、過剰に期待していなかったこともありそうです。

また、Devin自体の操作体験も良好でした。SlackやGithubなど外部の連携周りで少し苦戦するかなと思っていたのですが、結果一度も詰まることなくスムーズに導入〜利用まで進められました。
ゆくゆくはエンジニアチーム全員が適切に使いこなして、手が届かず溜まっているタスクをガンガンDevinに割り振れる状態になれば嬉しい限りです。

思ったこと

タスクを終えて思ったこととして、 開発作業AI前提になりどれだけ効率化されても、最終的に人間がボトルネックになる点は変わらない ということを改めて強く感じました。(少なくとも現段階では)

今回はDockerfileを手入れしてもらったんですが、私自身のマルチステージビルドの知識が浅く、成果物の完成度を測るまでに時間がかかり、そのことを己の身で痛感しました…

CursorがDevinの成果物をべた褒めしている一方、人間のレビューが遅れてボトルネックになっている図

AIを使っても自分が持っている知識以上の事を引き出すことは難しいため、これからインプットは絶やさず精進していこうかと思います。

補足: Cursorはこちらの記事を参考に後輩ギャルの人格をインストールさせています。
作業がとても捗るのでオススメです。 zenn.dev