<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GitHub Copilot on hagizo.io</title><link>https://ha.gizwoo.com/tags/github-copilot/</link><description>Recent content in GitHub Copilot on hagizo.io</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Wed, 03 Jun 2026 08:08:40 +0900</lastBuildDate><atom:link href="https://ha.gizwoo.com/tags/github-copilot/index.xml" rel="self" type="application/rss+xml"/><item><title>【AIニュース】Microsoft初の推論モデル登場、GitHub Copilot課金刷新で波紋、MIT発の訓練高速化</title><link>https://ha.gizwoo.com/mai-thinking-copilot-billing-rnkpwzbmtx/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0900</pubDate><guid>https://ha.gizwoo.com/mai-thinking-copilot-billing-rnkpwzbmtx/</guid><description>&lt;p&gt;2026年6月、AIインフラをめぐる三つの動きが同時進行している。Microsoftが年次開発者カンファレンス「Build 2026」でついに自社推論モデルを世界に示し、GitHubはCopilotの料金体系を刷新した。そしてMIT発の研究が推論モデルの訓練コストという根本課題に楔を打ち込もうとしている。&lt;/p&gt;
&lt;h2 id="microsoft-build-2026mai-thinking-1自社推論モデルの初陣"&gt;Microsoft Build 2026——MAI-Thinking-1、自社推論モデルの初陣
&lt;/h2&gt;&lt;p&gt;6月2日に開幕した&lt;a class="link" href="https://news.microsoft.com/build-2026-live-blog" target="_blank" rel="noopener"
 &gt;Microsoft Build 2026&lt;/a&gt;のキーノートで、Microsoftは同社初の推論特化モデル「&lt;a class="link" href="https://microsoft.ai/news/introducing-mai-thinking-1/" target="_blank" rel="noopener"
 &gt;MAI-Thinking-1&lt;/a&gt;」を発表した。&lt;/p&gt;
&lt;p&gt;推論モデル（難問を解くために回答前に「考えるステップ」を積み重ねるAI）の競争はOpenAIのo系シリーズ、AnthropicのClaude Opus 4.8が先行してきたが、ここにMicrosoftが自前のモデルを引っさげて参入した形だ。&lt;/p&gt;
&lt;p&gt;MAI-Thinking-1の主な特徴は次のとおりだ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;サイズと文脈長&lt;/strong&gt;: アクティブパラメータ（実際の推論に使われる重み）は350億で、モデルとしては中規模に当たる。文脈ウィンドウは25.6万トークン（文庫本約500冊分）に対応する。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;性能&lt;/strong&gt;: コーディング能力を測る&lt;a class="link" href="https://www.swebench.com" target="_blank" rel="noopener"
 &gt;SWE-Bench Pro&lt;/a&gt;（実際のGitHubイシューを自力で修正する能力を評価するベンチマーク）でAnthropicのClaude Opus 4.6と同等の結果を示した。数学的推論では&lt;a class="link" href="https://artofproblemsolving.com" target="_blank" rel="noopener"
 &gt;AIME 2025&lt;/a&gt;（全米最難関の高校数学コンテスト問題集）で97.0%、AIME 2026で94.5%という水準に達している。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;訓練方針&lt;/strong&gt;: 第三者モデルからの知識蒸留（大きなモデルの出力を学習データに使う手法）を一切行わず、商用利用可能な独自データセットのみで訓練されたと明言している。企業導入時のライセンスリスクを意識した姿勢だ。&lt;/p&gt;
&lt;p&gt;現時点では&lt;a class="link" href="https://azure.microsoft.com/en-us/products/ai-foundry" target="_blank" rel="noopener"
 &gt;Microsoft Foundry&lt;/a&gt;（Microsoftのモデル開発・提供プラットフォーム）のプライベートプレビューとして提供が始まっており、Fireworks AI・Baseten・OpenRouterなどのサービス経由でも間もなく利用可能になる見通しだ。&lt;/p&gt;
&lt;h3 id="実務上の示唆"&gt;実務上の示唆
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;中規模モデルがClaude Opus 4.6に匹敵するコーディング性能を出せるとすれば、推論コストを抑えた自動コードレビューや静的解析パイプラインの構築コストが下がる可能性がある。&lt;/li&gt;
&lt;li&gt;商用データのみ訓練という点は、AIシステムの著作権リスクを重視する法務・調達部門にとって評価材料になる。ライセンスの透明性を重視する組織は優先的に検討する価値がある。&lt;/li&gt;
&lt;li&gt;Foundryが基盤になることで、AzureやMicrosoft 365と密接に統合されたエージェントワークフローが組みやすくなると予想される。Microsoftエコシステムを既に使っている組織は早めに試用を検討したい。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="github-copilot-ai-credits課金1日で使い切った開発者たち"&gt;GitHub Copilot AI Credits課金——1日で使い切った開発者たち
&lt;/h2&gt;&lt;p&gt;6月1日を境に、&lt;a class="link" href="https://github.com/features/copilot" target="_blank" rel="noopener"
 &gt;GitHub Copilot&lt;/a&gt;の全プランが「AI Credits（AIクレジット）」ベースの従量課金に切り替わった。1 AIクレジット＝0.01ドルで、チャット・コードレビューなどの機能が使用量に応じてクレジットを消費する仕組みだ。&lt;/p&gt;
&lt;p&gt;プラン別の月間クレジット上限は以下のとおりだ。Copilot Pro+（月39ドル）には39ドル分のAIクレジットが含まれる。Copilot Business（ユーザーあたり月19ドル）には19ドル分、Copilot Enterprise（ユーザーあたり月39ドル）には39ドル分が付与される。上限を超えた分は追加購入で使い続けられる。&lt;/p&gt;
&lt;p&gt;問題はその消費速度だ。&lt;a class="link" href="https://www.theregister.com/ai-and-ml/2026/06/02/github-copilot-users-threaten-exit-as-metered-billing-kicks-in/" target="_blank" rel="noopener"
 &gt;The Register&lt;/a&gt;の報道によると、Copilot Pro+を使う開発者がわずか2時間で月間クレジットの約8%を使い切ったと報告している。単純計算すると、フル稼働で約25時間で月額分を消費することになる。GitHubコミュニティには「以前と同じ使い方なのに大幅に値上がりする」「月の途中で機能が使えなくなる」という声が相次いでいる。&lt;/p&gt;
&lt;p&gt;なお、コード補完（インラインでの次のコード提案）と「Next Edit Suggestions（次の編集候補）」は引き続きAIクレジットの対象外で、全有料プランで無制限に使える。大きく影響を受けるのは&lt;strong&gt;チャット機能&lt;/strong&gt;と&lt;strong&gt;Agent Mode&lt;/strong&gt;（複数ファイルを横断してコードを書き直すエージェント動作）だ。&lt;/p&gt;
&lt;h3 id="実務上の示唆-1"&gt;実務上の示唆
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Agent Mode（ファイル横断で大規模なコード変更を自律的に実行する機能）は消費量が特に大きいとされる。チームで多用している場合は月次コストが予算を超えるリスクがある。まず組織内の使用量モニタリング設定を確認することを勧める。&lt;/li&gt;
&lt;li&gt;GitHubは組織・企業向けに「ユーザーレベルの予算設定」機能を提供している。部門ごとにクレジット上限を設けてコストを管理する運用設計が必要になってくる。&lt;/li&gt;
&lt;li&gt;競合のCursor・Windsurf・JetBrains AI Assistantは固定料金モデルを維持しているケースも多い。コスト構造を比較した上でツール選定を再評価するタイミングかもしれない。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mitの推論モデル訓練高速化遊休プロセッサ問題を解消"&gt;MITの推論モデル訓練高速化——遊休プロセッサ問題を解消
&lt;/h2&gt;&lt;p&gt;推論モデル（ステップごとに論理を展開して難問を解くAI）の訓練には膨大な計算コストがかかる。その原因のひとつが「遊休プロセッサ問題」だ。複雑な問題を処理しているGPUが全力稼働している一方で、簡単な問題を担当するGPUが手待ち状態になる。クラスタ全体では大量の計算資源が無駄になっている。&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://news.mit.edu/2026/new-method-could-increase-llm-training-efficiency-0226" target="_blank" rel="noopener"
 &gt;MITの研究チーム&lt;/a&gt;（MIT・NVIDIA・ETH Zurichの共同研究、主著者はMITポスドクのQinghao Hu氏）は、この問題を「スペキュレーティブ訓練（推測的訓練）」と呼ぶ手法で解決した。&lt;/p&gt;
