🐻‍❄️

Devin 2.0の新機能をどのように実践的に組織的に活用するか

に公開

こんにちは。Nishikaのデータサイエンティストの髙山です。
この記事をお読みの皆さんは、すでにDevinをお使いでしょうか?
弊社ではDevin、Cursor、GitHub Copilotといったコーディングエージェントを積極的に活用しています。特にDevinは2月末から運用を開始し、最初はコード量の少ない検証用リポジトリで試した後、現在ではプロダクト開発で使用しているリポジトリへと運用範囲を広げています。

今回は、最近リニューアルされたDevin 2.0の変更点をおさらいしつつ、弊社での具体的な活用事例や使ってみての所感をご紹介したいと思います。

Devin 2.0の変更点

最近発表されたDevin 2.0では、いくつかの重要なアップデートがありました。

  • 開発精度・速度の向上
    • ジュニアレベルの開発タスクにおいて、当初のリリース時と比較して約2倍の速度向上を実現し、ACU(Agent Compute Unit)の消費量も83%削減されました。
  • インタラクティブなタスク実行
    • ユーザーの指示に基づき、Devinが実行計画(タスクリスト)を作成し、ユーザーが確認・承認した上でタスクを実行するようになりました。
  • Devin Wiki (ベータ版)
    • Devin Workspaceにリポジトリを追加すると、しばらくしてシステムのアーキテクチャや設計に関する概要を自動でまとめてくれます。
    • 特にダイアグラム(クラス図やシーケンス図など)の記述に優れており、それらを用いて解説してくれます。
  • Devin Search(ベータ版)
    • 自然言語でリポジトリについて問い合わせできる機能で、他のツールでも実現されている機能です
  • Devin IDEの使いやすさ向上
    • Devinのタスク実行中に、ユーザーが作業を中断して割り込めるようになりました。
  • 新料金プランの追加
    • 月額20ドルから利用可能な「Coreプラン」が導入され、月額500ドルの「Teamプラン」に比べて導入のハードルが下がりました。小規模な組織での利用に適しています。
    • TeamプランとCoreプランの主な違いは以下の通りです。
ポイント Coreプラン Teamプラン
月額料金 20ドル〜 500ドル
1ACUあたりの単価 2.25ドル 2ドル
Devin APIの利用 不可 可能
同時接続数 10まで 無制限
アカウントサポート なし 一部対応

Devin 2.0の内容ではないですが、4/8にタスク管理ツールのLinearとの連携も対応しているようです

Devin 2.0を活用してみて

Devin Wiki(ベータ版)

  • Devin Workspaceにリポジトリを追加することで、自動で作成される
  • 記載される内容はPJによっても異なりますが、プロジェクトのフォルダ構造・アーキテクチャ・データフロー・個別の処理についてまとめてくれる
  • 自動で生成されるものが英語で、日本語にする設定は見当たらない

生成されるドキュメントが日本語ではなく英語である点は少し残念ですが、内容は概ね的確で、プロジェクトの概要を把握するには十分な品質だと感じています。

Devin Search(ベータ版)

自然言語でリポジトリについて問い合わせできる機能で、他のツールでも実現されている機能ですが、以下の3点が画期的だと感じます。

  1. 指示の提案: 問い合わせ内容に基づいて、Devinに実装などを依頼するための具体的な指示を提案してくれる点
  2. リポジトリ横断検索: 複数のリポジトリを横断してシームレスに問い合わせができる点
  3. Slack連携: Slackから直接問い合わせが可能で、プロダクトの仕様確認などが容易になる点
    • CursorなどでSlackのMCPサーバー立てて実現することもできますが、Devinでは標準機能としてSlack連携が提供されており、手軽に利用できるのが魅力です。

指示を提案する画面

特に3点目のSlack連携は、事前に設定しておけば、ビジネス職のメンバーが開発者に技術的な詳細を確認する際の手間を省き、コミュニケーションの効率化につながります。

ダイアグラム作成機能の活用

Devin Wikiがデータフロー図などを生成できることから、弊社で提供している議事録サービスのBI(dbtを使用)リポジトリに関して、ER図を作成し、そのアーキテクチャ概要をREADMEに追記するようDevinに指示してみました。結果として、このタスクをDevinは遂行できました。

指示の際に、mermaid記法で記述すればREADME.mdでプレビューできる点を補足したところ、期待通りの成果物が得られました。

ただし、リポジトリ内のキー制約やメタ情報が完全に整備されていなかったため、ER図でリレーションシップを完全には表現しきれていない部分もありました。これは今回の試みに限らず、生成AIを活用する上で、いかに適切なコンテキスト(この例では設計情報など)を与えるかが重要だと考えます。

