Slide 1

Slide 1 text

© 2024 Loglass Inc. 0 © 2024 Loglass Inc. AI駆動開発(AI-Driven Development) 勉強会(第6回) #AI駆動開発 Devin入門 月500ドルから始まる AIチームメイトとの開発 r.kagaya 2025.3.10

Slide 2

Slide 2 text

© 2024 Loglass Inc. 1 自己紹介 新卒でヤフー株式会社に入社、ID連携システムの開発 2022年に株式会社ログラスに入社 経営管理SaaSの開発、開発生産性向上に取り組んだのち、 生成AI/LLMチームを立ち上げ、複数LLM機能の開発を リード 現在は新規プロダクトの立ち上げに従事 株式会社ログラス ソフトウェアエンジニア r.kagaya(@ry0_kaga)

Slide 3

Slide 3 text

© 2024 Loglass Inc. 2 今日の内容 ● 話すこと ○ Devinの概要、機能紹介 ○ 活用 / 試行錯誤の事例を触り程度 ● 話さないこと ○ 他AI開発ツールとの詳細な比較 ○ 細かいDevin活用のtipsの詳細 今日のゴール: Devinを触ったことがない人が、どのようなツールかイメージができる

Slide 4

Slide 4 text

© 2024 Loglass Inc. 3 より詳細な事例・試行錯誤を知れる会は別イベントで ● 3/26にDevin臨時会を開催予定 https://aid.connpass.com/event/347052/

Slide 5

Slide 5 text

© 2024 Loglass Inc. 4 Devinとは

Slide 6

Slide 6 text

© 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

Slide 7

Slide 7 text

© 2024 Loglass Inc. 6 Devinの基本的な利用フロー ● Web UI / Slackで指示を受け、DevinがPRを作成するまでが一連の流れ

Slide 8

Slide 8 text

© 2024 Loglass Inc. 7 Devinの基本的な利用フロー ● 弊社はtimes_devinから指示出してる

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

© 2024 Loglass Inc. 11 機能紹介②: Secrets & Site Cookies ● 要するに環境変数 ● Devinがシークレットを用いてセッション内で利用する ● 3パターン: ○ セッション固有: 現在の会話のみで有効 ○ グローバル: すべてのセッションで利用可能 ○ リポジトリ固有: 特定のリポジトリに限定 ● Cookie形式での保存やシェアも可能 ● One-Time Password (TOTP) も対応

Slide 13

Slide 13 text

© 2024 Loglass Inc. 12 機能紹介③: Interactive Browser ● Devin自体にツールとしてWebブラウジング機能がある ● Devinが自動操作できない認証画面、複雑なWebインターフェースの操作、UI確認時に ユーザーがDevinブラウザの直接操作が可能 ● 主な用途: ○ CAPTCHA認証の完了 ○ 複雑なWebサイトのナビゲーション ● (軽く試したのみ、ブラウザ操作はとてももっさりしている)

Slide 14

Slide 14 text

© 2024 Loglass Inc. 13 機能紹介④: Devin API ● 現在はアルファ版 ● API経由でDevinのセッションを実行可能 ● エンドポイント ○ セッション作成 ○ セッション詳細取得 ○ メッセージ送信 ○ ファイルアップロード ○ セッション一覧取得 ○ シークレット管理 https://docs.devin.ai/api-reference/overview

Slide 15

Slide 15 text

© 2024 Loglass Inc. 14 機能紹介④: Devin APIのユースケース Devinを用いてDevinのE2Eテストを行う実装が公式で公開されている Devinのブラウザ機能を使った自動テスト ログイン、セッション作成、メッセージ送信 Devin、GitHub、Slackを連携させたテスト 特定条件下でのUI状態や応答を検証 https://github.com/CognitionAI/qa-devin

Slide 16

Slide 16 text

© 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チームでの事例

Slide 17

Slide 17 text

© 2024 Loglass Inc. 16 Devinは結局何ができる?

Slide 18

Slide 18 text

© 2024 Loglass Inc. 17 ● URLを元に文言 や適切にボタンが 押下できるか、ス クショ撮影 検証フェーズとして色々実験的に利用中 機能開発だけでなく、ドキュメンテーションや細かい修正、一度行った修正を別クラスにも反映す る等の軽微・反復的タスクを任すことが多い ● ソースコードを元に したREADMEや setup手順 ● ドメイン・アプリケー ション層のコードを 元に仕様の生成 (Alloy) ● 日英翻訳 Devinに何を任せているか? 機能開発 ドキュメント UIテスト 微修正 ● CRUDエンドポイント の作成 ● 知見がないライブラ リでのサンプル実装 ● CIワークフローの作 成 ● 文言修正 ● コードベースの調 査 ● 実装中に見つけた リファクタタスク

