イベント登壇レポート『Devinで実践する!AIエージェントと協働する開発組織の作り方』〜スケールアップ、スケールアウト、アンビエントでエージェントの役割分担を行う〜

ジェネラティブエージェンツの西見です。

2025年5月28日に、Findy様主催のオンラインイベント「AIエージェントのオンボーディング -ヒトとAIの協同を支える"役割設計"とは」に登壇させていただきました。本記事では、「Devinで実践する!AIエージェントと協働する開発組織の作り方」と題した講演内容についてレポートします。

speakerdeck.com

findy.connpass.com

開発組織におけるエージェントの役割分担

開発組織でAIエージェントを効果的に活用するためには、まずエージェントの特性を理解し、適切な役割分担を行うことが重要です。私は開発支援におけるAIエージェントを、その動作特性から3つのパターンに分類しています。

スケールアップ型:同期的な開発支援

Cursorのようなエディター統合型のAIエージェントは、開発者と対話しながら同期的に開発を支援します。エディターの右側にあるチャットパネルでAIエージェントと対話し、「一緒に話し合いながら開発を進めていく」という特徴があります。

この同期的な支援により、開発者は即座にフィードバックを受けながら、まるでペアプログラミングをしているかのような体験を得られます。個々の開発者の生産性を向上させる「スケールアップ」として機能し、特に複雑な実装や設計判断が必要な場面で威力を発揮します。

スケールアウト型:非同期的な開発支援

一方、Devinに代表される非同期型エージェントは、「この仕事をお願いします」という形で、タスクを委託され、AIエージェントが独立して作業を進めます。

開発者が「これとこれとこれとこれをやっといてね」という形で複数のタスクを同時に依頼でき、エージェントはそれらを並列処理します。仕事を完全に任せきることにより、人間の関与は減少します。AIエージェントにどれだけ仕事を依頼できるかが、生産性向上の鍵を握ります。

アンビエントエージェント:イベント駆動型の自動対応

第3のパターンは、LangChainのファウンダーが命名した「アンビエントエージェント」です。これは特定のイベントに反応して自動的に動作する(イベント駆動)エージェントで、次のような場面で活躍します。

  • ライブラリの依存関係に更新があった際の自動アップデート(GitHub Dependabotのような動作)
  • 500エラーなどの障害が発生した際の初期対応と調査
  • セキュリティ脆弱性が報告された際の影響範囲の特定と対策の提案

これらのエージェントは、開発者が明示的に指示を出さなくても、バックグラウンドで開発プロセスを支援し続けます。開発者の確認が必要な局面でだけ、通知が来る形になります。

Devinのオンボーディング:段階的アプローチの重要性

今年2月に公開した「Devinを1ヶ月運用した結果レポート」での重要な学びは「自律的検証が可能な細かいタスクにおいて成果を出した」ということでした。つまり、Devinが一人で完結できるタスクを適切に見つけ、段階的に能力を拡張していくアプローチが成功の鍵となります。先ほど述べた通り、スケールアウトではAIエージェントにどれだけ仕事を依頼できるかがポイントになります。

blog.generative-agents.co.jp

次に紹介するのは、このようなスケールアウト型のAIエージェントをオンボーディングするためのステップです。具体性を増すために、Devinを例にして紹介します。

ステップ1:環境のセットアップ - 基盤を整える

人間の新入社員と同様に、AIエージェントも「何も知らない状態では働けない」という基本原則があります。Devinの場合、まずはリポジトリとマシンのセットアップを適切に行うことが重要です。

  • プロジェクトの基本構成とディレクトリ構造の理解
  • 必要な開発ツールと依存関係のインストール
  • テスト実行方法とビルドプロセスの定義

特に効果的だったのは、DevContainerの活用です。DevContainerを使用することで、環境構築が標準化され、Devinへの指示も「このDevコンテナを使って環境を構築して」というシンプルなものになります。これにより、環境構築でつまずくことなく、本来のタスクに集中できるようになります。

blog.generative-agents.co.jp

ステップ2:伴走しながらの学習 - 実践的な知識の伝達

完璧なドキュメントを最初から用意するのは現実的ではありません。むしろ、「こまめにチャットしながら伴走し、ここってこうするんだよ、ここってこうするんだよという風なアドバイスをしながら作っていく」アプローチが効果的です。

この段階では、以下のような進め方を推奨します。

  • 初期段階:基本的なコード規約の共有

    • プロジェクトで使用している命名規則
    • コメントの書き方やドキュメンテーションのスタイル
    • 基本的なエラーハンドリングのパターン
  • 中期段階:プロジェクト固有のパターンの教育

    • APIエンドポイントの設計規約
    • データベースアクセスのパターン
    • 認証・認可の実装方法
  • 後期段階:より高度な判断基準の共有

    • パフォーマンスと可読性のトレードオフ
    • セキュリティ上の考慮事項
    • チーム固有のベストプラクティス

