VS Code の GPT-5.5 プロンプト実験を読む - 探索を減らす指示は万能ではない

VS Code チームが公開した GPT-5.5 のプロンプトチューニング実験を読み、探索を減らして早く検証する指示が何を改善し、何を改善していないのかを整理します。

著者
岡崎 太
CTO / AIアーキテクト
公開日
読了時間
9分で読めます
Share

VS Code チームが、GPT-5.5 向けのエージェント指示を調整した実験記事を公開しました。テーマは、エージェントに「探索を減らし、早く検証させる」と何が起きるかです。参考: How Prompt Tuning Improved GPT-5.5 in VS Code

一読すると、「エージェントは探索しすぎるから、最初から狭く調べて、すぐ編集して、すぐテストせよ」という運用が正解のように見えます。

ただ、私はこの読み方には少し注意が必要だと思っています。

記事の実験結果は、主に 速さ、トークン量、ツール呼び出し数の改善を示しています。一方で、品質指標は明確に向上したというより、ほぼ維持された、または一部で小さな悪化も観測された、という結果です。

つまり、この記事から得るべき教訓は「探索を常に削れ」ではありません。

探索を制御し、検証に早く接続する。だが、必要な探索まで禁止しない。

これが実務向けの読み方だと思います。

VS Code GPT-5.5 のプロンプト実験で、効率改善と品質維持の関係を示した図

何を検証した実験か

公式記事によると、VS Code チームは OpenAI と共同で、GPT-5.5 のシステムプロンプトを 2 週間実験しました。対象は VS Code のエージェント実行基盤で、モデルがツール、コンテキスト、指示、実行ループを通じてコーディング作業を進める層です。

実験群は次の 3 つです。

グループ 公式の識別子 内容 配分
対照群(Control) PRPT_CTRL 現行の既定プロンプト 25%
実験条件 A(Treatment A) PRPT_SRCH 探索を減らすための短い注意書き 25%
実験条件 B(Treatment B) PRPT_LRG 初回編集前後の行動を明示する大きめのプロンプト節 25%

残りの GPT-5.5 利用分は評価表の外で既定プロンプトを使い続け、比較対象は同じ種類の利用データに揃えたと説明されています。

実験条件 A は、かなり小さい指示追加です。

  • 具体的な手がかりから始める
  • 近くの文脈だけ読む
  • 対象範囲を絞った、反証可能な仮説を作る
  • すぐ試せる確認方法が見えたら行動する
  • 変わっていない文脈を読み直さない

実験条件 B は、同じ方向性をもっと大きく構造化したものです。公開されている実装を見ると、Before_the_first_editAfter_the_first_edit という大きな節を追加し、初回編集前に仮説と負担の小さい検証方法を作り、初回編集後はすぐ対象を絞った検証に進むよう指示しています。参考: gpt55BasePrompt.tsx

数値を見ると、改善したのは効率

公式記事の評価表では、実験条件 B がもっとも強い結果を出しています。

特に目立つのは、待ち時間とコスト寄りの指標です。

指標 実験条件 B の変化 p 値 読み方
初回編集までの時間 p50(p50 Time to First Edit) -5.68%(3.9 秒短縮) 2e-5 中央値で初回編集が早くなった
初回編集までの時間 p95(p95 Time to First Edit) -9.30%(38.8 秒短縮) 1e-10 遅いケースの待ち時間が改善
消費トークン量 p50(p50 total tokens) -3.25%(0.3M トークン削減) 0.2094 中央値では有意差なし
消費トークン量 p95(p95 total tokens) -7.64%(0.5M トークン削減) 0.0003 重い依頼のトークン消費が改善
平均ツール呼び出し数(Average tool calls) -8.54%(2.04 回分の呼び出し減) 1e-12 ツール呼び出しが明確に減った
10 分後生存率(10-minute survival rate) -0.44%(-0.41 ポイント) 0.0493 小幅悪化。有意だが差は小さい
コミット生存率(Commit survival rate) +0.68%(+0.57 ポイント) 0.1533 上がっているが、統計的有意差はない

ここで出てくる指標は、普段の開発指標とは少し違います。公式記事の説明に沿って、日本語に寄せると次のように読めます。