&lt;p&gt;仕組みはこうだ。大きな推論モデルの出力を「予測」する小型の補助モデルをもう1つ訓練し、大型モデルはその予測を検証することに集中する。小型モデルが高精度な予測を出してくれれば、大型モデルが全ステップを自力で計算しなくて済む。遊休状態のプロセッサが小型モデルの推測を担当するため、クラスタ全体の稼働率が上がる仕組みだ。&lt;/p&gt;
&lt;p&gt;実験では訓練速度が70〜210%向上し（モデルにより差がある）、最終的な精度は維持された。さらに嬉しい副産物として、訓練で生まれた小型モデルは、本番推論時のスペキュレーティブデコーディング（大型モデルの出力を小型モデルで先読みして高速化する既存手法）にそのまま再利用できることも確認された。訓練と推論の両方のコストを下げられる一石二鳥の効果だ。&lt;/p&gt;
&lt;h3 id="実務上の示唆-2"&gt;実務上の示唆
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;この手法が実用化されれば、推論モデルの訓練コストが大幅に削減される可能性がある。訓練コスト低下は最終的にAPIの利用料金にも波及するため、LLMを活用したサービスのコスト見通しを見直す材料になりうる。&lt;/li&gt;
&lt;li&gt;副産物の小型モデルをそのまま推論高速化に使えることは、クラウドコストが支配的なLLMアプリケーション運営者にとって大きなインパクトになりうる。自社でモデルをホストしている組織は特に注目したい。&lt;/li&gt;
&lt;li&gt;エネルギー効率の改善はAIシステムのCO2排出量報告にも関わる。サステナビリティ要件を重視する組織にとっても、今後のモデル選定・訓練戦略の参考になる研究だ。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="まとめ"&gt;まとめ
&lt;/h2&gt;&lt;p&gt;今週のAI業界は、モデルの性能向上よりも「コストと経済圏」への注目が高まった。MicrosoftのMAI-Thinking-1は「自前で推論モデルを持つ」時代の始まりを告げ、GitHub Copilotの課金変更は開発ツールの経済設計が転換点を迎えていることを示した。そしてMITの研究は、将来の推論モデル訓練コストを根本から変える可能性を示唆している。AIを「いかに安く・効率よく使うか」という問いが、2026年後半の最重要テーマになりそうだ。&lt;/p&gt;</description></item><item><title>GitHub CopilotはVS CodeとCLIをどう使い分けるべきか: auto・クレジット・実務フロー整理</title><link>https://ha.gizwoo.com/github-copilot-vscode-cli-auto-credit-workflow-k3mpqr7xnv/</link><pubDate>Thu, 30 Apr 2026 14:00:00 +0900</pubDate><guid>https://ha.gizwoo.com/github-copilot-vscode-cli-auto-credit-workflow-k3mpqr7xnv/</guid><description>&lt;h1 id="github-copilotはvs-codeとcliをどう使い分けるべきか"&gt;GitHub CopilotはVS CodeとCLIをどう使い分けるべきか
&lt;/h1&gt;&lt;p&gt;GitHub Copilot を使い込むほど、VS Code の拡張機能を軸にするか、Copilot CLI を軸にするかで迷います。両者は競合ではなく、編集中心かターミナル中心かで役割が分かれます。&lt;/p&gt;
&lt;h2 id="導入"&gt;導入
&lt;/h2&gt;&lt;p&gt;現場でよくあるのは、次のような迷いです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;エディタ内の修正は VS Code Copilot で十分なのか。&lt;/li&gt;
&lt;li&gt;それとも Copilot CLI で一気に流したほうが速いのか。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;auto&lt;/code&gt; は VS Code だけなのか、CLI でも使えるのか。&lt;/li&gt;
&lt;li&gt;クレジット消費は IDE と CLI で変わるのか。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;このあたりを曖昧なまま使うと、作業フローが毎回ぶれます。この記事では、&lt;strong&gt;VS Code Copilot と Copilot CLI の違い、auto モデル選択、プレミアムリクエストの考え方、シーン別の使い分け&lt;/strong&gt;を、実務前提で短く整理します。&lt;/p&gt;
&lt;h2 id="tldr"&gt;TL;DR
&lt;/h2&gt;&lt;p&gt;まず結論です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;エディタ内の細かい編集、差分確認、反復リファクタは VS Code Copilot が向いています。&lt;/li&gt;
&lt;li&gt;ターミナル中心の調査、コマンド実行、ディレクトリ単位の変更、SSH 先やコンテナ内の作業は Copilot CLI が向いています。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;auto&lt;/code&gt; は VS Code の Copilot Chat でも、Copilot CLI でも使えます。&lt;/li&gt;
&lt;li&gt;クレジット消費は「IDE か CLI か」ではなく、&lt;strong&gt;どのモデルを使い、どれだけリクエストを発生させたか&lt;/strong&gt;で決まります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最初に押さえるべき完成形は次の 3 つです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 1. Copilot CLIで一時的にautoを使う&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;copilot --model auto -p &lt;span style="color:#e6db74"&gt;&amp;#34;プロジェクトの設定差分を確認して改善点を提案して&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 2. 対話モードでautoへ切り替える&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/model auto
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 3. CLIでカスタムプロバイダー利用時に環境変数でモデル指定する&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export COPILOT_MODEL&lt;span style="color:#f92672"&gt;=&lt;/span&gt;auto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="github-copilotの違い"&gt;GitHub Copilotの違い
&lt;/h2&gt;&lt;p&gt;VS Code Copilot は、Copilot Chat のモデル選択 UI やチャット応答のホバー確認など、エディタに統合された形で使う前提です。差分や修正結果を視覚的に追いやすく、小さく直して確認するループに強みがあります。&lt;/p&gt;
&lt;p&gt;一方の Copilot CLI は、対話型とプログラム実行の両方を持ち、ターミナルから直接コード変更、Git 操作、GitHub 上の PR・Issue 操作まで扱えます。信頼済みディレクトリや許可ツールの概念があり、ローカルだけでなくコンテナや SSH 環境でも同じ操作感を持ち込みやすいのが特徴です。&lt;/p&gt;
&lt;h3 id="使い分けの早見表"&gt;使い分けの早見表
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;観点&lt;/th&gt;
 &lt;th&gt;VS Code Copilot&lt;/th&gt;
 &lt;th&gt;Copilot CLI&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;主戦場&lt;/td&gt;
 &lt;td&gt;エディタ内の編集とレビュー&lt;/td&gt;
 &lt;td&gt;ターミナル内の操作と自動化&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;得意な作業&lt;/td&gt;
 &lt;td&gt;小刻みな修正、差分確認、会話しながらの実装&lt;/td&gt;
 &lt;td&gt;コマンド実行、ログ調査、ディレクトリ単位の変更&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;モデル選択&lt;/td&gt;
 &lt;td&gt;モデルピッカーから &lt;code&gt;Auto&lt;/code&gt; を選択&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/model&lt;/code&gt; または &lt;code&gt;--model&lt;/code&gt; で変更&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;実行場所&lt;/td&gt;
 &lt;td&gt;主に IDE 内&lt;/td&gt;
 &lt;td&gt;ローカル、WSL、macOS、Linux のターミナル&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;安全性の勘所&lt;/td&gt;
 &lt;td&gt;差分を見ながら止めやすい&lt;/td&gt;
 &lt;td&gt;信頼済みディレクトリとツール許可管理が重要&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="autoモデル選択"&gt;autoモデル選択
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;auto&lt;/code&gt; は VS Code でも CLI でも使えます。GitHub Docs では、Copilot Chat の IDE 利用時に &lt;code&gt;Auto&lt;/code&gt; を選ぶと、利用可能なモデルからポリシーと契約に応じて自動選択すると説明されています。&lt;/p&gt;
&lt;p&gt;CLI 側でも &lt;code&gt;Auto&lt;/code&gt; が使え、利用した応答ごとに実際に使われたモデルがターミナルに表示されます。モデル候補は今後変わる可能性があるため、固定モデルが必要な作業だけ明示指定する運用が実務では安定します。&lt;/p&gt;
&lt;h3 id="vs-codeでautoを使う手順"&gt;VS Codeでautoを使う手順
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Copilot Chat を開く、理由はモデル選択 UI がここにあるためです。&lt;/li&gt;
&lt;li&gt;モデルピッカーから &lt;code&gt;Auto&lt;/code&gt; を選ぶ、理由は毎回モデルを意識せずに使えるためです。&lt;/li&gt;
&lt;li&gt;応答ごとに使用モデルを確認したい場合は、レスポンス上でホバーする、理由は実際のルーティング先を確認できるためです。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="copilot-cliでautoを使う手順"&gt;Copilot CLIでautoを使う手順
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;単発実行で使う場合は &lt;code&gt;--model auto&lt;/code&gt; を付ける、理由はその場だけ auto に切り替えられるためです。&lt;/li&gt;
&lt;li&gt;対話モードでは &lt;code&gt;/model&lt;/code&gt; を使って切り替える、理由は会話中にモデル戦略を変えられるためです。&lt;/li&gt;
&lt;li&gt;実際の利用モデルはターミナル表示で確認する、理由は auto が常に同じモデルを選ぶとは限らないためです。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;実務でそのまま使う例です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 単発の調査&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;copilot --model auto -p &lt;span style="color:#e6db74"&gt;&amp;#34;このリポジトリのテスト失敗原因を調査して&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 対話モード開始&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;copilot
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 対話中に入力&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/model auto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;補足です。GitHub Docs で &lt;code&gt;COPILOT_MODEL&lt;/code&gt; 環境変数は、独自のモデルプロバイダーを使う場合の設定項目として説明されています。標準の GitHub ホストモデルを常時 auto に固定する用途は、まず CLI のモデル選択機能と最新リリースノートで確認するのが安全です。&lt;/p&gt;
&lt;h2 id="クレジット消費"&gt;クレジット消費
&lt;/h2&gt;&lt;p&gt;プレミアムリクエストは、使った機能とモデルの multiplier に基づいて消費されます。GitHub Docs では CLI でも、プロンプト送信ごとにモデル一覧の括弧内 multiplier 分だけ毎月のプレミアムリクエスト枠が減ると説明されています。&lt;/p&gt;
&lt;p&gt;そのため、VS Code だから安い、CLI だから高い、とは言い切れません。コスト差の本体は、どのモデルを選んだか、そして 1 タスクの裏で何回リクエストが走ったかです。&lt;/p&gt;
&lt;h3 id="実務で差が出るポイント"&gt;実務で差が出るポイント
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;VS Code Copilot は、小さい修正を複数回に分けて投げやすいです。結果として、1 回あたりの制御はしやすい一方で、往復回数は増えやすくなります。&lt;/li&gt;
&lt;li&gt;Copilot CLI は、対話型でもプログラム実行でも大きめの仕事をまとめて依頼しやすいです。コード変更やシェル実行まで進むため、1 タスクあたりの総消費が見えにくくなることがあります。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;auto&lt;/code&gt; には paid plan の Copilot Chat で 10% の multiplier discount があると GitHub Docs に明記されています。ただしこの割引説明は Copilot Chat 向けで、CLI に同じ条件がそのまま適用されるとは限らないため、課金判断は最新ドキュメント基準で見るべきです。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="コストを抑える運用"&gt;コストを抑える運用
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;VS Code では、関数単位・ファイル単位で区切って投げる、理由は差分確認で不要な広がりを止めやすいためです。&lt;/li&gt;
&lt;li&gt;CLI では、いきなり &lt;code&gt;--allow-all-tools&lt;/code&gt; で広く任せない、理由は変更範囲と副作用が大きくなりやすいためです。&lt;/li&gt;
&lt;li&gt;大きい変更は CLI に下書きさせて、最終レビューと細部調整は VS Code で行う、理由は生産性と制御のバランスがよいためです。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="実務フロー"&gt;実務フロー
&lt;/h2&gt;&lt;p&gt;おすすめは、VS Code と Copilot CLI を分業させる形です。設計相談、差分確認、局所的な修正は VS Code に寄せ、ログ調査、設定変更、リポジトリ横断の作業は CLI に寄せると迷いが減ります。&lt;/p&gt;
&lt;h3 id="vs-code-copilotを選ぶ場面"&gt;VS Code Copilotを選ぶ場面
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;複数ファイルをまたぐが、差分を目で追いながら進めたいとき。&lt;/li&gt;
&lt;li&gt;テスト追加、軽いリファクタ、関数単位の修正を高速に回したいとき。&lt;/li&gt;
&lt;li&gt;モデルを意識しすぎず &lt;code&gt;Auto&lt;/code&gt; で会話し、必要時だけ実モデルを確認したいとき。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="copilot-cliを選ぶ場面"&gt;Copilot CLIを選ぶ場面
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;SSH 先、コンテナ、WSL、Linux/macOS ターミナルで完結したいとき。&lt;/li&gt;
&lt;li&gt;ログ解析、設定ファイル整理、Git 操作、PR 作成のようにシェルと GitHub 操作が近いとき。&lt;/li&gt;
&lt;li&gt;リポジトリ内のまとまった変更を一気に進めたいとき。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="両方を組み合わせる形"&gt;両方を組み合わせる形
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;VS Code でワークスペースを開く、理由は差分確認と最終編集を速くするためです。&lt;/li&gt;
&lt;li&gt;統合ターミナルから Copilot CLI を起動する、理由はそのままプロジェクト文脈を渡せるためです。&lt;/li&gt;
&lt;li&gt;CLI に大きめの変更を依頼する、理由は初速を上げるためです。&lt;/li&gt;
&lt;li&gt;VS Code 側で差分を確認して局所修正する、理由は品質を落とさずに仕上げられるためです。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="ハマりどころ"&gt;ハマりどころ
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;auto&lt;/code&gt; は便利ですが、選ばれるモデルは時間やポリシーで変わります。再現性が必要な検証では固定モデルを使うほうが安全です。&lt;/li&gt;
&lt;li&gt;Copilot CLI は信頼済みディレクトリと許可ツールの設計を誤ると、意図しない変更を広げやすいです。特に &lt;code&gt;--allow-all-tools&lt;/code&gt; は限定環境で使うべきです。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;COPILOT_MODEL&lt;/code&gt; を見て標準 CLI 全体の常設設定だと解釈しがちですが、ドキュメント上は独自プロバイダー設定の文脈です。標準運用では &lt;code&gt;/model&lt;/code&gt;、&lt;code&gt;--model&lt;/code&gt;、最新リリースノート確認を優先したほうが混乱しません。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="まとめ"&gt;まとめ
&lt;/h2&gt;&lt;p&gt;VS Code Copilot は、編集、差分確認、細かい反復に強いです。Copilot CLI は、ターミナル中心の調査、自動化、大きめの変更に強いです。&lt;/p&gt;
&lt;p&gt;重要なのは、どちらか一方に寄せ切ることではありません。&lt;code&gt;auto&lt;/code&gt; とプレミアムリクエストの仕組みを理解したうえで、作業粒度ごとに役割を分けると、Copilot の強みを無駄なく引き出せます。&lt;/p&gt;
&lt;p&gt;普段の開発で「この作業は VS Code」「この作業は CLI」と先に線引きしておくと、判断の迷いが減ります。その結果、AI を使う時間そのものよりも、実装とレビューに使える時間を増やしやすくなります。&lt;/p&gt;</description></item><item><title>Copilotに複数リポジトリを解析させるならVS CodeのMulti-root Workspaceが便利</title><link>https://ha.gizwoo.com/vscode-copilot-multiroot-workspace-p7xqm2rk9v/</link><pubDate>Wed, 29 Apr 2026 08:59:00 +0900</pubDate><guid>https://ha.gizwoo.com/vscode-copilot-multiroot-workspace-p7xqm2rk9v/</guid><description>&lt;p&gt;GitHub Copilotを使って複数のプロジェクトを比較・解析したい場合、VS CodeのMulti-root Workspaceがかなり便利です。別ウィンドウで左右に並べる方法もありますが、Copilotに両方のコードベースを参照させたいなら、1つのワークスペースにまとめるほうが扱いやすくなります。本記事では、Copilotに複数リポジトリを解析させる前提で、Multi-root Workspaceの使い方と活用ポイントを整理します。&lt;/p&gt;
&lt;h2 id="multi-root-workspaceとは"&gt;Multi-root Workspaceとは
&lt;/h2&gt;&lt;p&gt;Multi-root Workspaceは、VS Codeの1つのウィンドウに複数のフォルダを追加して扱う機能です。通常は1つのプロジェクトフォルダを開いて作業しますが、Multi-root Workspaceを使うと、複数のリポジトリや関連プロジェクトを同じVS Code上でまとめて開けます &lt;a class="link" href="https://zenn.dev/longbow/articles/20260324_multi_root_work_space" target="_blank" rel="noopener"
 &gt;Zenn&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;たとえば、ライブラリ本体とそれを利用するアプリケーション、旧リポジトリと新リポジトリ、バックエンドとフロントエンド、移植元と移植先のような組み合わせを1つの作業空間にできます。VS Codeでは、それぞれのフォルダを独立したルートとして扱えるため、Gitの状態もプロジェクトごとに分けて確認できます &lt;a class="link" href="https://qiita.com/molecular_pool/items/decbba16dd85b0bfca13" target="_blank" rel="noopener"
 &gt;Qiita&lt;/a&gt;。&lt;/p&gt;
