コパイロット コーディング エージェント タスクの割り当て、追跡、および問題解決

完了

GitHub Copilot コーディング エージェントは、GitHub 内で直接動作する自律的なチームメイトとして機能します。 有効にすると、タスクを割り当て、その進行状況をリアルタイムで確認し、pull request にコメントを残して作業をガイドできます。 このユニットでは、GitHub.com、GitHub Mobile、API、または CLI を使用して Copilot に問題を割り当てる方法について説明します。 また、エージェントの作業を追跡して反復処理する方法を示し、一般的な問題のトラブルシューティング プレイブックを提供します。

このユニットを終了すると、次のことができるようになります。

  • GitHub.com、GitHub Mobile、API、または CL を使用して、Copilot に問題を割り当てます。
  • pull request のタイムラインとセッション ログを使用して、Copilot の進行状況を監視します。
  • pull request にコメントを付けることで、Copilot の作業を反復処理します。
  • エージェントによって生成されたプル要求の承認規則について理解します。
  • タスクを Copilot に委任するときの一般的な問題のトラブルシューティングを行います。

Copilot への課題の割り当て

Copilot に問題を割り当てると、エージェントは問題に対する 👀 の反応を追加することによってそれを確認します。 その後、専用の copilot/ ブランチを作成し、問題にリンクされた下書きプル要求を開き、GitHub Actions を利用した環境内でエージェント セッションを開始します。 動作すると、Copilot はコミットをブランチにプッシュし、プル要求本文をステータス メッセージで更新します。 タスクが完了すると、Copilot は "Copilot finished work" イベントを投稿し、レビューを要求します。

GitHub リポジトリのナビゲーション バーのスクリーンショット。開いている問題の数が表示された [問題] タブが強調表示されています。

GitHub.com では、別のユーザーに割り当てるのと同じように、問題を Copilot に割り当てます。 リポジトリの [問題] タブに移動し、委任する問題を開き、右側のサイドバーの [担当者] で [Copilot] を選択します。 Copilot は、課題のタイトル、説明および割り当て時の既存のコメントを受け取ります。 問題に関する後のコメントはエージェントには表示されないため、エージェントの pull request に直接コメントとして新しい情報を追加します。

AI ペア プログラマとして Copilot を割り当てるオプションを示す GitHub の問題の [担当者] パネルのスクリーンショット。

リポジトリの [問題] ページの問題の一覧から、GitHub Projects から、または GitHub Mobile を使用して、Copilot に問題を割り当てることもできます。 コマンドライン ワークフローの場合、GitHub CLI (gh issue edit) を使用して、担当者として Copilot を追加できます。

API を使用した割り当て

GraphQL API を使用して、プログラムで Copilot に問題を割り当てることができます。 まず、リポジトリの suggestedActors に対してクエリを実行し、 copilot-swe-agent が推奨されるアクターとして表示されることを確認して、コーディング エージェントが使用可能であることを確認します。 次に、リポジトリ ID をフェッチします。 新しい問題を作成して割り当てるには、 createIssue の変更を使用して、リポジトリ ID と Copilot のボット ID を渡します。 既存の問題を割り当てるには、問題 ID をフェッチし、 replaceActorsForAssignable の変更を使用して、担当者として Copilot を追加します。 このアプローチは、Copilot を自動化されたワークフローに統合する場合に役立ちます。

可用性チェック

query {
  repository(owner: "octo-org", name: "octo-repo") {
    suggestedActors(capabilities: [CAN_BE_ASSIGNED], first: 100) {
      nodes { login __typename ... on Bot { id } ... on User { id } }
    }
  }
}

リポジトリ ID を取得する

query {
  repository(owner: "octo-org", name: "octo-repo") { id }
}

新しい問題を作成して割り当てる

mutation {
  createIssue(
    input: {
      repositoryId: "REPOSITORY_ID",
      title: "Implement comprehensive unit tests",
      body: "DETAILS",
      assigneeIds: ["BOT_ID"]
    }
  ) {
    issue { id title assignees(first: 10) { nodes { login } } }
  }
}

既存の問題を割り当てる

query {
  repository(owner: "monalisa", name: "octocat") {
    issue(number: 9000) { id title }
  }
}

mutation {
  replaceActorsForAssignable(
    input: { assignableId: "ISSUE_ID", actorIds: ["BOT_ID"] }
  ) {
    assignable {
      ... on Issue {
        id title
        assignees(first: 10) { nodes { login } }
      }
    }
  }
}

コピロットの進行状況の追跡

