VS Code の GitHub Copilot Chat には、「Ask」「Edit」「Agent」という 3 つのモードがあります。これらの違いについては、以下のような理解をしている人が多いのではないでしょうか(自分もそうでした)。 Ask: 質問に答えてくれる (Read オンリー) Edit: ファイルを編集してくれる (Read/Write) Agent: 複雑なタスクを自律的にこなしてくれる 上記のような理解で実情困ることはあまりないのですが、動作を知らないが故に、「なんか Ask モードは回答が妙だな」とか「Edit と Agent の編集ってなにか違うの?」と思うことが結構あります。 このような(煩)悩に苛まれたままでは年を越せない、ということで、microsoft/vscode-copilot-chat のコードを実際に読みながら、実装レベルでこれらのモードの違いを探って