&lt;h2 id="copilotに両方を見せたい場合に向いている"&gt;Copilotに両方を見せたい場合に向いている
&lt;/h2&gt;&lt;p&gt;Copilot Chatに「この実装を別プロジェクトに移植したい」「AリポジトリとBリポジトリの構成差分を見てほしい」「このライブラリの使い方を利用側アプリから推測して」と依頼する場合、関連するフォルダが同じVS Codeワークスペースに入っているほうが自然です。&lt;/p&gt;
&lt;p&gt;別ウィンドウで開いている場合、人間は左右を見比べられますが、Copilotにとっては文脈が分断されやすくなります。一方、Multi-root Workspaceでは、複数フォルダを同じ作業単位として扱えるため、Copilot Chatに対象ファイルやフォルダを指定しながら質問しやすくなります。&lt;/p&gt;
&lt;p&gt;たとえば、次のような依頼がしやすくなります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;repo-aの認証処理を参考に、repo-bの実装方針を提案して
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;frontendとbackendのAPI定義にズレがないか確認して
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;旧プロジェクトのこの機能を、新プロジェクトの構成に合わせて移植する手順を出して
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このように、Copilotを単なる補完ツールではなく、複数コードベースをまたいだ分析役として使うなら、Multi-root Workspaceはかなり相性がよい構成です。&lt;/p&gt;
&lt;h2 id="設定方法"&gt;設定方法
&lt;/h2&gt;&lt;p&gt;設定方法はシンプルです。まずVS Codeで1つ目のプロジェクトを開きます。その後、メニューから「File &amp;gt; Add Folder to Workspace&amp;hellip;」を選び、比較したい別プロジェクトを追加します。必要に応じて、ワークスペースを &lt;code&gt;.code-workspace&lt;/code&gt; ファイルとして保存できます &lt;a class="link" href="https://atmarkit.itmedia.co.jp/ait/articles/1806/08/news028.html" target="_blank" rel="noopener"
 &gt;atmarkIT&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.code-workspace&lt;/code&gt; として保存しておくと、次回から同じ組み合わせをすぐに開けます。たとえば、移植作業用、モノレポ分割作業用、ライブラリ検証用のように、目的別のワークスペースを作っておくと便利です。&lt;/p&gt;
