Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Devin入門 〜月500ドルから始まるAIチームメイトとの開発生活〜 / Introduct...

Devin入門 〜月500ドルから始まるAIチームメイトとの開発生活〜 / Introduction Devin 〜Development With AI Teammates〜

2025年3月10日のAI駆動開発(AI-Driven Development) 勉強会(第6回)の登壇資料です

https://aid.connpass.com/event/344773/

r-kagaya

March 10, 2025
Tweet

More Decks by r-kagaya

Other Decks in Programming

Transcript

  1. © 2024 Loglass Inc. 0 © 2024 Loglass Inc. AI駆動開発(AI-Driven

    Development) 勉強会(第6回) #AI駆動開発 Devin入門 月500ドルから始まる AIチームメイトとの開発 r.kagaya 2025.3.10
  2. © 2024 Loglass Inc. 2 今日の内容 • 話すこと ◦ Devinの概要、機能紹介

    ◦ 活用 / 試行錯誤の事例を触り程度 • 話さないこと ◦ 他AI開発ツールとの詳細な比較 ◦ 細かいDevin活用のtipsの詳細 今日のゴール: Devinを触ったことがない人が、どのようなツールかイメージができる
  3. © 2024 Loglass Inc. 5 Devinの特徴を表す言葉(公式サイトより抜粋) 複数の指示(セッション)を並行して、動かすことがで き、Slack、Githubなどのツールと連携して動作する 正しいかどうかをすぐに確認できる、判断基準・失敗 条件が明確などの、一定の指示の元、ある程度わか

    りやすいタスクを任せる Devin is a collaborative AI teammate Treat Devin like a junior engineer https://devin.ai/ 既存の開発フローやプロセスの中に入り込ませるの が効果的 Most effective when part of a team or existing workflow 小規模でスコープが明確なタスクが適任。複雑な場 合はタスクを分割して、別々のセッションで実行する ことを推奨 Devin generally performs better on smaller, clearly scoped tasks
  4. © 2024 Loglass Inc. 6 Devinの基本的な利用フロー • Web UI /

    Slackで指示を受け、DevinがPRを作成するまでが一連の流れ
  5. © 2024 Loglass Inc. 8 機能紹介①: Knowledge • 知識を覚えさせる ≒

    Devinのオンボーディングを行う機能 • 関連性に応じて自動的にナレッジ参照 • チャット履歴に基づいたナレッジの自動提案 • トリガーとコンテンツで構成 ◦ トリガー: Devinが知識を適切なタイミングで呼び出すためのキーワード・文章(`xリポ ジトリにPRを出す時`) ◦ コンテンツ: 関連情報を含む数文の説明 • いわゆるプロンプトテンプレート機能に該当するPlaybookも別にある 定義されたトリガーに関連する場合はコンテンツをコンテキストに含めるシンプル設計
  6. © 2024 Loglass Inc. 9 機能紹介①: Knowledge • 効果的なナレッジのコツ 特定のワークフローや行動に焦点を当てた具体的な内容にする

    可能な限り小さく分割する(Devinは複数のナレッジに同時アクセス可能) 定期的な追加・更新を習慣にする(組織全体で共有・改善) 内容は関連性が高く最新の状態を維持する
  7. © 2024 Loglass Inc. 10 機能紹介①: Knowledge • 効果的なナレッジのコツ 特定のワークフローや行動に焦点を当てた具体的な内容にする

    可能な限り小さく分割する(Devinは複数のナレッジに同時アクセス可能) 定期的な追加・更新を習慣にする(組織全体で共有・改善) 内容は関連性が高く最新の状態を維持する トリガーとコンテンツ 「特定リポジトリにPRを出す」際に、 「PRの変更行数を200行を目安にす る」ナレッジを登録
  8. © 2024 Loglass Inc. 11 機能紹介②: Secrets & Site Cookies

    • 要するに環境変数 • Devinがシークレットを用いてセッション内で利用する • 3パターン: ◦ セッション固有: 現在の会話のみで有効 ◦ グローバル: すべてのセッションで利用可能 ◦ リポジトリ固有: 特定のリポジトリに限定 • Cookie形式での保存やシェアも可能 • One-Time Password (TOTP) も対応
  9. © 2024 Loglass Inc. 12 機能紹介③: Interactive Browser • Devin自体にツールとしてWebブラウジング機能がある

    • Devinが自動操作できない認証画面、複雑なWebインターフェースの操作、UI確認時に ユーザーがDevinブラウザの直接操作が可能 • 主な用途: ◦ CAPTCHA認証の完了 ◦ 複雑なWebサイトのナビゲーション • (軽く試したのみ、ブラウザ操作はとてももっさりしている)
  10. © 2024 Loglass Inc. 13 機能紹介④: Devin API • 現在はアルファ版

    • API経由でDevinのセッションを実行可能 • エンドポイント ◦ セッション作成 ◦ セッション詳細取得 ◦ メッセージ送信 ◦ ファイルアップロード ◦ セッション一覧取得 ◦ シークレット管理 https://docs.devin.ai/api-reference/overview
  11. © 2024 Loglass Inc. 14 機能紹介④: Devin APIのユースケース Devinを用いてDevinのE2Eテストを行う実装が公式で公開されている Devinのブラウザ機能を使った自動テスト

    ログイン、セッション作成、メッセージ送信 Devin、GitHub、Slackを連携させたテスト 特定条件下でのUI状態や応答を検証 https://github.com/CognitionAI/qa-devin
  12. © 2024 Loglass Inc. 15 how Devin works with the

    Cognition team https://github.com/CognitionAI/qa-devin • 朝一で複数の ToDoタスクを Devinに依頼 • 昼頃には複数のド ラフトPRがレ ビュー待ち状態に • コンテキストスイッ チを避けるためのリ ファクタリング委任 • 集中を維持しながら 副次的タスクを進行 Slackでのバグ対応 IDEから依頼 ToDoリスト処理 顧客対応の自動化 • チームメンバーとの バグ議論スレッドで Devinをタグ付け • リアルタイムでコンテ キストを把握し解決 策を提案・実装 • 共有Slackチャンネ ルで顧客から上 がった機能リクエ ストにDevinをタグ 付け • カスタマーサポート と開発の橋渡し 開発元のCognitionチームでの事例
  13. © 2024 Loglass Inc. 17 • URLを元に文言 や適切にボタンが 押下できるか、ス クショ撮影

    検証フェーズとして色々実験的に利用中 機能開発だけでなく、ドキュメンテーションや細かい修正、一度行った修正を別クラスにも反映す る等の軽微・反復的タスクを任すことが多い • ソースコードを元に したREADMEや setup手順 • ドメイン・アプリケー ション層のコードを 元に仕様の生成 (Alloy) • 日英翻訳 Devinに何を任せているか? 機能開発 ドキュメント UIテスト 微修正 • CRUDエンドポイント の作成 • 知見がないライブラ リでのサンプル実装 • CIワークフローの作 成 • 文言修正 • コードベースの調 査 • 実装中に見つけた リファクタタスク
  14. © 2024 Loglass Inc. 19 Devinを使いこなすための試行錯誤① • 仕様ドキュメントを可能な限り、Githubリポジトリにまとめる ◦ Notionにログインして参照させることも可能かもしれないが、流石に行ってない

    • ディレクトリ・レイヤー毎の命名規則をルール化して、命名規則ドキュメントを作る ◦ 新しいファイルを作成する時などに、命名規則ドキュメントを参照させる • domain,usecase等の単位でディレクトリ切るのではなく、usersディレクトリの中に 全てまとめてみる • デザインシステム・社内UIライブラリを効果的に活用するための、レギュレーションファイ ルを作成 • 形式手法Alloyをベースに連携させたりもしてたが、Alloy自体をマスターできていない Devinが上手く動かなったタイミングで、ドキュメントやナレッジを都度足して行った
  15. © 2024 Loglass Inc. 20 Devinを使いこなすための試行錯誤② • 最近はDevinのナレッジ側でcursorrulesを参照するように仕込むなどで、Cursorと Devinを同時に利用するためにナレッジ等を統合している途中 ◦

    Devin、Cursorで各々違うところでよく間違うようになって、メンテ考え始めた ◦ (一方で、Devinのナレッジはトリガー指定できるので、参照タイミングがわかりやす い・コントローラブルに感じて良い) • CursorのpluginでDevinを入れる、要件や仕様をまとめてタスクに分解した後に細か くセッション作成する • DevinにcursorrulesやAI向けのドキュメント更新させたり Cursor + Devinでの使い分けを上手く行いたい
  16. © 2024 Loglass Inc. 24 Devinへの感想 • 「自分付きのジュニアエンジニア・インターン」役をこなしてくれるイメージ • エンジニアが自身のコーディングの生産性を高める上ではまずCursor,Windsurf,Cline

    • マルチタスクになりますか? -> なります ◦ Devinに任せるタスクを考えるのに疲れて、結局Devinを放置してる時がある ◦ その上で割とカオスなPRを出してくることもある(指示等が悪いのは悪い) • Cursor、Windsurf、Clineとは基本は別物だと捉えている。 ◦ (Agentモードがあるので説明難しいが) 自分の作業時の生産性を上げるのがCursor、 自分のタスク・雑務をオフロードするのがDevin ◦ MTG中でも移動中でもDevinに並列でタスクを任せておける ◦ 出社前後にタスクを一気に依頼しておいて、移動後に確認したりできる
  17. © 2024 Loglass Inc. 25 Devinへの感想 • 「AIによる自動化が進む中でも、人間が最後の30%を補完しなければならず、熟練したプロ グラマーの知識が依然として不可欠」 ◦

    -> Devinでも似たように、最後自分で引き取って直したり、逆に見本となる実装を一つ作 り、それを参考にDevinに任せたり • 移動中にSlackで指示を出せるのは便利 ◦ 個人的には気に入っている、タスクを考えておいて帰宅前にDevinに投げる • コード変更に伴うREADMEやドキュメントの差分更新を任せる、APIで処理をキックすること でより自動化したワークフローを組むことも可能 • どうしてもDevinのタスク・指示を考えるのが最初のネックになる。最近はこの辺りを効率化で きないか考えている ◦ e.g.) Superwhisperで音声入力、拡張機能を入れてCursorから指示、特定のラベル(文 言修正など)のイシューが生成されたタイミングでAPIで自動実行
  18. © 2024 Loglass Inc. 35 未来の開発組織はどう変化するのか(妄想) 組織構造の進化 • ハイブリッド and

    マイクロチーム編成? ◦ 人間+複数のAIエージェント • 中規模以上のチームでの開発はどう変 わる? • AIエージェント時代のtwo pizza rule • 人間同士のコミュニケーションからAI to 人間、AI to AIのコミュニケーションの最 適化 エンジニアの役割のシフト • 「コードを書く人」から「AIを活用し業務 設計する人」への変化 • AIオンボーディング専任で責務を持つ 役割の登場 • 組織固有の知識やドメイン情報をAIに 効果的に伝える/環境整備する能力の 重要性
  19. © 2024 Loglass Inc. 36 未来の開発組織はどう変化するのか(妄想) 開発プロセスの変化 • 非同期開発モデル ◦

    日中に設定した指示に基づき、 Devinが夜間に自律的に開発を進 行 • レビュープロセスの逆転(AIが生成、人 間がレビュー) • 自動生成されたコードの責任所在と QA・品質保証の問題が顕著に 開発組織の優位性の変化 • 「クローズドドメインでの複雑な問題」を いかに効率的に解決させるか?、いか に増やせるか? • AIチームメイトに「教えられない」スキル はあるか?
  20. © 2024 Loglass Inc. 37 未来の開発組織はどう変化するのか(妄想) ナレッジマネジメント • AIが効率的に理解できるドキュメントフ ロー

    • 社内固有ナレッジの体系的文書化(ク ローズドドメインの構造化) • コンテキスト整備活動の評価・継続的 改善 組織文化の変換 • エンジニアの技術的スキルセットの再 定義 • e.g) AIエージェントが『考慮していない 問題』を特定できる人 • 「AIに何を任せるべきか」、「信頼しすぎ ない、疑いすぎない」 • 人間が1日8時間難しい仕事だけやるこ とになった際の我々のメンタル
  21. © 2024 Loglass Inc. 38 まとめ • DevinはCursor等とは異なる、AIチームメイト体験の試遊できる • ナレッジやプレイブックの整備を行えば、今でもDevinが行えるタスクは十分あるが、複雑な

    機能開発は基本的に公式にスコープ外 • MTG中や移動中に指示しておけば、PRが生成されるのは新体験 ◦ Devinはマルチタスクに慣れている人の方がスムーズに利用してる印象 • 人間 with Copilot + agentモード vs 自律型Agentのどっちにタスクを任せるか?どう効率的 にAIを活用するか?の綱引きや設計が重要度を増す • Devinがもっと進化した世界で開発組織・プロセスがどうなるか考えるのはエキサイティング
  22. © 2024 Loglass Inc. 39 Appendix • Docs Devin •

    月500ドルから始まる“AIチームメイト”との開発生活 〜Devinとの理想の開発プロセスを求め て〜