Slide 19

Slide 19 text

© 2024 Loglass Inc. 18 ブラウザ操作・UIテスト Webサイトの文言やUIレビュー、最後にスクショを撮ってSlackに投稿

Slide 20

Slide 20 text

© 2024 Loglass Inc. 19 Devinを使いこなすための試行錯誤① ● 仕様ドキュメントを可能な限り、Githubリポジトリにまとめる ○ Notionにログインして参照させることも可能かもしれないが、流石に行ってない ● ディレクトリ・レイヤー毎の命名規則をルール化して、命名規則ドキュメントを作る ○ 新しいファイルを作成する時などに、命名規則ドキュメントを参照させる ● domain,usecase等の単位でディレクトリ切るのではなく、usersディレクトリの中に 全てまとめてみる ● デザインシステム・社内UIライブラリを効果的に活用するための、レギュレーションファイ ルを作成 ● 形式手法Alloyをベースに連携させたりもしてたが、Alloy自体をマスターできていない Devinが上手く動かなったタイミングで、ドキュメントやナレッジを都度足して行った

Slide 21

Slide 21 text

© 2024 Loglass Inc. 20 Devinを使いこなすための試行錯誤② ● 最近はDevinのナレッジ側でcursorrulesを参照するように仕込むなどで、Cursorと Devinを同時に利用するためにナレッジ等を統合している途中 ○ Devin、Cursorで各々違うところでよく間違うようになって、メンテ考え始めた ○ (一方で、Devinのナレッジはトリガー指定できるので、参照タイミングがわかりやす い・コントローラブルに感じて良い) ● CursorのpluginでDevinを入れる、要件や仕様をまとめてタスクに分解した後に細か くセッション作成する ● DevinにcursorrulesやAI向けのドキュメント更新させたり Cursor + Devinでの使い分けを上手く行いたい

Slide 22

Slide 22 text

© 2024 Loglass Inc. 21 Devinを使いこなすための試行錯誤③ ● APIの存在を知ったので、Devinを組み込んだAIワークフローの構築を模索中 ○ 特定のラベル(文言修正など)のイシューが生成されたタイミングでAPIで自動実行すると か ● To be continued...

Slide 23

Slide 23 text

© 2024 Loglass Inc. 22 Devinへの感想

Slide 24

Slide 24 text

© 2024 Loglass Inc. 23 Devinの現在地 基本的に人間の指示を受けて動き出す (タスクの分割なども求められる) 人間による指示以外をトリガーに、自律的に 開発できるとまた違った形で活用可能な世界 になる (API活用したら今でも近い挙動は作れる) 今はここのイメージ

Slide 25

Slide 25 text

© 2024 Loglass Inc. 24 Devinへの感想 ● 「自分付きのジュニアエンジニア・インターン」役をこなしてくれるイメージ ● エンジニアが自身のコーディングの生産性を高める上ではまずCursor,Windsurf,Cline ● マルチタスクになりますか? -> なります ○ Devinに任せるタスクを考えるのに疲れて、結局Devinを放置してる時がある ○ その上で割とカオスなPRを出してくることもある(指示等が悪いのは悪い) ● Cursor、Windsurf、Clineとは基本は別物だと捉えている。 ○ (Agentモードがあるので説明難しいが) 自分の作業時の生産性を上げるのがCursor、 自分のタスク・雑務をオフロードするのがDevin ○ MTG中でも移動中でもDevinに並列でタスクを任せておける ○ 出社前後にタスクを一気に依頼しておいて、移動後に確認したりできる

Slide 26

Slide 26 text