&lt;p&gt;構成例としては、次のようなイメージです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;my-migration.code-workspace
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- old-service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- new-service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- shared-library
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この状態でVS Codeを開けば、Copilotに対して「old-serviceの実装を参考にnew-service側の設計を見直して」といった質問をしやすくなります。&lt;/p&gt;
&lt;h2 id="同じリポジトリの別ブランチならgit-worktreeと組み合わせる"&gt;同じリポジトリの別ブランチならGit worktreeと組み合わせる
&lt;/h2&gt;&lt;p&gt;同じリポジトリの別ブランチを比較したい場合は、Multi-root WorkspaceだけでなくGit worktreeを組み合わせると便利です。Git worktreeを使うと、同じリポジトリの別ブランチを別ディレクトリとして展開できます &lt;a class="link" href="https://qiita.com/masakinihirota/items/96e2eb8929b0321d1a20" target="_blank" rel="noopener"
 &gt;Qiita&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;たとえば、次のように実行します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git worktree add ../feature-branch feature-branch
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;その後、元のブランチのディレクトリと、worktreeで作成したディレクトリを同じMulti-root Workspaceに追加します。これにより、Copilotに「mainブランチとfeatureブランチの設計差分を見て」「feature側の変更をmain側の構成に合わせるにはどうすればよいか」といった相談がしやすくなります。&lt;/p&gt;
&lt;p&gt;この方法は、リファクタリング前後の比較、長期ブランチの差分確認、実験実装と本番実装の比較に向いています。単にGit diffを見るだけでなく、Copilotに設計意図や移植方針まで考えさせたい場合に効果的です。&lt;/p&gt;
&lt;h2 id="運用時の注意点"&gt;運用時の注意点
&lt;/h2&gt;&lt;p&gt;Multi-root Workspaceに多くのリポジトリを入れすぎると、検索結果やファイル候補が増えすぎて、逆に作業しづらくなることがあります。Copilotに解析させたい対象だけをワークスペースに入れるのが基本です。&lt;/p&gt;
&lt;p&gt;また、似た名前のファイルが複数ある場合は、Copilotへの指示でフォルダ名を明示すると誤解が減ります。「srcの実装を見て」ではなく、「old-service/srcの実装を参考に、new-service/srcへ移植する方針を出して」のように書くと、対象が明確になります。&lt;/p&gt;
&lt;p&gt;Gitの変更もフォルダごとに分かれるため、コミット対象を間違えないように注意が必要です。VS Code上では複数リポジトリの変更が同じSource Controlビューに出ることがあるため、どのリポジトリに対する変更か確認してからコミットすると安全です。&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Copilotに複数のプロジェクトやリポジトリを解析させたいなら、VS CodeのMulti-root Workspaceを使うのが最も扱いやすい方法です。別ウィンドウでの比較は人間の目視には便利ですが、Copilotに両方のコードベースを意識させる用途では、1つのワークスペースにまとめるほうが自然です。&lt;/p&gt;
&lt;p&gt;移植元と移植先、ライブラリと利用側アプリ、frontendとbackend、同一リポジトリの別ブランチなどをMulti-root Workspaceにまとめることで、Copilotに横断的な分析や実装方針の提案を依頼しやすくなります。複数コードベースを扱う作業では、まずMulti-root Workspaceを作り、必要に応じてGit worktreeを組み合わせる構成を基本にするとよいでしょう。&lt;/p&gt;</description></item><item><title>CopilotのAgent・SubAgent・Skillをポケモンに例えて理解する</title><link>https://ha.gizwoo.com/copilot-agent-pokemon-p7kqm3xzn9/</link><pubDate>Sat, 25 Apr 2026 09:30:00 +0900</pubDate><guid>https://ha.gizwoo.com/copilot-agent-pokemon-p7kqm3xzn9/</guid><description>&lt;p&gt;GitHub CopilotのAgent、SubAgent、Skillという用語は、公式ドキュメントを読んでもすぐには頭に入ってこない。特に「Agentの中でSubAgentが動き、Skillが読み込まれる」という階層構造は、文字で追うと混乱しやすい。ところが、これをポケモンに例えた瞬間、全体像がすっきり見えてくる。この記事では、その比喩を通じて三者の役割と使い分けを整理する。&lt;/p&gt;
&lt;h2 id="agentはトレーナー"&gt;Agentはトレーナー
&lt;/h2&gt;&lt;p&gt;Agentの役割は、目的を持ち、状況を判断し、手持ちを動かす存在である。これはポケモンのトレーナーそのものだ。たとえばサトシとゴウは、同じ世界を歩いていても目的がまったく違う。サトシは「ポケモンマスターになる」ことを目指し、ゴウは「すべてのポケモンを捕まえる」ことを目指している。目的が違えば、選ぶポケモンも、戦い方も、旅のルートも変わる。&lt;/p&gt;
&lt;p&gt;Agentが存在する理由は、ここにある。「バグを直したい」「新機能を設計したい」「リリースノートを書きたい」という目的ごとに、最適な進め方は違う。Agentは、その目的を受け取り、どのSubAgentにどう動いてもらうかを判断する司令塔の役割を担う。&lt;/p&gt;
&lt;h3 id="トレーナーとしてのagentの仕事"&gt;トレーナーとしてのAgentの仕事
&lt;/h3&gt;&lt;p&gt;トレーナーは自分で技を出すわけではない。代わりに、場面に応じて手持ちを選び、指示を出す。Agentも同じで、自分で細かい作業をこなすより、タスクの分解と委譲が主な仕事になる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;目的を設定する&lt;/li&gt;
&lt;li&gt;タスクをどう分割するかを決める&lt;/li&gt;
&lt;li&gt;どのSubAgentに任せるかを選ぶ&lt;/li&gt;
&lt;li&gt;結果を受け取って次の手を考える&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="subagentはポケモン"&gt;SubAgentはポケモン
&lt;/h2&gt;&lt;p&gt;SubAgentは、Agentに呼び出されて特定の仕事をこなす専門家である。これはポケモンに当たる。ピカチュウは電気技が得意で、リザードンは炎と飛行が得意、ゲンガーはゴーストとエスパー対策に強い、というように、ポケモンごとに得意分野がはっきりしている。&lt;/p&gt;
&lt;p&gt;SubAgentも同じで、「コードレビュー担当」「テスト作成担当」「ドキュメント整備担当」「セキュリティ監査担当」のように、役割ごとに専門化されている。Agentはタスクの性質を見て、適切なSubAgentを選んで呼び出す。これは、岩タイプ相手にはミズタイプを出す、という戦略と構造的に同じだ。&lt;/p&gt;
&lt;h3 id="手持ちを揃えるという発想"&gt;手持ちを揃えるという発想
&lt;/h3&gt;&lt;p&gt;ポケモンバトルで手持ちを6匹編成するように、Agentも複数のSubAgentを組み合わせて運用すると強い。単一の万能SubAgentを作ろうとするより、役割を分けておいた方が、プロンプトもコンテキストもシンプルに保てる。結果として、一匹あたりの判断精度が上がる。&lt;/p&gt;
&lt;h2 id="skillは技"&gt;Skillは技
&lt;/h2&gt;&lt;p&gt;Skillは、SubAgentが実行する具体的な動きである。これはポケモンの技に相当する。ここが比喩のキモで、技はポケモンに固有ではない。たとえば「でんこうせっか」はピカチュウも覚えるし、ニャースも覚える。「かみなり」はピカチュウだけでなく、サンダースやエレブーも使える。&lt;/p&gt;
&lt;p&gt;Skillも同じで、「Hugoフロントマター生成ルール」「PR説明文テンプレート」「テスト追加手順」といったSkillは、特定のSubAgentに紐付いているわけではなく、必要に応じて複数のSubAgentから再利用できる。これが「Skillは再利用可能な手順」と言われる理由だ。&lt;/p&gt;
&lt;h3 id="技マシンとしてのskill"&gt;技マシンとしてのSkill
&lt;/h3&gt;&lt;p&gt;ポケモンは技マシンを使うことで新しい技を覚えられる。Skillもこれに近い。SubAgentは自分の得意分野のコア能力を持ちつつ、必要なときにSkillを読み込んで能力を拡張する。Copilotの世界では、Agent Skillsが関連タスクのときだけコンテキストに注入される仕組みになっており、これはまさに「戦闘中に必要な技だけ繰り出す」構造と一致する。&lt;/p&gt;
&lt;h2 id="三者の関係を一枚絵で"&gt;三者の関係を一枚絵で
&lt;/h2&gt;&lt;p&gt;ここまでの対応関係を整理すると次のようになる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agent = トレーナー：目的を持ち、戦略を決める&lt;/li&gt;
&lt;li&gt;SubAgent = ポケモン：得意分野を持つ専門家&lt;/li&gt;
&lt;li&gt;Skill = 技：複数のポケモンで共有できる具体的な動き&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;バトルの流れに置き換えるなら、「トレーナーが目的に応じてポケモンを選び、場面に応じて技を指示する」という構造になる。実務に置き換えれば、「Agentがタスクを分解し、適切なSubAgentを呼び、SubAgentが必要なSkillを読み込んで実行する」となる。&lt;/p&gt;
&lt;h2 id="比喩が効く理由"&gt;比喩が効く理由
&lt;/h2&gt;&lt;p&gt;この比喩がわかりやすいのは、役割の粒度と再利用性がきれいに対応しているからだ。トレーナー同士は目的が違うから入れ替えにくい。ポケモンは得意分野で役割分担する。技はポケモンを跨いで共有できる。Copilotの三階層も、同じ粒度設計になっている。&lt;/p&gt;
&lt;h2 id="比喩が崩れるところ"&gt;比喩が崩れるところ
&lt;/h2&gt;&lt;p&gt;ただし、この比喩には一点だけ素直に対応しないところがある。ポケモンの世界ではトレーナーが直接技を繰り出すことはなく、技を出すのはあくまでポケモンだ。一方Copilotでは、AgentもSubAgentと同じようにSkillを読み込んで自分で実行できる。小さなタスクであればSubAgentを介さず、Agentがその場でSkillを使ってしまう方が速い場面も多い。トレーナーが必要に応じて自分でも技マシンを使えるイメージだと思っておくと、設計時にミスマッチが起きにくい。&lt;/p&gt;
&lt;p&gt;設計で迷ったときは、この比喩に戻ると判断しやすい。「これはトレーナーの仕事か、ポケモンの仕事か、それとも技か」と問い直すだけで、Agentに書くべきこと、SubAgentに閉じ込めるべきこと、Skillとして切り出すべきことが見えてくる。AIエージェントの設計は抽象的になりがちだが、手に馴染んだ比喩を一つ持っておくと、チームでの議論もかなり速くなる。&lt;/p&gt;</description></item><item><title>【GitHub Copilot】AgentとSkillの使い分け方</title><link>https://ha.gizwoo.com/copilot-agent-skill-v8kx3pqr2a/</link><pubDate>Thu, 23 Apr 2026 02:02:34 +0900</pubDate><guid>https://ha.gizwoo.com/copilot-agent-skill-v8kx3pqr2a/</guid><description>&lt;p&gt;GitHub Copilotを使っていると、「Agentに任せるべきか」「Skillとして定義すべきか」で迷う場面があります。どちらもAIに作業を助けてもらう仕組みですが、役割はかなり違います。この記事では、AgentとSkillをどう使い分けると開発効率が上がるのかを、具体例つきで整理します。&lt;/p&gt;
&lt;h2 id="agentは作業を進める担当者"&gt;Agentは「作業を進める担当者」
&lt;/h2&gt;&lt;p&gt;Agentは、ざっくり言えば「目的を渡すと、自律的に作業を進める担当者」です。GitHub Copilotのagent modeは、自然言語の指示をもとにコードベースを分析し、複数ステップの解決策を計画・実行し、コマンドやテストも実行できる同期的な協力者として説明されています。&lt;a class="link" href="https://github.blog/ai-and-ml/github-copilot/agent-mode-101-all-about-github-copilots-powerful-mode/" target="_blank" rel="noopener"
 &gt;GitHub Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえば、次のような依頼はAgent向きです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「このバグの原因を調べて修正して」&lt;/li&gt;