ステップ3:プレイブックとナレッジの整備 - 知識の体系化

より確実な作業遂行を実現するために、Devinの「プレイブック」機能を活用します。プレイブックは作業手順書として機能し、定型的な作業の品質と再現性を向上させます。

プレイブックには次のような内容を含めると効果的です。

  • 定型作業の手順化

    • フィーチャーブランチの作成から初期セットアップまでの手順
    • リリース前のチェックリストと実行コマンド
    • 障害対応時の初動手順
  • 注意事項とベストプラクティスの文書化

    • よくある失敗パターンとその回避方法
    • パフォーマンス最適化のチェックポイント
    • セキュリティレビューの観点

ナレッジにはDevinが作業を遂行する際の失敗モードを分析し、失敗モードに入らないような補助情報を登録するような形で整備します。

Devinの活用時に理解すべき2つの仕組み

ワークスペースの仕組み

Devinのワークスペース構造は、多くの人が誤解しやすいポイントです。各リポジトリが完全に独立した環境を持っているわけではなく、一つの大きなマシンのワークスペースの中で、各リポジトリがディレクトリとして管理されています。

  • 共有される要素

    • システムレベルの依存関係(Python、Node.js、.NETなど)
    • グローバルにインストールされたツール
    • 基本的な開発環境設定
  • 分離される要素

    • 各リポジトリのソースコード
    • プロジェクト固有の設定ファイル
    • ローカルの依存関係

作業セッション開始時には、このワークスペース全体がコピーされ、独立したVMで実行されます。この仕組みを理解することで、より効率的な環境設計が可能になります。

ナレッジシステムの構造

Devinのナレッジシステムはシステムナレッジとユーザーナレッジの二階層で構成されています。

システムナレッジには2つのサブカテゴリーがあります。

  1. ビルトインナレッジ
  2. 開発元が定義した基本的な開発手法(バックエンド開発、フロントエンド開発の一般的なベストプラクティスなど)。これらは変更できませんが、有効/無効の切り替えは可能です。

  3. リポジトリインデックス

  4. Devinが作業中に自動的に更新する知識。コードベースの構造、使用されているパターン、頻出する実装方法などを学習し、時間とともに精度が向上します。

また、ユーザーナレッジはユーザー(組織)固有の開発規約やベストプラクティスを自由に追加・編集できる領域です。ここに登録された知識は、Devinの判断基準として参照されます。

組織的なナレッジマネジメント戦略

私たちの組織では、個人の開発環境(Cursor、Claude Code)とDevinで分散してしまうナレッジを統合管理するシステムを構築しています。

開発者がローカル環境で使用するCursorやClaude Codeでは、個別にナレッジが蓄積されます。一方、Devinはタスクの依頼者との対話を通じて新たな発見をし、「このパターンはパフォーマンスが悪くなる」「このコードはDRY原則に反している」といったナレッジを生成します。これらの分散した知識を一箇所に集約し、組織全体でナレッジを育てていける仕組みを構築することが重要です。

これはあくまで私たちの組織にとってのブループリントであり、どのようにナレッジを育てていくかは技術戦略として各組織が考えるべき検討事項だと考えています。重要なのはAIエージェントと共に継続的な開発・リリース・運用を実現することであり、人間とAIエージェントが共に働きやすい開発組織を構築していく視座がポイントになります。

まとめ

1. 役割分担のポイント:エージェントの特性とタスクの特性を考える

エージェントを効果的に活用するためには、それぞれの特性を理解し、タスクの性質に応じて適切に選択することが重要です。都度のフィードバックが必要な複雑な作業にはCursorやClaude Codeのような同期型エージェントを、定型的で自己完結可能なタスクにはDevinのような非同期型エージェントを、そしてイベント駆動でバックグラウンド動作できるような作業にはアンビエントエージェントを活用します。

2. オンボーディングのポイント:焦らずにやれることを一つずつ増やしていく

完璧を求めるのではなく、段階的にエージェントの能力を引き出していくアプローチが効果的です。最初から完全な環境を整備しようとすると、準備に時間がかかりすぎて実際の価値を生み出すまでに疲弊してしまいます。小さな成功体験を積み重ねながら、徐々に任せられるタスクの範囲を広げていくことが重要です。

3. ナレッジマネジメントのポイント:開発者もエージェントもハッピーを目指す

組織全体でナレッジを循環させ、人間とAIが共に成長できる環境を構築することが、より良い協働を実現する鍵となります。開発者が快適に作業でき、同時にエージェントも効果的に機能する、そんな「Win-Win」の関係を築くことが目標です。