指標 日本語での意味
10 分後生存率(10-minute survival rate) AI が書いたコードのうち、10 分後にも削除・書き換えされずファイルに残っている割合。短期的に「その変更がすぐ捨てられなかったか」を見る品質の代替指標。
コミット生存率(Commit survival rate) AI が書いたコードのうち、最終的にコミットまで残った割合。10 分後生存率より厳しめで、「本当に採用される変更になったか」を見る指標。
初回編集までの時間(Time to First Edit) ユーザーが依頼してから、モデルが実際にコードへ最初の変更を入れるまでの待ち時間。
消費トークン量(total tokens) モデルが読んだ入力と書いた出力の合計に近く、コストやコンテキスト消費の代替指標。
平均ツール呼び出し数(Average tool calls) ファイル検索、読み取り、ターミナル実行、編集などを 1 つの依頼で何回使ったか。少ないほど効率的だが、少なすぎると確認不足の危険もある。
p50 / p95 p50 は中央値、つまり典型的なケース。p95 は上位 5% の遅い・重いケースで、待ち時間やコストが大きく膨らむ外れ値を見るための値。
p 値(p-value) 差が偶然で説明できるかを見る統計値。小さいほど「偶然ではなさそう」と言いやすい。ただし、有意でも差分が小さければ実務上の重みは別に見る必要がある。

この表から素直に言えることは、次の 2 つです。

  1. 実験条件 B は、初回編集までの時間、p95 の消費トークン、ツール呼び出し数をかなり改善した。
  2. 品質指標は、少なくとも「明確に向上した」とは言いにくい。

VS Code チーム自身も、品質を見張るための指標は「おおむね安定(mostly stable)」と読んでいます。コミット生存率(Commit survival rate)は実験条件 B で +0.68% ですが、p 値は 0.1533 なので有意ではありません。一方、10 分後生存率(10-minute survival rate)は -0.44% で、p 値は 0.0493 と統計上は有意な小幅悪化です。

この差は重要です。

「速くなった」「安くなった」と「品質が上がった」は、同じ意味ではありません。

今回の実験は、より正確にはこう読むべきです。

品質を大きく崩さずに、待ち時間、トークン消費、ツール呼び出しを減らした。

ユーザー仮説は、どこまで検証できるか

今回の議論で出てきた仮説は、かなり実務的です。

すべてにおいてこの指示が有効とは限らない。品質が崩れないのであって、向上はしない。余裕があるなら、探索も OK にした方が良いのではないか。

私は、この仮説はかなり妥当だと思います。ただし、公式データから検証できる範囲と、まだ検証できていない範囲を分ける必要があります。

まず、「品質が向上したわけではない」という部分は、記事内データからかなり支持されます。

品質指標として出ているのは、10 分後生存率とコミット生存率です。実験条件 B のコミット生存率は上がっていますが、有意差はありません。10 分後生存率は小さいながら悪化しています。したがって、この実験を「品質改善の実験」と読むのは強すぎます。

次に、「すべてのタスクで有効とは限らない」という部分も、妥当な注意です。

今回の公開評価表は実利用データの平均的な比較であって、タスク種別ごとの内訳は出ていません。小さな UI 修正、明確なテスト失敗、既知パターンの反映のようなタスクでは、探索を削る効果は大きそうです。一方で、アーキテクチャ変更、セキュリティ、データ移行、仕様の曖昧な依頼、未知の外部 API 調査では、最初の探索を削りすぎると誤った局所解に寄る危険があります。

ただし、「余裕があるなら探索した方が品質が上がる」までは、このデータだけでは証明できません。

なぜなら、今回の実験には「探索を多めに許可する」実験条件がありません。比較しているのは、現行の既定プロンプト、探索削減の小さい指示、探索削減と検証ループを強めた指示です。探索を増やした場合に品質が上がるか、手戻りが減るか、人間レビュー時間が短くなるかは別実験が必要です。

したがって、現時点の結論はこうです。

ユーザー仮説のうち、「品質向上ではなく品質維持」「万能ではない」は公式データで支持される。一方、「余裕があれば探索を増やすと品質が上がる」は、実務上はあり得るが、この実験だけでは未検証。

実務では「探索禁止」ではなく「探索予算」にする

エージェント指示に落とすなら、私は「探索を減らせ」とだけ書くより、探索予算を明示した方がよいと考えています。

探索そのものは、問題ではありません。

悪いのは、目的のない探索、読み直し、隣接ファイルの比較を続けて、いつまでも仮説と検証に入らないことです。

逆に、良い探索には条件があります。

  • 何を確かめるために読むのかがある
  • どの判断に影響するのかが明確である
  • どこまで読んだら止めるかが決まっている
  • 次に実行する検証が見えている

つまり、探索は「多い/少ない」ではなく、「予算と停止条件があるか」で見るべきです。

