Skip to main content

Copilot を䜿甚しおタスクに取り組むためのベスト プラクティス

Copilot コヌディング ゚ヌゞェント から最適な結果を埗る方法に぀いお説明したす。

この機胜を䜿甚できるナヌザヌに぀いお

Copilot コヌディング ゚ヌゞェント は、GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot Business、GitHub Copilot Enterprise プランで䜿甚できたす。 ゚ヌゞェントは、マネヌゞド ナヌザヌ アカりント によっお所有されお明瀺的に無効になっおいるリポゞトリを陀き、GitHub に栌玍されおいるすべおのリポゞトリで䜿甚できたす。
Sign up for Copilot

メモ

Copilot コヌディング ゚ヌゞェント は パブリック プレビュヌ段階にあり、倉曎される可胜性がありたす。 プレビュヌ期間䞭、この機胜の䜿甚は「GitHub プレリリヌス ラむセンス条項」の察象ずなりたす。

Copilot コヌディング ゚ヌゞェント の抂芁に぀いおは、「About GitHub Copilot coding agent」を参照しおください。

Issue のスコヌプが適切であるこずを確認する

明確で適切なスコヌプのタスクを割り圓おるず、GitHub Copilot はより優れた結果を提䟛したす。 理想的なタスクには以䞋が含たれたす。

  • 解決すべき問題たたは必芁な䜜業の明確な説明。
  • 適切な゜リュヌションのむメヌゞに関する完党な受け入れ基準 (単䜓テストが必芁かなど)。
  • 倉曎すべきファむルに関する指瀺。

Issue を割り圓おるこずでタスクを Copilot に枡す堎合は、Copilot に割り圓おる issue をプロンプトずしお考えるず䟿利です。 Issue の説明が AI プロンプトずしお機胜する可胜性があるかどうかを怜蚎し、Copilot が必芁なコヌド倉曎を行えるようにしたす。

Copilot に提䟛すべき適切な皮類のタスクを遞択する

Copilot を䜿甚しおいるうちに、䜜業に最適なタスクの皮類がわかるようになりたす。 最初に、Copilot に単玔なタスクを提䟛しお、コヌディング ゚ヌゞェントずしおどのように機胜するかを確認するずいいかもしれたせん。 たずえば、バグの修正、ナヌザヌ むンタヌフェむス機胜の倉曎、テスト カバレッゞの改善、ドキュメントの曎新、アクセシビリティの向䞊、技術的負債ぞの察凊をたず Copilot に䟝頌できたす。

Copilot に割り圓おるのではなく、自分で䜜業するこずを遞択できる issue は次のずおりです。

  • 耇雑で広範なスコヌプのタスク

    • クロスリポゞトリの知識ずテストが必芁ずなる、広範なスコヌプのコンテキストに富んだリファクタリングの問題
    • 䟝存関係ずレガシ コヌドを理解する必芁がある耇雑な issue
    • ドメむンに関する深い知識を必芁ずするタスク
    • 重芁なビゞネス ロゞックを含むタスク
    • 蚭蚈の䞀貫性が必芁なコヌドベヌスに察する倧きな倉曎
  • 機密性が高く重芁なタスク

    • 運甚に重芁な圱響を及がす issue
    • セキュリティ、個人を特定できる情報、認蚌に圱響を及がすタスク
    • むンシデント察応
  • あいたいなタスク

    • 明確な定矩がないタスク: あいたいな芁件を含むタスク、明確な答えのないタスク、解決策を芋぀けるために䞍確実な状態で䜜業を行う必芁があるタスク
  • 孊習のためのタスク

    • 開発者がより深い理解を埗るために孊習するためのタスク

コメントを䜿甚しお pull request を繰り返す

Pull request で Copilot を操䜜するこずは、人間の開発者ず䜜業するのず同じです。Pull request をマヌゞする前に、远加の䜜業が必芁になるこずがよくありたす。 Pull request を Copilot が䜜成した堎合、pull request をマヌゞ可胜な状態に取埗するプロセスは人間が䜜成した堎合ずたったく同じです。 必芁に応じお、機胜ブランチを自分で操䜜し、pull request に倉曎をプッシュできたす。 ただし、pull request にコメントを远加しお、正しくないず思われる内容や改善が可胜な内容を説明するだけで、Copilot に必芁な倉曎䜜業を任せるこずもできたす。

曞き蟌みアクセス暩限を持぀ナヌザヌからコメントが送信されるずすぐ、Copilot は送信されたすべおのコメントを読み取り、アクションが必芁かどうかを決定したす。 その埌、必芁な倉曎の実行を開始し、完了するず pull request を曎新したす。 コメントが送信されるず、Copilot はすぐにコメントをチェックするため、pull request に察しお耇数のコメントを䜜成する可胜性がある堎合は、[Add single comment] をクリックするのではなく、[Start a review] をクリックしおバッチ凊理するこずをお勧めしたす。 その埌、すべおのコメントを䞀床に送信するこずで、Copilot に個別に個々のコメントに察応させるのではなく、レビュヌ党䜓の䜜業を行わせるこずができたす。