&lt;li&gt;「既存のAPIにページネーションを追加して」&lt;/li&gt;
&lt;li&gt;「テストが落ちているので原因を特定して直して」&lt;/li&gt;
&lt;li&gt;「このPRの変更に合わせてドキュメントも更新して」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ポイントは、作業のゴールは明確だが、途中で何を読むか、どのファイルを直すか、どのテストを回すかはAIに判断させたいケースです。GitHub Copilot coding agentは、GitHub上でバックグラウンド実行され、ブランチ作成、コミット、Pull Request作成などを含めて作業できる仕組みとして説明されています。&lt;a class="link" href="https://docs.github.com/copilot/concepts/agents/coding-agent/about-coding-agent" target="_blank" rel="noopener"
 &gt;GitHub Docs&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="agentに向いている指示例"&gt;Agentに向いている指示例
&lt;/h3&gt;&lt;p&gt;悪い例は「いい感じに改善して」です。範囲が広すぎて、Agentがどこまでやれば完了なのか判断しにくくなります。&lt;/p&gt;
&lt;p&gt;良い例は次のような形です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ユーザー一覧APIにlimitとcursorを追加してください。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;既存のレスポンス形式は壊さず、テストも追加してください。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;変更後に関連するREADMEのAPI例も更新してください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このように、完了条件、制約、確認方法を渡すと、Agentは動きやすくなります。&lt;/p&gt;
&lt;h2 id="skillは再利用できる作業手順"&gt;Skillは「再利用できる作業手順」
&lt;/h2&gt;&lt;p&gt;Skillは、Agentそのものではなく、Agentが必要なときに読み込める専門手順です。GitHub CopilotのAgent Skillsは、特定タスクの性能を上げるためにCopilotが読み込める「instructions、scripts、resourcesを含むフォルダ」と説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/about-agent-skills" target="_blank" rel="noopener"
 &gt;GitHub Docs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Skillに向いているのは、毎回同じルールでやりたい作業です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;「このリポジトリのテスト追加方針」&lt;/li&gt;
&lt;li&gt;「Hugo記事のフロントマター生成ルール」&lt;/li&gt;
&lt;li&gt;「社内APIクライアントの実装パターン」&lt;/li&gt;
&lt;li&gt;「GitHub Actions失敗時の調査手順」&lt;/li&gt;
&lt;li&gt;「リリースノートの書き方」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;たとえば、Hugoの記事を書くたびに「h1は使わない」「YAMLフロントマターを付ける」「タグとカテゴリを生成する」と毎回プロンプトに書くのは面倒です。これをSkillにしておけば、AgentやCopilotが該当タスクだと判断したときに、その手順を読み込んで作業できます。GitHubの説明でも、Skillが選ばれると&lt;code&gt;SKILL.md&lt;/code&gt;がAgentのコンテキストに注入され、指示や同梱されたスクリプト・例を使えるとされています。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/add-skills" target="_blank" rel="noopener"
 &gt;GitHub Docs&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="使い分けの判断基準"&gt;使い分けの判断基準
&lt;/h2&gt;&lt;p&gt;一番シンプルな判断基準は、「今回だけの作業か、今後も繰り返す型か」です。&lt;/p&gt;
&lt;h3 id="agentを使うべきケース"&gt;Agentを使うべきケース
&lt;/h3&gt;&lt;p&gt;Agentは、状況判断が必要な作業に向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;複数ファイルを横断して調査する&lt;/li&gt;
&lt;li&gt;実装、テスト、修正をまとめて進める&lt;/li&gt;
&lt;li&gt;エラー出力を見ながら試行錯誤する&lt;/li&gt;
&lt;li&gt;Pull Requestとして成果物を残したい&lt;/li&gt;
&lt;li&gt;途中の判断をAIに任せたい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;たとえば「Neovimプラグインの設定読み込み順を調べて、起動時間を悪化させずに修正して」という依頼はAgent向きです。対象ファイルの探索、原因調査、実装修正、ベンチマーク確認が必要だからです。&lt;/p&gt;
&lt;h3 id="skillを使うべきケース"&gt;Skillを使うべきケース
&lt;/h3&gt;&lt;p&gt;Skillは、作業の「やり方」を固定したい場合に向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;チーム固有のコーディング規約がある&lt;/li&gt;
&lt;li&gt;毎回同じフォーマットで記事やIssueを作る&lt;/li&gt;
&lt;li&gt;レビュー観点を統一したい&lt;/li&gt;
&lt;li&gt;特定ツールの実行手順を覚えさせたい&lt;/li&gt;
&lt;li&gt;失敗しやすい手順をチェックリスト化したい&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;たとえば「GoのAPIハンドラを追加するときは、handler、service、repository、migration、OpenAPI定義、テストを必ず更新する」というルールはSkill向きです。作業そのものはAgentに任せつつ、進め方はSkillで縛るイメージです。&lt;/p&gt;
&lt;h2 id="組み合わせると強い"&gt;組み合わせると強い
&lt;/h2&gt;&lt;p&gt;実践では、AgentとSkillは対立するものではありません。むしろ「Agentにタスクを任せ、Skillで作業品質を安定させる」と考えるのが自然です。GitHub Docsでも、簡単でほぼ全タスクに関係する指示はcustom instructionsに、関連時だけ読み込む詳細な指示はskillsに向いていると説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/add-skills" target="_blank" rel="noopener"
 &gt;GitHub Docs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;具体的には、次のように組み合わせます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Agentへの依頼:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;認証APIにパスワードリセット機能を追加してください。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Skill側の定義:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- このプロジェクトのAPI実装パターン
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- テスト作成ルール
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- エラーレスポンス形式
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- OpenAPI更新手順
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- セキュリティレビュー観点
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この形にすると、Agentは自律的に作業しつつ、プロジェクト固有のルールから外れにくくなります。&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Agentは「タスクを進める実行者」、Skillは「実行者に渡す専門マニュアル」です。迷ったら、まずはAgentに任せる単位を「完了条件のある作業」として切り出し、何度も繰り返す手順や品質基準をSkill化するとよいでしょう。&lt;/p&gt;
&lt;p&gt;開発者にとって重要なのは、AIに丸投げすることではなく、AIが迷わず動ける環境を設計することです。Agentで作業を進め、Skillで再現性を高める。この組み合わせを意識すると、Copilotは単なる補完ツールから、かなり実用的な開発パートナーに近づきます。&lt;/p&gt;</description></item><item><title>【AI開発】GitHub Copilot Custom Agentsの作り方</title><link>https://ha.gizwoo.com/copilot-custom-agents-hx7pqm2la9/</link><pubDate>Wed, 22 Apr 2026 01:43:00 +0900</pubDate><guid>https://ha.gizwoo.com/copilot-custom-agents-hx7pqm2la9/</guid><description>&lt;p&gt;GitHub Copilotを「自分用の開発エージェント」として使うなら、custom agentsはかなり重要な機能です。毎回プロンプトで細かい前提を説明するのではなく、役割、制約、利用できるツール、判断基準をMarkdownファイルとして定義しておくことで、Copilotをタスク特化のチームメイトとして扱いやすくなります。&lt;/p&gt;
&lt;h2 id="custom-agentsとは何か"&gt;Custom Agentsとは何か
&lt;/h2&gt;&lt;p&gt;GitHub Docsでは、custom agentsはワークフロー、コーディング規約、ユースケースに合わせて調整できるCopilot agentの特殊版として説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-custom-agents" target="_blank" rel="noopener"
 &gt;About custom agents&lt;/a&gt; つまり、Copilot本体に「このタスクではセキュリティレビュアとして振る舞う」「このタスクではREADME作成者として振る舞う」といった専門性を持たせる仕組みです。&lt;/p&gt;
