VSCode 1.118 のアップデートがアツすぎ
2026年4月29日にリリースされた VSCode 1.118。
今回のリリースは Github Copilot の使い方の解像度がワンランク上がる内容だった。
正直、値上げのインパクトを相殺して余りあるほどの内容だと思う。
トークンベースへの課金への移行が発表されたタイミングで、トークン効率の改善が複数入ってきたのも印象的。
個人的に刺さったものから順に紹介していく。
1. スキルの実行を別コンテキストで独立させられるようになった
これ、地味に見えて本質的なアップデートだと思っている。
カスタムスキルを使い込んでいると気づくのだが、スキルが複数のツールを呼び出したり大量の参照ドキュメントを取り込んだりすると、メインのチャットコンテキストがどんどん汚染される。その結果、スキルを呼んだ後の通常の質問への回答が明らかに鈍くなったり、前のスキル実行の残滓を引きずったりする。
今回、SKILL.md のフロントマターに context: fork を書くだけで、スキルを独立したサブエージェントとして実行できるようになった。
---
name: my-skill
description: My skill description
context: fork
---
これによってスキルが何をやろうと、メインの会話コンテキストは一切影響を受けない。スキルの処理結果だけが戻ってくる。
仕組みとしては、スキルを呼び出すと Github Copilot がそのスキル専用のサブエージェントを立ち上げ、そこで完結させるイメージ。重い処理や大量のファイル読み込みが入るスキルほど効果が大きく、応答の一貫性が上がる。
カスタムスキルを複数使っている人は今すぐ試してほしい。現時点では github.Github Copilot.chat.skillTool.enabled を有効にする必要がある実験的機能だが、これはそのうちデフォルトになるはず。
ただ、もちろんすべてのスキルにこれをつけるべきかというとそうではない。
軽い処理でメインコンテキストの情報を活用したいスキルもあるだろうし、スキル内でツール呼び出しを完結させたいケースもある。
デフォルトで適用されるのではなく、必要に応じて選択できる形になっているのは、ユーザビリティと柔軟性のバランスが取れていて良いと思う。
2. Github Copilot CLI をスマホからリモート操作できるようになった
「エージェントに長時間タスクを任せる」という使い方が増えてきたタイミングで待ち望んでいた機能。
Github Copilot CLI でエージェントを動かしているとき、途中で承認を求めてきたり、詰まって待ち状態になることがある。今まではその PC の前にいないと何もできなかった。席を離れているあいだに止まっていて、戻ってきたら「承認待ちのまま止まってました」という体験を何度もしていた人は多いはずだ。
リモートコントロール機能を使えば、GitHub.com やスマホの GitHub アプリから進捗を確認して承認を出せる。エージェントがひとりで動き続けながら、必要なときだけ人間が介在する、という理想的な分業がやっと実現できる。
有効化の手順:
- VSCode の設定で
github.Github Copilot.chat.cli.remote.enabledを ON にする - Github Copilot CLI のチャットで
/remote onと入力
/remote で現在のリモート接続状態の確認、/remote off で無効化できる。
長時間エージェントを使う人にとっては、生産性が変わるレベルの改善だと思う。
3. トークン効率の改善が本格化してきた
4月27日に GitHub から Github Copilot の従量課金移行(2026年6月1日〜)が発表された。このタイミングで VSCode チームがトークン効率の改善を複数同時に打ってきたのは、偶然ではないと思う。しかも単なる「節約」ではなく、アーキテクチャレベルの設計変更が複数入っているのが注目点だ。
プロンプトキャッシュの最適化
AI API を使ったことがある人なら分かると思うが、LLM へのリクエストで一番コストがかかるのはたいてい「毎回使い回す同じ内容」だ。システムプロンプト、ツール一覧の定義、会話の前半部分——これらは会話が進んでも変わらない。それなのに毎回フルで送っていたら無駄が大きい。
プロンプトキャッシュ(KV キャッシュ)を使うと、同じプレフィックスは一度計算したものを再利用できる。Anthropic モデルではキャッシュヒット時のコストが通常の約10分の1になる。
ポイントはこの「キャッシュヒット率」をいかに高く保つか、だ。キャッシュはバイト列が一致しているときにしかヒットしない。ツールの説明文が1文字変わっても、並び順が変わっても、キャッシュは無効になる。
今回 VSCode チームが何をしたかというと、以下のような細かいが本質的な変更を積み重ねた:
- ツールの説明文を「どの言語拡張機能が有効化されているか」に依存しない静的な内容に変更。これまでは言語拡張機能が起動のたびに説明文を変動させていたため、セッション途中でキャッシュが壊れていた
- ツール一覧の並び順を予測可能な形に固定(遅延ロードされるツールとそうでないツールをきれいにグループ化)
- 会話が長くなったときに古いターンをバックグラウンドで要約する機能も、メインエージェントと同じキャッシュプレフィックスを使うよう修正
その結果、エージェントセッション中に93%以上のリクエストがキャッシュから再利用されるようになっている。裏を返すと、実際に課金される「新規トークン」は全体の7%以下ということだ。これを達成するためにかなりの努力が入っている。
ツール検索ツール(Tool Search Tool)
もうひとつ、アーキテクチャとして面白い変更がこれ。
Github Copilot エージェントはリクエストのたびに「どんなツールが使えるか」をモデルに伝える必要がある。ツールが増えれば増えるほど、その定義を毎回送り込むコストが膨らむ。これを解決するために、ツールを2層に分けた。
**常時ロード(約30個のコアツール)**はリクエストのたびに必ず含まれる。全ツール呼び出しの88%はこのコアツールで完結する。**残りのツールはデファード(遅延ロード)**で、スキーマすら最初はモデルのコンテキストに入らない。モデルが必要と判断したとき、tool_search というツールを呼ぶと、クライアント側で埋め込み検索が走り、関連するツールが返ってくる仕組みだ。
これにより:
- コアツールセットのみが毎回のキャッシュ対象になるので、キャッシュプレフィックスが安定する
- ツールの総量が増えても、1リクエストあたりのコンテキスト消費はほぼ変わらない
Anthropic モデルでは最大20%のトークン削減が確認されており、今リリースで OpenAI の GPT-5.4/5.5 にも展開が始まっている。
検索・実行の専用エージェントツール
さらに一歩踏み込んで、特定の処理を専用の小さいモデルに委託するという設計が入ってきた。
「Agentic search tool」はコードベース探索に特化した軽量モデルで動く。メインエージェントが「このファイルを見たい」と思ったとき、検索タスクをこのツールに委ねる。ツール側は grep・ファイル検索・セマンティック検索・ファイル読み込みを並列で走らせ、関連する結果だけをメインエージェントに返す。メインモデルを複数回の探索ループに費やさなくて済む。
「Agentic execution tool」はターミナルコマンドの実行に特化している。1回の呼び出しで最大10回のターミナル呼び出しに制限されているのが設計として面白い。コストが際限なく増えるのを防ぎつつ、出力が長くなりがちなターミナルの結果をフィルタリングしてメインモデルに渡す。ターミナル出力の「ノイズ除去」をメインモデルが処理しなくていいのはトークン節約として大きい。
1ヶ月以上の検証で最大20%のトークン削減効果が出ている。
4. Chronicle:チャット履歴をデータとして使えるようになった
github.Github Copilot.chat.localIndex.enabled を有効にすると使えるようになる実験的機能。
毎日 Github Copilot とやりとりしているとチャット履歴はどんどんたまっていくが、あれは「見返せる」ものでしかなかった。過去のセッションをさかのぼって「あのとき何を編集したっけ」を調べるのはひどく面倒だった。
Chronicle はチャット履歴を SQLite に記録して、構造化データとして扱えるようにする。記録されるのはセッションのメタ情報(ブランチ・リポジトリ・タイムスタンプ)、会話のターン、ツール呼び出しで触ったファイル、参照した PR/Issue/コミットなどだ。
使えるコマンドがこの3つ:
| コマンド | 何ができるか |
|---|---|
/chronicle:standup |
直近24時間の作業をブランチ・機能ごとにまとめたスタンドアップレポートを生成 |
/chronicle:tips |
7日間の使い方を分析して、プロンプトやツールの改善提案をしてくれる |
/chronicle [クエリ] |
「昨日どのファイルを触った?」など自然言語で履歴を検索 |
/chronicle:standup は毎朝「昨日何やったっけ」ってなる人にとって相当便利。自分の作業ログが Github Copilot の外に一切残らないことへの不満を持っている人も多かったと思うので、それが解消された意味は大きい。
/chronicle:tips もおもしろい。自分のプロンプトの癖や無駄なツール呼び出しを指摘してくれる、という使い方ができる。AIとの作業そのものを最適化するメタな機能だ。
5. セマンティック検索がすべてのワークスペースで使えるようになった
これまでセマンティック検索は GitHub や Azure DevOps に紐づいたリポジトリだけの特権だった。ローカルのプロジェクトやプライベートな Git リポジトリでは使えず、検索精度に差があった。
今回のリリースでどんなワークスペースでも使えるようになった。
セマンティック検索が何をするかをシンプルに言うと、「単語の一致ではなく意味で検索する」。たとえば「ユーザー認証の処理はどこ?」と Github Copilot に聞いたとき、通常の grep 的な検索では "authentication" というワードがコード中にないと引っかからない。でも実際のコードは signIn()、verifyToken()、checkCredentials() みたいな名前になっていることが多い。
セマンティック検索はこういった関連する意味のコードをまとめて見つけてくれる。命名が統一されていないプロジェクト、歴史が長くて用語がブレているコードベースほど恩恵が大きい。
初回はインデックス構築に数分かかる場合があるが、Build Codebase semantic index コマンドで明示的に構築することもできる。
6. OpenAI モデルが WebSocket 通信で12%高速化
地味ながら毎日の体感に響く改善。
これまでチャットのやりとりごとに HTTP リクエストを立てていたが、OpenAI の対応モデルでは WebSocket 接続を維持して差分だけ送るようになった。サーバー側が会話の状態を保持するので送信データが減り、特に何度もやりとりするエージェントワークフローで遅延が小さくなる。
設定不要で自動適用される。
7. GitHub テキスト検索ツール
セマンティック検索と役割が違う、grep 系の検索ツールが追加された。
セマンティック検索が「意味が近いコードを探す」のに対して、こちらは特定のリポジトリや GitHub 組織全体から完全一致で文字列を探すもの。「このエラーメッセージがどのリポジトリから来てるか」とか「この API 名が社内のどのリポジトリで使われてるか」を調べたい場面で使える。既存の githubRepo(セマンティック検索)と組み合わせることで、他のリポジトリのコードを参照しながら作業するという使い方が広がる。
8. TypeScript 7.0 Beta のサポートが進んできた
TypeScript 7 は Go で書き直されたネイティブ実装で、パフォーマンスが桁違いに上がっている。VSCode 側も継続的にサポートを進めていて、TypeScript Native Preview 拡張機能 をインストールするだけで試せるようになった。
VSCode 自体の開発ビルドにも TS7 を採用しており、約6,000ファイルの型チェックが 60秒 → 10秒 に短縮されている。エンドユーザーへの直接的な影響は今すぐではないが、VSCode の開発速度が上がればリリースサイクルにも良い影響があるはずで、じんわり嬉しい。
9. Dev Container のロックファイルがデフォルト有効に
devcontainer-lock.json がデフォルトで作られるようになった。Dev Container Feature の初回インストール時にバージョンとチェックサムを記録し、以降はそこに固定する。サプライチェーン攻撃への耐性を上げる地道な改善だ。
devcontainer.json 内の Feature に新バージョンがある場合はコードレンズで通知される。Dependabot による自動 PR 作成も対応済みなので、ランタイムの更新管理が手軽になる。
10. セキュリティ関連の改善
サンドボックスの読み取り権限を最小化
サンドボックス内のコマンドが $HOME ディレクトリ以下を広く読めていた状態が変わり、必要なパスしかアクセスできなくなった。最小権限の原則が徹底されたことで、エージェントが予期しないファイルを読んでしまうリスクが下がる。
企業向け:承認済み組織ポリシー
ChatApprovedAccountOrganizations デバイスポリシーを設定することで、承認済みの GitHub 組織に所属するアカウントでサインインするまでチャット機能が有効にならないようにできる。組織のセキュリティポリシーを AI 機能にも適用したい企業向けの機能。
まとめ
1.118 は「Github Copilot を使い込むほどに恩恵が大きくなる」リリースだと感じた。
スキルの独立コンテキスト実行や Chronicle のような機能は、AI との作業が日常の一部になってきた今だからこそ意味を持つ。
カスタマイズを深くやってきた人ほど「それ、ずっと欲しかった」と思うはず。
リモートコントロールは、エージェントに長いタスクを任せるスタイルになってきたここ最近のトレンドにぴったり合っている。
スマホから承認ひとつで作業が再開できる体験は、使ってみると意外と感動する。
6月の従量課金移行前にトークン効率の改善が一気に来たのも、単なる偶然ではないと思う。
「コストが増えてもちゃんと価値を出せる」という姿勢の見せ方として、悪くないタイミングだった。
Discussion