エージェント指示に落とすなら

今回の実験を、実務用の AGENTS.md やエージェントスキルに入れるなら、私は次のように書きます。

通常ループ:
- 失敗コマンド、対象ファイル、関数名、URL、テスト、近い実装など、最も具体的な手がかりから始める。
- 反証可能な仮説を 1 つと、すぐ試せる検証を 1 つ言えるところまでだけ読む。
- 仮説、責務を持つコードパス、検証方法が見えたら、根拠のある最小変更を入れる。
- 変更後はすぐに、その仮説を否定できる対象を絞った検証を実行する。

探索予算:
- 影響範囲が大きい、責務境界が曖昧、セキュリティ/個人情報リスクがある、データ移行を伴う、公開 API 互換性に関わる、外部事実が曖昧な場合だけ探索範囲を広げる。
- 探索を広げる前に、何を確かめるのか、どこで止めるのか、次に何で検証するのかを書く。
- リポジトリ全体を漫然と眺めるより、2-4 個の具体的な手がかりを優先する。
- 追加で読んでも次の編集や検証計画が変わらなくなったら、探索を止める。

禁止:
- 対象テスト、型チェック、静的検査(lint)、プレビュー、再現コマンドがあるのに、差分確認(git diff)だけを検証扱いしない。
- 最初の対象を絞った検証の前に、隣接領域へ修正を広げ続けない。
- 新しい証拠がないのに、変化していない文脈を何度も読み直さない。

ポイントは、通常ループでは VS Code の実験条件 B に近い動きを採用しつつ、探索予算で例外条件を明示することです。

この形なら、小さな修正では速く進み、大きな判断では必要な探索を確保できます。

AI仕様駆動開発に当てはめる

AI仕様駆動開発に当てはめるなら、タスクごとに「探索を絞る場面」と「探索予算を明示して広げる場面」を分けるのが現実的です。

タスク 推奨する始め方 理由
明確なビルド / テスト失敗 手がかり起点 失敗コマンドが手がかりになる
小さな UI / 文言修正 手がかり起点 近い実装とプレビューで検証できる
仕様の曖昧な実装 探索予算あり 要件、責務境界、既存制約を先に確認したい
外部 API / SDK 連携 探索予算あり 仕様、互換性、制限事項は一次情報確認が必要
認証、権限、個人情報 探索予算あり 誤った局所解のリスクが高い
大きなリファクタリング 探索予算あり 責務とテスト境界を先に見たい
プルリクエスト(PR)レビュー対応 手がかり起点で開始 指摘行が手がかり。広げるのは再発範囲だけ
本番リリース、公開作業 検証優先 統合、デプロイ、本番確認の境界が重要

この記事自体も、手がかり起点だけでは足りません。

VS Code の公式記事、公開されている gpt55BasePrompt.tsx、既存ブログの書式、Content Collection のスキーマ、画像の扱いを確認する必要があります。外部記事を扱う以上、探索を削りすぎると、数字や引用の扱いが危うくなります。

一方で、探索を広げ続ける必要もありません。今回必要だったのは、公式記事の評価表、公開プロンプト実装、リポジトリの記事作成ルール、既存記事の文体です。そこまで揃えば、次は執筆と検証に進むべきです。

これが「探索を制御する」という意味です。

まとめ

VS Code の GPT-5.5 プロンプトチューニング実験は、とても参考になります。

実験条件 B は、初回編集までの時間、p95 の消費トークン、ツール呼び出し数を明確に改善しました。従量課金の時代には、この差は実務上かなり大きいです。

ただし、品質指標は「向上」と言うより「ほぼ維持」です。10 分後生存率には小さな悪化も出ています。

だから、エージェント指示に落とすときは、「探索を減らせ」をそのまま全面採用するのではなく、次の形がよいと思います。

通常は、具体的な手がかりから始め、近い範囲の仮説を立て、すぐ試せる検証に早く入る。

ただし、影響範囲が大きい作業、仕様が曖昧な作業、外部事実確認が必要な作業では、目的と停止条件を決めたうえで探索予算を使う。

これは、速さと品質のどちらかを選ぶ話ではありません。

エージェントに、探索、編集、検証の順番と予算を持たせる話です。

参照元

  • How Prompt Tuning Improved GPT-5.5 in VS Code(公式) (Visual Studio Code)
  • VS Code の GPT-5.5 プロンプト実装 (gpt55BasePrompt.tsx) (GitHub)
  • Improving token efficiency in GitHub Copilot(公式) (Visual Studio Code)