広告枠を募集中 ご相談ください

開発チームがDevinにGitHub Issueとリポジトリ不具合修正を割り当て、Pull Requestを自動作成する方法

365Finds Editorial
Wiki 記事 11,430 本収録

あなたの AI で 365 Wiki を使う

下のプロンプトをコピーして、普段使っている AI に貼り付け、そのまま質問してください。

完全版 Skill をダウンロード

まずはプロンプトでお試しください。よく使う場合は完全版 365Wiki Skill をインストールすると、毎回貼り付ける必要がありません。普段使う AI がなければ、Gemini や Microsoft Copilot のウェブ版でも使えます。

現代のソフトウェア開発現場において、バグ報告のトリアージ、大規模リポジトリ内での根本原因特定、回帰テストの作成、そしてPull Request(PR)の提出には多くの開発工数が費やされています。Cognition社が開発した自律型AIソフトウェアエンジニア「Devin」は、この受け身の保守サイクルを高度に自動化された協調ワークフローへと転換します。行単位のコード補完やチャット型アシスタントとは異なり、Devinは独自の仮想環境、シェル端末、ブラウザ、コード編集ツールを備えた非同期型のクラウドチームメイトとして動作します。

開発チームがGitHubリポジトリとDevinを連携させることで、IssueコメントやGitHub Actionsパイプライン、監視システムからバグ修正タスクを委譲できます。Devinは隔離サンドボックス内で自律的に不具合を再現・修正・検証し、テスト結果を添えたPull Requestを作成します。さらに、その後のCI失敗やコードレビューへの修正コミットまで自律的に完結させることが可能です。


1. 事前準備:GitHub連携とDevinワークスペースの環境整備

Issueを委譲する前に、安全なアクセス権限の設定と、Devinがプロジェクトを正常にビルド・テストするためのコンテキスト設定が必要です。

GitHub App連携の導入

Devinは公式GitHub AppまたはEnterprise向けサービスアカウントを介してコードベースにアクセスします。Personal Access Token(PAT)は読み取り専用であり、ブランチの作成やPRの提出、コメントへの返信などの書き込み操作は行えません。

  1. Devin管理画面の Settings > Integrations > GitHub(Enterprise環境では Settings > Connections)に移動します。
  2. Devin GitHub Appを認証し、Devinにアクセスを許可する組織または特定のリポジトリを選択します。
  3. リポジトリのコンテンツ(Repository contents)、Pull Requests、Issuesに対する読み取り・書き込み権限が付与されていることを確認します。

ワークスペーススナップショットとリポジトリナレッジの設定

エンジニアのオンボーディングと同様に、Devinにも開発用ランタイム、依存パッケージ、設計ルールを事前に提供しておくことで、タスクごとに無駄な計算単位(ACU)を消費するのを防ぎます:


2. 割り当て方法:GitHub IssueをDevinに連携する3つのアプローチ

タスクの発生源や自動化の要件に応じて、対話型コマンド、CI/CD連携、常時監視トリガーの3つの経路からIssueを割り当てられます。

方法1:Issueコメントからのスラッシュコマンド(/devin)

バックログの対応やアドホックな不具合修正では、GitHub Issueのコメント欄で直接メンションするのが最も簡単です:

方法2:GitHub Actionsによる自動ワークフロー(devin-action)

ラベル付与を契機に自動でDevinへタスクを流したい場合、GitHub Marketplaceで提供されている公式アクション(aaronsteers/devin-action@v1)を利用します:

方法3:Devin Auto-Triageによるイベント駆動型の自動対応

監視システムやエラートラッキングからの障害対応を自動化する場合、Devinの Auto-Triage 機能が有効です:


3. 修復成功率を最大化するIssue指示と振る舞い設定

Devinは自律的に探索を行いますが、初期入力の質が初回修正の精度とスピードを大きく左右します。

効果的な運用のためのポイント:

  1. 明確な再現条件を提示する:スタックトレース、期待される挙動、実際の異常出力を明記します。関連する可能性の高いディレクトリやモジュールが分かっていれば指定します。
  2. 「再現テストの先行作成」を指示する:本体コードを修正する前に、現象を再現する失敗テストを作成するよう指示します。これにより、Devin自身が客観的な合格判定基準を持って自律検証できるようになります。
  3. 修正スコープの制約を設定する:コアロジックや影響範囲の広い領域を扱う際は、「修正対象を src/utils/date_parser.ts のみに限定し、パーサー全体の共通インターフェースはリファクタリングしないこと」といった制約を明示します。
  4. 自律レベル(Agency)の調整:Library > Behaviors にてDevinの Agency を設定できます。完全自律に設定すればPR作成までノンストップで進行し、制限モードに設定すれば複雑なタスクの着手前に調査計画を提示して人間の承認を待つようになります。

4. 自律実行フローと「閉ループ」コードレビュー(Closed Review Loop)

タスクを受け取ったDevinは、クラウドサンドボックス内で一連の開発作業を自律完結させます:

  1. 環境立ち上げと原因調査:リポジトリナレッジを参照しながらサンドボックスの端末で調査コマンドを実行し、不具合の箇所を特定します。
  2. 修正実装とローカル検証:コード修正後、ユニットテストやリンターを実行します。テストが落ちた場合はエラー出力を自己分析し、全テストがパスするまで修正を繰り返します。
  3. PR作成と関連付け:作業ブランチを作成してコミットし、ベースブランチに対してPRを作成します。PR概要には元のIssueへのリンク(例: Fixes #342)、変更点のサマリー、テスト結果、作業セッション録画URLが自動的に記載されます。

エージェントループの完結:レビュー指摘とCI失敗の自動修正

PRを作成して終わりではありません。従来のAIツールでは、レビュー指摘やCIエラーを人間がチャット画面へ手動で貼り付ける必要がありました。Devinは「レビューの閉ループ」によってこの摩擦を解消します:


5. チーム導入におけるベストプラクティスとガバナンス

Devinを実運用のワークフローに安全に組み込むために、以下のプラクティスを推奨します:

GitHub Appによる権限管理、明確なIssueプロンプト、そして自律的なPR修正ループを組み合わせることで、開発チームはバックログの滞留を解消し、高品質なコード修正を24時間体制で継続できるようになります。


参考資料