GitHub Copilot に問題を割り当てた後、エージェントは目に見えるシグナルを提供し、その作業を最初から最後まで追跡できるようにします。

  • 即時確認。 問題を割り当てた直後に、Copilot によって問題に対する 👀 の反応が追加されます。

    再現する手順とサブイシューを作成するオプションを示す GitHub の問題の説明のスクリーンショット。

  • 下書きプルリクエストの作成。 数秒以内に、Copilot は元の問題にリンクされた下書きプル要求を開きます。 pull request を示す新しいイベントが問題のタイムラインに表示されます。

    GitHub の問題コメントのスクリーンショット。Copilot が問題番号 1123 へのリンクに関連する問題に言及しています。

  • アクティブなエージェント セッション。 Copilot は、問題に対処するためのエージェント セッションを開始します。 pull request タイムラインに "Copilot started work" イベントが表示されます。 実行時に、Copilot は通常のステータス メッセージを使用して pull request 本文を更新し、コミットを専用ブランチにプッシュします。

    Copilot がユーザーに代わって作業を開始した GitHub の問題タイムラインのスクリーンショット。

  • ライブ セッション ログ。 過去および現在のすべてのセッションは、[エージェント] ページから表示されます。 pull request の [セッションの表示] をクリックしてライブ セッション ログ ビューアーを開き、Copilot のアクションをリアルタイムで視聴します。 Copilot を停止する必要がある場合は、ビューアーで [セッションの停止] をクリックします。

  • 完了と確認。 Copilot の作業が完了すると、エージェント セッションは自動的に終了します。 pull request タイムライン に "Copilot finished work" イベントが表示され、Copilot からレビューが要求され、通知がトリガーされます。

    レビューを要求した後、Copilot がユーザーに代わって作業を完了した GitHub の問題タイムラインのスクリーンショット。

Copilot を使用した反復処理

コピロットの作業を、人間の貢献者を導くのと同じようにコメントやレビューを通じて導きます。 変更を要求するために pull request コメントに @copilot メンションします。 リポジトリへの書き込みアクセス許可を持つユーザーからのコメントのみが処理されます。 Copilot はコメントに 👀 の反応を投稿して要求を受信したことを確認し、再開時に pull request タイムラインに "Copilot started work" を追加します。 これにより、通常のレビュー ワークフローを離れることなく、Copilot の作業を反復処理できます。

承認とワークフロー

Copilot によって作成されたプル要求は、常にドラフト状態です。 マージの前に人による承認が必要であり、エージェントによってトリガーされる GitHub Actions ワークフローは自動的には実行されません。 Copilot プル要求でワークフローを実行するには、[承認] をクリックし、マージ ボックスでワークフローを実行します。 Pull request の作成を Copilot に依頼した開発者は、それを承認できません。これにより、リポジトリの "必要なレビュー" ルールが保持され、マージ前に独立したレビューが保証されます。

Copilot コーディング エージェントのトラブルシューティング

  • "Assignees" リストに Copilot が含まれていません

    対象プラン (Pro、Pro+、Business、Enterprise) を使用していることを確認します。 エージェントが組織/リポジトリ レベルで無効になっていないことを確認します。 機能ページを確認してください: github.com/settings/copilot/features

  • Enterprise Managed User (EMU) 個人用リポジトリ

    エージェントを使用できません。組織所有のリポジトリを使用する (GitHub でホストされるランナーが必要)。

  • チャットからの "pull request を作成できません"

    エージェントが使用可能であることを確認します。 IDE では、プロンプトで @github をメンションします (GitHub.com では必要ありません)。

  • 問題が割り当てられたが、何も起こっていない

    最新の情報に更新し、👀 の反応があるか確認してから、ドラフト PR を確認します。

  • PR は作成されましたが、進行状況はありません

    "Copilot started work" の PR タイムラインを確認します。セッション ログの表示を開きます。

  • エージェントが PR コメントに応答しない

    書き込みアクセス権を確認し、エージェントの PR に@copilotが言及されていることを確認してください。

  • スタックしているように見える

    回復する可能性があります。セッションは 1 時間後にタイムアウトになります。 問題の割り当てを解除/再割り当てするか、コメントを再投稿して再試行してください。

  • アクションが実行されていない

    [承認] をクリックし、マージ ボックスでワークフローを実行します。

  • プッシュがCIテストを通過しない

    エージェントがテスト/リンターを使用して自己検証できるように、.github/copilot-instructions.md を使用して明確なリポジトリ レベルのガイダンスを提供します。

  • ファイアウォールの警告

    インターネットは既定で制限されています。警告には、ブロックされたアドレスとコマンドが一覧表示されます。 GitHub Copilot コーディング エージェントのファイアウォールのカスタマイズまたは無効化ごとに調整します。

  • 画像が取得されない

    最大イメージ サイズは 3.00 MiB です。大きい画像が削除されます。

信頼性の高い assign-track-iterate ループを配置することで、エージェントの環境をカスタマイズし、MCP ツールを使用して拡張し、マージ前に堅牢な検証を実施することで、一貫性と速度を向上させることができます。