&lt;p&gt;custom agentは、agent profileと呼ばれるMarkdownファイルで定義します。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-custom-agents" target="_blank" rel="noopener"
 &gt;About custom agents&lt;/a&gt; このagent profileには、YAML frontmatterで名前、説明、利用ツール、MCPサーバなどを書き、本文にエージェントの振る舞いを自然言語で記述します。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;通常のcustom instructionsが「リポジトリ全体の常時ルール」だとすると、custom agentsは「特定の役割を持つ担当者」です。たとえば、&lt;code&gt;docs-writer&lt;/code&gt;、&lt;code&gt;test-specialist&lt;/code&gt;、&lt;code&gt;security-auditor&lt;/code&gt;、&lt;code&gt;ci-debugger&lt;/code&gt; のように分けておくと、1つの万能エージェントにすべてを背負わせずに済みます。&lt;/p&gt;
&lt;h2 id="どこに配置するか"&gt;どこに配置するか
&lt;/h2&gt;&lt;p&gt;リポジトリ単位で使うcustom agentは、&lt;code&gt;.github/agents/&lt;/code&gt; に配置します。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/create-custom-agents" target="_blank" rel="noopener"
 &gt;Creating custom agents&lt;/a&gt; ファイル拡張子は &lt;code&gt;.agent.md&lt;/code&gt; で、たとえば &lt;code&gt;.github/agents/security-auditor.agent.md&lt;/code&gt; のように作ります。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;個人用に複数リポジトリで使いたい場合は、Copilot CLIでは &lt;code&gt;~/.copilot/agents/&lt;/code&gt; に配置できます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; 同じ名前のエージェントがプロジェクト側とユーザー側にある場合、CLIではホームディレクトリ側のcustom agentが優先されます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;OrganizationやEnterpriseで共通利用したい場合は、&lt;code&gt;.github-private&lt;/code&gt; リポジトリの &lt;code&gt;/agents/&lt;/code&gt; に配置できます。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-custom-agents" target="_blank" rel="noopener"
 &gt;About custom agents&lt;/a&gt; 個人の作業ルールならユーザー側、プロジェクト固有の規約ならリポジトリ側、組織標準ならOrganization側、という切り分けがよさそうです。&lt;/p&gt;
&lt;h2 id="最小のagent-profile"&gt;最小のagent profile
&lt;/h2&gt;&lt;p&gt;最小構成は、&lt;code&gt;description&lt;/code&gt; と本文のプロンプトです。&lt;code&gt;description&lt;/code&gt; は必須フィールドで、custom agentの目的と能力を説明します。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: docs-writer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: README、ADR、リリースノート、開発者向けドキュメントを作成・改善するドキュメント専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;edit&amp;#34;, &amp;#34;search&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたはドキュメント作成の専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの責務:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; README、ADR、リリースノート、開発者向けドキュメントを改善する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 簡潔で読みやすいMarkdownを書く
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 既存の用語、文体、プロジェクトの慣習を尊重する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 明示的に依頼されない限り、本番コードは変更しない
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;編集前に行うこと:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 既存ドキュメントの文体と構成を確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 読者が誰かを明確にする
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 依頼が曖昧な場合は、先にアウトラインを提案する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;編集後に行うこと:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 何を変更したかを要約する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 前提にしたことや不足している情報を列挙する
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;tools&lt;/code&gt; を省略すると、利用可能なすべてのツールが有効になります。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; 安全に始めるなら、&lt;code&gt;read&lt;/code&gt;、&lt;code&gt;search&lt;/code&gt;、&lt;code&gt;edit&lt;/code&gt; のように必要なツールだけを明示するのがおすすめです。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="toolsで権限を絞る"&gt;toolsで権限を絞る
&lt;/h2&gt;&lt;p&gt;custom agentの実用性は、プロンプトだけでなくtoolsの制御で決まります。GitHub Docsでは、&lt;code&gt;tools&lt;/code&gt; に &lt;code&gt;read&lt;/code&gt;、&lt;code&gt;edit&lt;/code&gt;、&lt;code&gt;search&lt;/code&gt;、&lt;code&gt;execute&lt;/code&gt;、&lt;code&gt;agent&lt;/code&gt; などのエイリアスを指定できると説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえば、レビュー専用エージェントなら編集権限を持たせないほうが安全です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: read-only-reviewer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: ファイルを編集せず、コードやドキュメントを読み取り専用でレビューするエージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたは読み取り専用のレビュー担当です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの責務:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 依頼されたファイルをレビューする
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; リスク、不整合、テスト不足、説明不足を見つける
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 具体的な修正案を提示する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ファイルは編集しない
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;出力形式:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 概要
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 指摘事項
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 修正案
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 確信度
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このように &lt;code&gt;tools: [&amp;quot;read&amp;quot;, &amp;quot;search&amp;quot;]&lt;/code&gt; にしておけば、レビュー担当が勝手にファイル編集するリスクを下げられます。逆に、CI修正担当なら &lt;code&gt;execute&lt;/code&gt; を含めることでテストやlintを実行できるようにします。&lt;/p&gt;
&lt;h2 id="mcpをagent専用にする"&gt;MCPをagent専用にする
&lt;/h2&gt;&lt;p&gt;custom agentには &lt;code&gt;mcp-servers&lt;/code&gt; を設定できます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; ただし、&lt;code&gt;mcp-servers&lt;/code&gt; プロパティはGitHub.com上のCopilot cloud agent向けで、VS CodeなどのIDE custom agentsでは使われないとされています。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;MCPツールは、&lt;code&gt;server-name/tool-name&lt;/code&gt; のようにサーバ名付きで指定できます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; たとえばPlaywright系の検証エージェントなら、Playwrightのツールだけを許可する設計が考えられます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: ui-regression-tester
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: Playwrightを使って画面挙動やUI回帰を検証するテスト専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;, &amp;#34;edit&amp;#34;, &amp;#34;execute&amp;#34;, &amp;#34;playwright/*&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたはUI回帰テストの専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの責務:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 既存のUIテストパターンを確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 変更された挙動に対して、焦点を絞ったPlaywrightテストを追加する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 利用可能な場合は、関連するテストコマンドを実行する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 失敗した場合は、再現手順と原因候補を整理する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;制約:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 関係のないUIコードはリファクタリングしない
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 小さく、目的が明確なテストを優先する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; テスト環境が利用できない場合は、不足しているセットアップを明確に説明する
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ツールを絞ると、エージェントの役割と権限境界が明確になります。これは前回整理した「安全性ガード」レイヤを、Copilot custom agentの設定として実装するイメージです。&lt;/p&gt;
&lt;h2 id="targetとmodelを使い分ける"&gt;targetとmodelを使い分ける
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;target&lt;/code&gt; を使うと、custom agentの対象環境を &lt;code&gt;vscode&lt;/code&gt; または &lt;code&gt;github-copilot&lt;/code&gt; に限定できます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; 省略した場合は両方の環境が対象になります。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;model&lt;/code&gt; を指定すると、そのcustom agentが実行されるときのモデルを指定できます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; ただし、モデル指定は環境や利用可能なモデルに依存するので、最初は省略してデフォルトモデルを使い、必要になってから調整するほうが運用しやすいです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: implementation-planner
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: コードを変更する前に、実装計画と技術仕様を作成する計画専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;target: github-copilot
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;, &amp;#34;edit&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたは実装計画の専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの仕事は、実装前に計画を作ることです。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;必ず含める内容:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ゴール
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 対象範囲
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 対象外とすること
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 影響を受けるファイルまたはモジュール
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ステップごとの実装計画
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; テスト計画
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; リスクとロールバック方針
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ユーザーが明示的に実装を依頼しない限り、コードは変更しないでください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;計画専用エージェントは、実装前のレビューやIssue整理と相性がよいです。&lt;code&gt;ユーザーが明示的に実装を依頼しない限り、コードは変更しないでください&lt;/code&gt; のように明示しておくと、ResearchやPlanの段階で勝手に変更が進むのを防ぎやすくなります。&lt;/p&gt;
&lt;h2 id="自動選択させるか手動選択にするか"&gt;自動選択させるか、手動選択にするか
&lt;/h2&gt;&lt;p&gt;Copilot CLIでは、&lt;code&gt;/agent&lt;/code&gt; でcustom agentを選択できます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; また、プロンプト内で特定のagent名を指定したり、&lt;code&gt;copilot --agent security-auditor --prompt &amp;quot;...&amp;quot;&lt;/code&gt; のようにコマンドライン引数で指定したりできます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;自動で使わせたくない場合は、&lt;code&gt;disable-model-invocation: true&lt;/code&gt; を設定すると、Copilot cloud agentがタスク文脈から自動利用することを無効にできます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt; 逆に、ユーザーが手動選択できないagentにしたい場合は、&lt;code&gt;user-invocable: false&lt;/code&gt; を使えます。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: dangerous-change-reviewer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: 本番環境やインフラに影響する危険な変更を、読み取り専用で確認するレビュー専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;disable-model-invocation: true
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたは本番影響のある変更を確認するレビュー担当です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;このエージェントは、明示的に選択された場合だけ使用してください。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;確認すること:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 本番環境への影響
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ロールバック方針
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; シークレットの露出
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 権限変更
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; データ削除またはデータ移行のリスク
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 人間の承認が必要な箇所
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ファイルは絶対に編集しないでください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;本番、権限、削除、課金に関係する領域では、自動起動よりも手動選択のほうが安全です。&lt;/p&gt;
&lt;h2 id="cliで作る流れ"&gt;CLIで作る流れ
&lt;/h2&gt;&lt;p&gt;Copilot CLIでは、interactive modeで &lt;code&gt;/agent&lt;/code&gt; を入力し、&lt;code&gt;Create new agent&lt;/code&gt; を選ぶことでcustom agentを作成できます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; 作成場所はProjectの &lt;code&gt;.github/agents/&lt;/code&gt; か、Userの &lt;code&gt;~/.copilot/agents/&lt;/code&gt; から選べます。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;CLIでは、Copilotにagent profileの初期案を生成させる方法と、自分で手動作成する方法があります。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; 手動作成では、名前、説明、振る舞い、制約、利用ツールを順番に定義します。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;作成後はCLIの再起動が必要です。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt; 使うときは &lt;code&gt;/agent&lt;/code&gt; で選択するか、プロンプトで &lt;code&gt;security-auditorエージェントを使って、この差分をレビューして&lt;/code&gt; のように明示します。&lt;a class="link" href="https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli" target="_blank" rel="noopener"
 &gt;Creating custom agents for Copilot CLI&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="おすすめの設計パターン"&gt;おすすめの設計パターン