Devinに何をお願いするか、開発者は何をするか

Devinはジュニアレベルのエンジニアに相当すると言われており、比較的小さなタスクから依頼するのが良い、といったベストプラクティスは各所で発信されていて、公式ドキュメントでも推奨されています。

Devinの利用価値が高いタスク

  • 複雑性が低く、コーディング量の多いタスク
    • コメントの追加
    • ドキュメントの作成
    • など
  • 範囲の狭いリファクタリング
  • アーキテクチャ、仕様の概要整理
  • バグ調査

Devinはリポジトリを横断してタスクを実行できるため、例えば、BI用リポジトリのドキュメントを充実させる際に、連携しているバックエンドのORM実装を参照させ、テーブル定義のメタデータを自動で追加させるといった活用が可能です。これにより、テーブル構造の理解が捗るようになりました。
定型的な作業が多くコーディング量が嵩むタスクをDevinに任せることで、開発者はより本質的な課題解決に集中しやすくなります。

一方で複雑なタスクが苦手かというと、一定できる感触ではあります。
例えば、人手では半日程度かかると予想されたバグ調査において、発生事象と関連する実装箇所、仕様について補足情報を与えて調査を依頼したところ、短時間で原因を特定できたケースがありました。また、特定の音声認識ライブラリを用いた実装のように、ややニッチな技術領域のタスクであっても、ライブラリの仕様に関する情報を提供することで、Devinと協力してタスクを完了することができました。

要件を明確にしないまま大きいタスクを振ると、都度補足が必要になり手離れが良くないので、タスクを分解して手離れの良い形でDevinに依頼するのがいいのは間違いないです。

Devinとの効果的な連携には工夫が必要ですが、「Devinの利用コスト + 指示にかかるコスト」と「人間が作業した場合のコスト」を比較した場合、トータルでコスト削減につながる場面は少なくないという印象です。

開発者は何をするか

Devinに限らないですが、生成AIに入力するコンテキストをいい感じに管理し、タスクを整理することではないかなと感じています。

先日「Coding Agent at Loft #2 〜 AIコーディング活用事例Night - 効果的な組織導入と実践〜」にも参加させていただいたのですが、1~2ヶ月で小さいタスクから試していき定期的に活用した体験談を持ち寄って、ユースケースや整理すべきナレッジを検討することを繰り返すことが重要だと再認識しました。

ナレッジの整理すらもDevinがやってくれるところはありますが、実装する際の汎用的なルール(変数の命名規則などのお作法)やシステム固有の用語についてはリポジトリの内容のみでは読み取りにくいため、ナレッジに追記し、コンテキストとして提供するのが望ましいと印象です。

まとめ

ここまでいかがでしたでしょうか。
Devinを使用する際にはセキュリティ・コスト面での壁があったり、最初に仮想環境を作成する際に依存するリソースが多いと煩雑になりますが、linterやtestの設定も柔軟にできて、使う環境を整理すれば成果物の質も安定してきて、開発タスクの強力な助っ人になります。

また、Devinへの指示をSlackでみんなですることで開発タスクをどのように進めているのかについても理解を深めることができます。Devinの実行するタスクもセッションの履歴からどのソースを読んで、どこのナレッジを確認して実装したか、その際にどんな動作確認をしたかを追うことができるので、タスクの見える化にも一役勝っているように思えます。

Nishikaについて

Nishikaは2019年に創業、「テクノロジーですべての人が誇りを持てる社会の実現」をビジョンに掲げ、「テクノロジーを、普段テクノロジーからは縁の遠い人にとっても当たり前の存在としていき、皆の仕事の付加価値・業務効率を向上させることに貢献したい」と考え、活動しています。
AIプロダクト事業/AIコンサルティング・開発事業/AI人材事業を手掛け、AIコンサルティング・開発事業では「生成AIを使うと何が嬉しいのか、通り一遍ではない使い方を知りたい」という段階のお客様から、伴走してご支援するアプローチを強みとしています。

https://info.nishika.com/

We're hiring!

Nishikaテックチームでは、「テクノロジーを、普段テクノロジーからは縁の遠い人にとっても当たり前の存在としていく」を目指し、音声AIプロダクトの開発・生成AIを活用した課題解決ソリューションの構築を行なっています。
興味をお持ちいただけた方は、以下リンクからご応募お待ちしています。インターンも募集しております!
https://nishika0507.notion.site/Careers-at-Nishika-25c33efd5f5f43fe99018c8a16ea4444

Nishika Tech Blog

Discussion