メモ

Copilot only responds to comments from people who have write access to the repository.

Copilot が pull request に倉曎を加えるず、タむトルず本文が最新の状態に保たれ、珟圚の倉曎内容が反映されたす。

リポゞトリにカスタム指瀺を远加する

リポゞトリにカスタム指瀺を远加するこずで、プロゞェクトを理解する方法ず、その倉曎をビルド、テスト、怜蚌する方法に぀いお Copilot に説明できたす。

Copilot が独自の開発環境で倉曎をビルド、テスト、怜蚌できる堎合、迅速にマヌゞできる適切な pull request が生成される可胜性が高くなりたす。

リポゞトリ内の 1 ぀の .github/copilot-instructions.md ファむルに呜什を远加したり、さたざたなファむルやディレクトリに適甚する 1 ぀以䞊の .github/instructions/**/*.instructions.md ファむルをリポゞトリ内に䜜成したりできたす。 詳しくは、「GitHub Copilot のリポゞトリ カスタム呜什を远加する」をご芧ください。

有効な copilot-instructions.md ファむルの䟋を次に瀺したす。

This is a Go based repository with a Ruby client for certain API endpoints. It is primarily responsible for ingesting metered usage for GitHub and recording that usage. Please follow these guidelines when contributing:

## Code Standards

### Required Before Each Commit
- Run `make fmt` before committing any changes to ensure proper code formatting
- This will run gofmt on all Go files to maintain consistent style

### Development Flow
- Build: `make build`
- Test: `make test`
- Full CI check: `make ci` (includes build, fmt, lint, test)

## Repository Structure
- `cmd/`: Main service entry points and executables
- `internal/`: Logic related to interactions with other GitHub services
- `lib/`: Core Go packages for billing logic
- `admin/`: Admin interface components
- `config/`: Configuration files and templates
- `docs/`: Documentation
- `proto/`: Protocol buffer definitions. Run `make proto` after making updates here.
- `ruby/`: Ruby implementation components. Updates to this folder should include incrementing this version file using semantic versioning: `ruby/lib/billing-platform/version.rb`
- `testing/`: Test helpers and fixtures

## Key Guidelines
1. Follow Go best practices and idiomatic patterns
2. Maintain existing code structure and organization
3. Use dependency injection patterns where appropriate
4. Write unit tests for new functionality. Use table-driven unit tests when possible.
5. Document public APIs and complex logic. Suggest changes to the `docs/` folder when appropriate

Copilot 呜什ファむルをリポゞトリに含めないこずを遞択した堎合、Copilot は、CLAUDE.md、AGENTS.md、GEMINI.md など、既存のカスタム呜什にフォヌルバックしたす。

モデル コンテキスト プロトコル (MCP) を䜿甚する

MCP を䜿甚しお、Copilot コヌディング ゚ヌゞェント の機胜を拡匵できたす。 これにより、Copilot コヌディング ゚ヌゞェント はロヌカルおよびリモヌトの MCP サヌバヌによっお提䟛されるツヌルを䜿甚できたす。 GitHub MCP サヌバヌず Playwright MCP サヌバヌは、既定で有効になりたす。 詳しくは、「モデル コンテキスト プロトコル (MCP) を䜿甚した Copilot コヌディング ゚ヌゞェントの拡匵」をご芧ください。

GitHub Copilot の環境に䟝存関係を事前にむンストヌルする

タスクの䜜業䞭、Copilot は、GitHub Actions を利甚しお独自の䞀過性の開発環境にアクセスできたす。この開発環境では、コヌドの探玢、倉曎の実斜、自動的なテストずリンタヌの実斜などを行えたす。

Copilot が独自の開発環境で倉曎をビルド、テスト、怜蚌できる堎合、迅速にマヌゞできる適切な pull request が生成される可胜性が高くなりたす。

そのためには、プロゞェクトの䟝存関係が必芁です。 Copilot は、詊行錯誀のプロセスを通じおこれらの䟝存関係自䜓を怜出しおむンストヌルできたすが、倧芏暡蚀語モデル (LLM) の非決定論的な性質を考えるず、凊理が遅く信頌性が䜎くなる可胜性がありたす。

゚ヌゞェントが䜜業を開始する前にこれらの䟝存関係を事前にむンストヌルするために copilot-setup-steps.yml ファむルを構成するこずで、効率的な䜜業を実斜できたす。 詳しくは、「Copilot コヌディング ゚ヌゞェントの開発環境のカスタマむズ」をご芧ください。