&lt;/h2&gt;&lt;p&gt;最初に作るなら、次の3種類がおすすめです。&lt;/p&gt;
&lt;h3 id="docs-writer"&gt;docs-writer
&lt;/h3&gt;&lt;p&gt;README、ADR、ブログ記事、リリースノートを担当するagentです。編集対象をドキュメントに限定し、既存の文体、見出し構造、リンク形式を守るように指示します。&lt;/p&gt;
&lt;h3 id="test-specialist"&gt;test-specialist
&lt;/h3&gt;&lt;p&gt;テスト追加とテスト品質レビューを担当するagentです。GitHub Docsの設定例でも、test specialistは既存テストの分析、カバレッジギャップの特定、テスト追加に集中するagentとして紹介されています。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: test-specialist
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: テストカバレッジ、テスト品質、テスト設計を改善するテスト専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;, &amp;#34;edit&amp;#34;, &amp;#34;execute&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたはテスト品質を改善する専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたの責務:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 既存テストを読み、テスト方針を把握する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; カバレッジ不足や重要な未検証ケースを見つける
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ユニットテスト、統合テスト、E2Eテストを必要に応じて追加する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; テストは独立していて、再現性があり、読みやすい状態にする
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 明示的に依頼されない限り、本番コードの変更は最小限にする
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;作業後は、追加したテスト、実行したコマンド、失敗した場合の理由をまとめてください。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ci-debugger"&gt;ci-debugger
&lt;/h3&gt;&lt;p&gt;GitHub Actionsやローカルlintの失敗を調べるagentです。&lt;code&gt;read&lt;/code&gt;、&lt;code&gt;search&lt;/code&gt;、&lt;code&gt;execute&lt;/code&gt; を許可し、まずログを読み、原因候補を出し、最小差分で修正し、再実行結果をまとめるようにします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: ci-debugger
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: CI、lint、testの失敗原因を調査し、最小差分で修正するCIデバッグ専門エージェント
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tools: [&amp;#34;read&amp;#34;, &amp;#34;search&amp;#34;, &amp;#34;edit&amp;#34;, &amp;#34;execute&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;あなたはCIデバッグの専門家です。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;作業手順:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; 失敗しているジョブ、コマンド、エラーメッセージを確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; 関連する設定ファイル、スクリプト、依存関係を調べる
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; 原因候補を優先度つきで整理する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;4.&lt;/span&gt; 最小差分で修正する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;5.&lt;/span&gt; 可能であれば、失敗したコマンドを再実行する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;制約:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 関係のないリファクタリングはしない
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; lockfileや依存関係を変更する場合は理由を説明する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; テストを無効化して通す対応は避ける
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 再現できない場合は、確認した事実と次に見るべき箇所をまとめる
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="作るときの注意点"&gt;作るときの注意点
&lt;/h2&gt;&lt;p&gt;custom agentは、万能化しすぎないほうがよいです。GitHub Docsでも、custom agentsは特定のワークフロー、規約、ユースケースに合わせるものとして説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-custom-agents" target="_blank" rel="noopener"
 &gt;About custom agents&lt;/a&gt; 役割が広すぎると、通常のCopilot Chatと差がなくなります。&lt;/p&gt;
&lt;p&gt;また、&lt;code&gt;description&lt;/code&gt; はかなり重要です。custom agentの目的と能力を説明する必須項目であり、Copilotがいつそのagentを使うべきか判断する手がかりになります。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最後に、toolsは最小権限で始めるのがおすすめです。&lt;code&gt;tools&lt;/code&gt; を省略するとすべての利用可能ツールが有効になるため、レビュー専用、計画専用、ドキュメント専用のagentでは、必要なツールだけに絞ったほうが安全です。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/custom-agents-configuration" target="_blank" rel="noopener"
 &gt;Custom agents configuration&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Copilot custom agentsは、特別なAI基盤を作る機能ではなく、Copilotに「役割」「判断基準」「使えるツール」「禁止事項」を渡すためのファイルベースの仕組みです。まずは &lt;code&gt;.github/agents/docs-writer.agent.md&lt;/code&gt; のような小さなagentから始め、効果が見えたら &lt;code&gt;test-specialist&lt;/code&gt;、&lt;code&gt;ci-debugger&lt;/code&gt;、&lt;code&gt;security-auditor&lt;/code&gt; のように分割していくのが現実的です。&lt;/p&gt;
&lt;p&gt;重要なのは、エージェントを増やすことではなく、責務と権限境界を明確にすることです。custom agentsをうまく使うと、Copilotは単なる補完ツールではなく、リポジトリの文脈とチームの作法を理解した専門家チームに近づきます。&lt;/p&gt;</description></item><item><title>【AI開発】GitHub Copilotで自分用エージェントを作る考え方</title><link>https://ha.gizwoo.com/copilot-agent-workflow-r8nyp4slm0/</link><pubDate>Wed, 22 Apr 2026 01:32:00 +0900</pubDate><guid>https://ha.gizwoo.com/copilot-agent-workflow-r8nyp4slm0/</guid><description>&lt;p&gt;前回は、エージェントAIの設計パターンを「ゴールと計画」「推論と自己改善」「協調」「安全性ガード」の4レイヤで整理しました。今回はその考え方を、GitHub Copilotで実際に使える形へ落とし込みます。ポイントは、Copilotを単なる補完ツールではなく、指示、ツール、権限、検証手順を与えた「開発ワークフロー用エージェント」として設計することです。&lt;/p&gt;
&lt;h2 id="copilotで作れるエージェントの種類"&gt;Copilotで作れるエージェントの種類
&lt;/h2&gt;&lt;p&gt;まず、Copilotには大きく2つの使い方があります。VS CodeなどのIDEで使うagent modeと、GitHub上で動くCopilot cloud agentです。GitHub Docsでは、cloud agentはリポジトリを調査し、実装計画を作り、ブランチ上で変更し、必要に応じてPull Requestを作れると説明されています。&lt;a class="link" href="https://docs.github.com/copilot/concepts/agents/coding-agent/about-coding-agent" target="_blank" rel="noopener"
 &gt;About GitHub Copilot cloud agent&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;一方、VS Codeのagent modeはローカル開発環境の中で動く自律的なペアプログラマです。VS Codeのブログでは、agent modeはコードベースを分析し、ファイル編集を提案し、ターミナルコマンドを実行し、コンパイルやlintエラーを見て修正ループを回せると説明されています。&lt;a class="link" href="https://code.visualstudio.com/blogs/2025/04/07/agentMode" target="_blank" rel="noopener"
 &gt;VS Code Agent mode&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ざっくり分けると、ローカルで一緒に試行錯誤するならIDEのagent mode、IssueやPR単位で非同期に任せるならcloud agentが向いています。&lt;/p&gt;
&lt;h2 id="1-ゴール定義はプロンプトとinstructionsで作る"&gt;1. ゴール定義はプロンプトとinstructionsで作る
&lt;/h2&gt;&lt;p&gt;エージェント設計の最初の層は、曖昧な依頼を実行可能なタスクへ変換することです。Copilotでは、ここをプロンプトとcustom instructionsで作ります。&lt;/p&gt;
&lt;p&gt;リポジトリ全体の前提は &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; に書けます。GitHub Docsでは、リポジトリ全体のcustom instructionsとしてこのファイルを作り、プロジェクト構造、ビルド方法、テスト方法、コーディング規約などをMarkdownで記述できると説明されています。&lt;a class="link" href="https://docs.github.com/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot" target="_blank" rel="noopener"
 &gt;Adding repository custom instructions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえばDevOps系リポジトリなら、次のような情報を入れておきます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Repository instructions
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 変更前に対象サービス、環境、影響範囲を確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; CI/CD関連の変更では &lt;span style="color:#e6db74"&gt;`.github/workflows/`&lt;/span&gt; と &lt;span style="color:#e6db74"&gt;`scripts/`&lt;/span&gt; を必ず確認する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 破壊的操作や本番反映は実行せず、計画と差分だけ提示する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 変更後は &lt;span style="color:#e6db74"&gt;`make test`&lt;/span&gt; と &lt;span style="color:#e6db74"&gt;`make lint`&lt;/span&gt; を実行する
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これは、前回の記事でいうPassive Goal CreatorとGuardrailsを、Copilot向けの常時コンテキストとして実装しているイメージです。&lt;/p&gt;
&lt;h2 id="2-パス別instructionsで役割を分ける"&gt;2. パス別instructionsで役割を分ける
&lt;/h2&gt;&lt;p&gt;リポジトリ全体の指示だけだと、フロントエンド、バックエンド、インフラ、ドキュメントでルールが混ざります。そこで &lt;code&gt;.github/instructions/*.instructions.md&lt;/code&gt; を使います。GitHub Docsでは、&lt;code&gt;applyTo&lt;/code&gt; frontmatterで対象パスを指定するpath-specific custom instructionsを作れると説明されています。&lt;a class="link" href="https://docs.github.com/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot" target="_blank" rel="noopener"
 &gt;Adding repository custom instructions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえばHugoブログなら、記事用のinstructionsを次のように分けられます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;applyTo: &amp;#34;content/posts/**/*.md&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Blog post rules
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; frontmatterには title, slug, draft, date, tags, categories, description を含める
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 本文では h1 を使わず、h2/h3 で構成する
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 外部情報を使った場合はMarkdownリンクで出典を残す
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; draft は明示がなければ false にする
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これにより、Copilotは「記事編集時のエージェント」と「コード編集時のエージェント」で振る舞いを変えやすくなります。&lt;/p&gt;
&lt;h2 id="3-custom-agentsで専門エージェント化する"&gt;3. custom agentsで専門エージェント化する
&lt;/h2&gt;&lt;p&gt;さらに踏み込むなら、custom agentsを使います。GitHubのcustomization cheat sheetでは、custom agentsは独自のinstructions、tool restrictions、contextを持つ専門ペルソナで、&lt;code&gt;.github/agents/AGENT-NAME.md&lt;/code&gt; などに置けると整理されています。&lt;a class="link" href="https://docs.github.com/en/copilot/reference/customization-cheat-sheet" target="_blank" rel="noopener"
 &gt;Copilot customization cheat sheet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;たとえば、次のようなエージェントを用意できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;docs-writer&lt;/code&gt;: README、ADR、ブログ記事、リリースノートを書く&lt;/li&gt;
&lt;li&gt;&lt;code&gt;test-generator&lt;/code&gt;: 既存コードを読んでユニットテストを追加する&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ci-debugger&lt;/code&gt;: GitHub Actionsの失敗ログを読み、再現手順と修正案を出す&lt;/li&gt;
&lt;li&gt;&lt;code&gt;security-reviewer&lt;/code&gt;: 依存関係、権限、シークレット混入を確認する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは、前回の4レイヤでいう「協調」レイヤです。最初から巨大な万能エージェントを作るより、役割ごとに分けるほうがレビューしやすくなります。&lt;/p&gt;
&lt;h2 id="4-mcpでツールを増やす"&gt;4. MCPでツールを増やす
&lt;/h2&gt;&lt;p&gt;Copilotを本当のエージェントらしくするには、外部ツールへのアクセスが重要です。GitHub Docsでは、MCPを使うとCopilot agent modeが外部データソース、API、ツールへアクセスでき、調査、計画、実装、検証のループを回しやすくなると説明されています。&lt;a class="link" href="https://docs.github.com/en/copilot/tutorials/enhance-agent-mode-with-mcp" target="_blank" rel="noopener"
 &gt;Enhancing GitHub Copilot agent mode with MCP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;開発者向けには、まず次のようなMCPサーバから始めるのが現実的です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub MCP: Issue、PR、ブランチ、Actionsの情報を見る&lt;/li&gt;
&lt;li&gt;Playwright MCP: UIを操作してE2Eやアクセシビリティを確認する&lt;/li&gt;
&lt;li&gt;Figma MCP: デザイン仕様を読み、実装との差分を確認する&lt;/li&gt;
&lt;li&gt;独自MCP: 社内API、ログ、メトリクス、デプロイ情報を読む&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MCPを足すときは、いきなり全部つなげないほうが安全です。公式ドキュメントでも、目的に合うサーバを選び、シンプルに始め、接続確認をしてからagent modeのタスクに使うことが推奨されています。&lt;a class="link" href="https://docs.github.com/en/copilot/tutorials/enhance-agent-mode-with-mcp" target="_blank" rel="noopener"
 &gt;Enhancing GitHub Copilot agent mode with MCP&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="5-変更前にフェーズを分ける"&gt;5. 変更前にフェーズを分ける
&lt;/h2&gt;&lt;p&gt;Copilotにいきなり「全部直して」と頼むと、どの設計判断が正しかったのか追いづらくなります。おすすめは、Research、Plan、Implement、Validateの4フェーズに分けることです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. Research: まず関連ファイル、Issue、CIログを調べて、原因候補を列挙して。まだ変更しない。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2. Plan: 修正方針を2案出し、リスク、影響範囲、検証方法を比較して。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;3. Implement: 採用した方針で最小差分を実装して。関係ない整形はしない。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;4. Validate: テスト、lint、手動確認項目を実行し、結果をまとめて。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これはPlan &amp;amp; Execute、Prompt Chaining、Evaluator-OptimizerをCopilot上で手動フェーズ化したものです。特に本番系やCI/CD系の変更では、「まだ変更しない」「PRを作る前に計画だけ出す」「破壊的操作はしない」と明示するだけで事故を減らせます。&lt;/p&gt;
&lt;h2 id="最小構成のおすすめ"&gt;最小構成のおすすめ
&lt;/h2&gt;&lt;p&gt;まず作るなら、次の3点で十分です。&lt;/p&gt;
&lt;p&gt;1つ目は &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; です。リポジトリ概要、セットアップ、テスト、禁止事項、レビュー観点を書きます。&lt;/p&gt;
&lt;p&gt;2つ目は &lt;code&gt;.github/instructions/&lt;/code&gt; です。&lt;code&gt;frontend.instructions.md&lt;/code&gt;、&lt;code&gt;backend.instructions.md&lt;/code&gt;、&lt;code&gt;docs.instructions.md&lt;/code&gt; のように、パスごとのルールを分けます。&lt;/p&gt;
&lt;p&gt;3つ目はMCPを1つだけ足すことです。GitHub連携かPlaywright連携のように、普段の開発で効果が見えやすいものから始めます。&lt;/p&gt;
&lt;p&gt;この構成なら、単一エージェントでも「ゴール定義」「推論と実行」「安全性ガード」までかなり表現できます。必要になったタイミングで、custom agentsやagent skillsを追加し、docs-writer、ci-debugger、security-reviewerのような専門エージェントへ分割すればよいです。&lt;/p&gt;
&lt;p&gt;Copilotでエージェントを作るとは、特別なAI基盤を最初から作ることではありません。自分の開発プロセスを、instructions、prompt、agent、MCP、承認フローとして明文化することです。設計パターンを意識してCopilotに渡す文脈を整えるほど、単なる補完ツールから、頼れる開発パートナーに近づいていきます。&lt;/p&gt;</description></item></channel></rss>