© 2024 Loglass Inc. 25 Devinへの感想 ● 「AIによる自動化が進む中でも、人間が最後の30%を補完しなければならず、熟練したプロ グラマーの知識が依然として不可欠」 ○ -> Devinでも似たように、最後自分で引き取って直したり、逆に見本となる実装を一つ作 り、それを参考にDevinに任せたり ● 移動中にSlackで指示を出せるのは便利 ○ 個人的には気に入っている、タスクを考えておいて帰宅前にDevinに投げる ● コード変更に伴うREADMEやドキュメントの差分更新を任せる、APIで処理をキックすること でより自動化したワークフローを組むことも可能 ● どうしてもDevinのタスク・指示を考えるのが最初のネックになる。最近はこの辺りを効率化で きないか考えている ○ e.g.) Superwhisperで音声入力、拡張機能を入れてCursorから指示、特定のラベル(文 言修正など)のイシューが生成されたタイミングでAPIで自動実行

Slide 27

Slide 27 text

© 2024 Loglass Inc. 26 AIの活躍領域を増やすための情報アクセス性と問題の構造化(ざっくり)

Slide 28

Slide 28 text

© 2024 Loglass Inc. 27 AIの活躍領域を増やすための情報アクセス性と問題の構造化(ざっくり) Devinで当てはめてみると

Slide 29

Slide 29 text

© 2024 Loglass Inc. 28 AIの活躍領域を増やすための情報アクセス性と問題の構造化(ざっくり) 細かく指示しなくても そこそここなしてくれる 一番イージーではあるが、どれだけタスクがあ るか?

Slide 30

Slide 30 text

© 2024 Loglass Inc. 29 AIの活躍領域を増やすための情報アクセス性と問題の構造化(ざっくり) 丁寧な指示、タスク分解は必要 ただそれなりに上手くいく Devinではないが、CPPの高速化のPRのほとん どを書いたぜ!の事例も

Slide 31

Slide 31 text

© 2024 Loglass Inc. 30 AIの活躍領域を増やすための情報アクセス性と問題の構造化(ざっくり) ナレッジやコンテキスト、明確な指示 があれば十分こなせる まずはここでDevinを使いたい

Slide 32

Slide 32 text

© 2024 Loglass Inc. 31 AIの活躍領域を増やすための情報アクセス性と問題の構造化(ざっくり) 個人的にはPdM・デザイナーがDevin で開発するなどの夢を見たい (文言修正程度から。Devinならgitとかお作法も 考えなくて済む点はメリット?) ナレッジやコンテキスト、明確な指示 があれば十分こなせる まずはここでDevinを使いたい

Slide 33

Slide 33 text

© 2024 Loglass Inc. 32 AIの活躍領域を増やすための情報アクセス性と問題の構造化(ざっくり) 短期では人間がwith AIで頑張る方が早い Devinが解けるだけの前準備・環境整備の難 易度やコストの問題

Slide 34

Slide 34 text

© 2024 Loglass Inc. 33 AIの活躍領域を増やすための情報アクセス性と問題の構造化(ざっくり) (簡単の定義はさておき && 少し軸とずれるが) より簡単な問題にするための工夫や AIフレンドリーなアーキテクチャ選定も求めら れる

Slide 35

Slide 35 text

© 2024 Loglass Inc. 34 まとめ

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

© 2024 Loglass Inc. 37 未来の開発組織はどう変化するのか(妄想) ナレッジマネジメント ● AIが効率的に理解できるドキュメントフ ロー ● 社内固有ナレッジの体系的文書化(ク ローズドドメインの構造化) ● コンテキスト整備活動の評価・継続的 改善 組織文化の変換 ● エンジニアの技術的スキルセットの再 定義 ● e.g) AIエージェントが『考慮していない 問題』を特定できる人 ● 「AIに何を任せるべきか」、「信頼しすぎ ない、疑いすぎない」 ● 人間が1日8時間難しい仕事だけやるこ とになった際の我々のメンタル

Slide 39

Slide 39 text

© 2024 Loglass Inc. 38 まとめ ● DevinはCursor等とは異なる、AIチームメイト体験の試遊できる ● ナレッジやプレイブックの整備を行えば、今でもDevinが行えるタスクは十分あるが、複雑な 機能開発は基本的に公式にスコープ外 ● MTG中や移動中に指示しておけば、PRが生成されるのは新体験 ○ Devinはマルチタスクに慣れている人の方がスムーズに利用してる印象 ● 人間 with Copilot + agentモード vs 自律型Agentのどっちにタスクを任せるか?どう効率的 にAIを活用するか?の綱引きや設計が重要度を増す ● Devinがもっと進化した世界で開発組織・プロセスがどうなるか考えるのはエキサイティング

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

© 2024 Loglass Inc. 40