ChatGPT 4.1 さんとやり取りにながらまとめていただきました。
YouTube動画は日本語字幕がついていました。
Enhance productivity with AI + Remote Dev https://code.visualstudio.com/blogs/2025/05/27/ai-and-remote
2025年5月27日に公開されたVisual Studio Code(VS Code)の公式ブログ「Enhance productivity with AI + Remote Dev」では、リモート開発環境におけるAIの活用方法と、その生産性向上への寄与について詳述されています。以下にその内容を日本語で解説・要約いたします。(Visual Studio Code)
リモート開発とは?
VS Codeのリモート開発機能は、以下の5つの主要な方法を提供しています:
- Remote – SSH:SSHを使用してリモートマシンや仮想マシン(VM)上のフォルダーを開くことで、任意の場所に接続できます。
- Dev Containers:プロジェクトに必要な依存関係を含むコンテナ化された環境で作業できます。
- WSL(Windows Subsystem for Linux):Windows上でLinuxの開発体験を提供します。
- Remote – Tunnels:SSHの設定なしで、安全なトンネルを介してリモートマシンに接続できます。
- GitHub Codespaces:管理されたリモート環境での開発を可能にします。
これらの機能により、どこからでも柔軟に開発作業を行うことができます。
リモート環境でのAI活用方法
VS Codeでは、ローカル環境と同様にリモート環境でもAI機能をシームレスに利用できます。例えば、ローカルでGitHub Copilotを使用している場合、リモート環境でも自動的にインストールされます。また、GitHub CodespacesにもCopilotが事前に設定されています。(Visual Studio Code)
さらに、以下のAI機能を活用することで、リモートワークフローを強化できます:
- カスタムインストラクション:AIの応答をプロジェクトのコーディングスタイルや技術スタックに合わせて調整できます。
- チャット参加者:リモート環境のセットアップやトラブルシューティングをチャットで支援します。
- ツールの承認:リモート環境での自律的なコーディングセッションを安全に実行できます。
リモート環境向けのAI体験のカスタマイズ
LLM(大規模言語モデル)を使用する際、ユーザーからよく寄せられる要望の一つが、「LLMに自分のコードやコーディング習慣をよりよく理解させる方法」です。これに対して、カスタムインストラクションを使用することで、一般的なガイドラインやルールを記述し、特定のコーディングスタイルや技術スタックに合った応答を得ることができます。これにより、毎回のAIチャットクエリに手動でコンテキストを含める必要がなくなります。
Dev ContainerでのAI設定
Dev Container内でAI機能を活用することで、プロジェクトのセットアップや依存関係の管理を効率化できます。AIは、コンテナ内の環境設定を理解し、必要なパッケージのインストールや設定ファイルの調整を支援します。(Visual Studio Code)
チャットを活用したリモート環境のセットアップとトラブルシューティング
VS Codeのチャット機能を使用することで、リモート環境のセットアップやトラブルシューティングを対話的に行うことができます。例えば、リモート接続の問題をAIに相談することで、適切な解決策を提案してもらえます。
リモート環境での自律的なコーディングセッションの安全な実行
エージェントモードを使用することで、AIが自律的にコードの生成や修正を行うセッションを実行できます。リモート環境では、これらのセッションを安全に実行するためのツール承認機能が提供されています。ユーザーは、AIがアクセスできるツールやリソースを明示的に承認することで、セキュリティを確保できます。
今後の展望
VS Codeは、AIとリモート開発の統合をさらに進め、開発者の生産性向上を目指しています。今後のアップデートでは、より高度なAI機能やリモート開発環境の改善が期待されます。
詳細については、公式ブログ記事をご参照ください:
🔗 Enhance productivity with AI + Remote Dev
AI and Remote Development in VS Code – YouTube
VS Codeのリモート開発とAI機能:シームレスな連携とカスタムインストラクションによる最適化
はじめに
Visual Studio Code (VS Code) のリモート開発機能は、開発者が場所を選ばずに、ほぼあらゆる種類のプロジェクトに取り組むことを可能にします。この強力な機能は、ローカル環境と変わらないシームレスな開発体験を提供し、さらにGitHub Copilotなどの統合されたAI機能によってその能力を拡張します。本資料では、VS Codeのリモート開発環境においてAI機能がどのように機能し、特に「カスタムインストラクション」を活用してAI体験をどのように最適化できるかについて解説します。
1. VS Codeにおけるリモート開発の概要
VS Codeは、多様なリモート開発シナリオに対応するための5つの主要な体験を提供しています。
- Dev Containers: アプリケーションの依存関係をすべて含んだ隔離された開発コンテナを起動し、一貫した開発環境を保証します。
- WSL (Windows Subsystem for Linux): Windows上でLinux環境を利用し、フルタイムの開発環境として活用できます。
- Remote-SSH: SSHプロトコルを使用して、物理的なリモートマシンや仮想マシンに接続し、そこで開発作業を行います。
- Remote-Tunnels: SSH設定を直接変更することなく、ローカルマシンをインターネット経由で安全に公開し、どこからでもアクセスできるトンネルを構築します。
- GitHub Codespaces: GitHubによってホストされる、完全に管理されたクラウドベースの開発環境に直接接続します。
これらのリモート環境に接続した際、ローカルでGitHub Copilotを使用していれば、AI機能は自動的にリモート環境にもインストールされ、シームレスに利用可能になります。これにより、コード補完(次に入力すべきコードを予測するゴーストテキスト)や、次に編集すべきコードの塊を提案する「next edit suggestions」といったAI支援機能が、リモート環境でもローカルと変わらずに提供されます。
2. リモート開発環境における主要なAI機能と活用法
リモート開発中でも、AI機能は開発者のワークフローを強力にサポートします。特に注目すべき機能をいくつか紹介します。
- チャット参加者 (Chat Participants):
- チャット入力欄で
@
記号を入力することで、特定のドメイン知識を持つAIエキスパート(チャット参加者)を呼び出すことができます。 - 例:
@vscode
(VS Code自体に関する質問)、@remote-ssh
(リモートSSH接続の設定やトラブルシューティング)。 - リモートSSH接続に失敗した場合、「Copilotで診断 (Diagnose with Copilot)」オプションを選択すると、
@remote-ssh
参加者が起動し、問題解決のための即時的な洞察を提供してくれます。
- チャット入力欄で
- エージェントモード (Agent Mode):
- ファイル編集、ターミナルコマンドの実行、エラー発生時の反復的な修正といったタスクを自律的に実行できるAIペアプログラマーです。
- PlaywrightのようなMCPサーバーや、Prompt Boostのような拡張機能、あるいはCodebaseのような組み込み機能など、様々な「ツール」を呼び出す能力が特徴です。
- ツールの承認: エージェントモードが実行する可能性のある破壊的なアクションを防ぐため、ツールの使用にはユーザーの承認が必要です。
chat.tools.autoApprove
設定: この設定を有効にすると、エージェントモードによるツールの使用を自動的に承認できます。特にリモート環境(Dev Containerなど)に限定してこの設定をオンにすることで、ローカルマシンを保護しつつ、リモート環境ではAIエージェントがより自律的に動作できるようになります。
3. カスタムインストラクションによるAI体験の最適化
カスタムインストラクションは、GitHub Copilotのチャット機能やその他のAI機能に対して、特定のコンテキストや指示を事前に定義しておくことで、AIの応答の質と関連性を向上させるための強力な仕組みです。
- 目的とメリット:
- 応答の質の向上: プロジェクト固有のルール、コーディング規約、使用技術などをAIに伝えることで、より適切な提案を得られます。
- 時間短縮: 共通情報を毎回プロンプトに記述する手間を削減します。
- 一貫性の確保: チームで共通の指示を共有することで、AIによる提案のスタイルを統一できます。
- コンテキストの明確化: AIが現在の作業環境をより深く理解し、状況に応じたサポートを提供しやすくなります。
- 設定場所と種類:
- ユーザーレベル/ワークスペースレベル: 通常、プロジェクトルートの
.vscode/copilot-instructions.md
のようなMarkdownファイルに指示を記述します。そのワークスペースを開いている間、AI機能に影響を与えます。- 例: 「このプロジェクトではTypeScriptを使用し、関数型スタイルを優先。」「APIエンドポイント名はスネークケース。」
- Dev Container (
devcontainer.json
) レベル: Dev Containerの設定ファイル内で、そのコンテナ環境に特化した指示をAIに与えることができます。これは、環境ごとに最適化されたAI支援を実現する上で非常に効果的です。- 動画での例 (Python Feature): Microsoft提供のPython Dev Container Feature には、「このDev ContainerにはPython3とpip3がプリインストール済みである」というカスタム指示が含まれています。これにより、Copilotはその環境ではPythonセットアップが不要であることを理解します。
- その他活用例: 特定ライブラリのバージョン指定、データベース接続情報(機密情報は除く)、プロジェクト固有コマンドの通知など。
- ユーザーレベル/ワークスペースレベル: 通常、プロジェクトルートの
- 書き方のポイント:
- 明確かつ具体的に、簡潔に記述します。
- Markdown形式で構造化すると読みやすくなります。
- 特定の役割(例: 「シニア開発者として振る舞う」)を指定することも可能です。
- 「XXXは使用しない」といった否定的な指示も有効です。
- 特に有効なシナリオ:
- 特定のフレームワークやライブラリを使用するプロジェクト。
- 厳格なコーディング規約があるチーム。
- 複雑な環境設定を持つDev Container。
- 特定のドメイン知識が必要な開発。
- 注意点:
- 機密情報(パスワード、APIキーなど)は含めないでください。
- AIは万能ではないため、過度な期待は禁物です。
- 最適な指示を見つけるには試行錯誤が必要です。
4. まとめ
VS Codeのリモート開発機能は、それ自体が非常に強力ですが、GitHub CopilotをはじめとするAI機能と組み合わせることで、その可能性はさらに広がります。特にカスタムインストラクションを活用することで、AIを個々のプロジェクトや開発環境のニーズに合わせて最適化し、よりインテリジェントで効率的な開発体験を実現できます。
リモート開発とAI機能の組み合わせは、現代の開発者にとって不可欠なツールとなりつつあります。これらの機能を最大限に活用し、開発の生産性と質を向上させましょう。
さらなる情報や最新のアップデートについては、VS CodeやGitHub Copilotの公式ドキュメントや関連動画をご確認ください。
この資料が、VS Codeのリモート開発とAI機能、特にカスタムインストラクションの理解を深めるための一助となれば幸いです。
コメントを残す