エージェントによる変更の確認と制御

エージェントが一連の作業を完了すると、提案された変更、ファイルの編集、新規ファイルの作成、ファイルの削除が行われます。あなたが確定するまで、何も永続化されません。このガイドでは、エージェントが行った内容を確認する方法、必要な粒度で変更を承認または取り消す方法、そしてエージェントを誘導し、ミスを修正し、作業を失わずに複数の方向性を模索するために利用可能なツールについて解説します。

ファイル変更バー

ファイル編集を含むエージェントの応答の後、チャット入力欄の上に「ファイル変更バー」が表示されます。そこには、エージェントがその応答で触れたすべてのファイルがリストアップされます。これが、何が起きたかを確認するための出発点となります。

Files changed bar showing the list of agent-edited files in chat

リスト内の任意のファイルを選択すると、インラインdiff(差分)が開きます。削除された箇所は赤、追加された箇所は緑でハイライトされ、同じエディタビュー内に表示されるため、何が変更されたのかを正確に把握できます。

注意:この時点では何も確定していません。エージェントはこれらの変更を提案していますが、あなたが明示的に承認するまでは保存されません。

変更ごとのコントロール

diffビュー内には、個々の編集に対してKeep(保持)およびUndo(取り消し)のコントロールがあります。矢印ナビゲーションを使用して、スクロールを手動で行うことなくファイル内の編集箇所を移動できます。

Per-change controls showing Keep and Undo actions for individual edits in the diff view

これにより、正しい変更を保持し、誤った変更だけを取り消すことができます。この粒度は重要です。エージェントがファイルに対して10箇所の変更を行ったとして、9箇所が正しく、1箇所が間違っている場合、すべてを破棄する必要はありません。9箇所を保持し、間違った1箇所を取り消して先に進むことができます。

ファイルの確認が終わったら、ファイル変更バーの次のファイルへ移動し、同様の手順を繰り返します。

すべて承認またはすべて取り消し

すべてのファイルに対する変更に満足したら、トップレベルのKeep(すべて保持)ボタンで一度にすべてを承認できます。Undo All(すべて取り消し)を実行すると、今回のラウンドでエージェントが触れたすべてのファイルが元に戻り、ワークスペースは作業前の状態になります。

Top-level Keep All controls for accepting all agent changes

出力内容を信頼できる場合はAccept All(すべて承認)を、エージェントが誤った方向に進んでおり、最初からやり直したい場合はUndo All(すべて取り消し)を使用してください。

以前のメッセージの編集

元のプロンプトに要件が欠けていた場合は、後続の修正を積み重ねるのではなく、直接プロンプトを編集してください。

チャット内のメッセージにカーソルを合わせ、編集アイコンを選択します。要件を更新して再送信してください。

Editing a previous chat message in VS Code to update the original prompt

エージェントはその時点から再実行し、そのメッセージ以降の会話履歴を置き換えます。

これにより、プロンプトの履歴が整理されます。いくつかの修正を積み重ねるのではなく、1つの明確な指示とクリーンな回答を得ることができます。

例えば、2通目のメッセージを送る代わりに、元のプロンプトを次のように書き換えてください。

Using Python 3.13 and uv, implement a base62 encoder/decoder.

Accept a number to encode or a base62 string to decode as a command-line argument.

Edited previous chat message in VS Code showing an updated prompt requirement

エージェント実行中のステアリング(軌道修正)

プロンプトを送信した後に、途中で方向性を変えたいと気づくことがあります。エージェントの終了を待ってから取り消す必要はありません。実行中にステアリング(軌道修正)を行うことができます。

エージェントが作業中、送信ボタンは3つのオプションを持つドロップダウンに変わります。

Add to queue(キューに追加)

メッセージを保留し、現在の応答が完了した後に配信します。エージェントは現在の作業を中断せずに完了させ、次にあなたのメッセージを取り上げます。

現在のフローを中断せずに何かを追加したい場合に使用してください。

Steer with message(メッセージでステアリング)

エージェントに対して現在のツール呼び出しが終了した時点で作業を譲るようシグナルを送り、すぐにメッセージを処理させます。エージェントは、作業をキャンセルしてこれまでの成果を失うことなく、コースを調整します。

実行中の軌道修正には、これが推奨されるオプションです。

Stop and send(停止して送信)

現在のリクエストを完全にキャンセルし、新規としてメッセージを送信します。エージェントが明らかに脱線しており、継続が無駄である場合に使用してください。

Steerは方向性の調整用です。Stop and Sendは最初からやり直すためのものです。ほとんどの場合、Steerが目的に適しています。

Steer with Message option in the VS Code Send button dropdown while an agent is running

チェックポイントと復元

チャット内のすべてのエージェントの応答はチェックポイントです。任意の応答にカーソルを合わせると、Restore Checkpoint(チェックポイントを復元)が表示されます。

チェックポイントを復元すると、ワークスペースはその時点の会話状態に戻ります。コードは元に戻り、その後のメッセージを送信しなかったかのように会話履歴もロールバックされます。手動でのクリーンアップやgit stashは不要で、きれいなロールバックが行われます。

Restore Checkpoint control in VS Code chat for rolling back an agent session to an earlier state

これがあなたのセーフティネットです。何かを試し、その結果を見て、望んでいた方向でなければ完全に元に戻すことができます。

セッションのフォーク

Restore Checkpointの隣にはFork(フォーク)があります。

  • Restore(復元)はあなたを過去に戻します。そのチェックポイント以降のすべては失われ、同じセッション内で作業を継続します。
  • Fork(フォーク)は、そのチェックポイントから始まる独立した新しいセッションを作成します。元のセッションはそのまま維持されます。

Fork control in VS Code chat for creating a new session from an earlier checkpoint

フォーク後、2つのセッションが手元に残ります。そのまま継続する元のセッションと、そのチェックポイントから新しく出発して新しい方向へ進むフォークです。どちらのセッションも互いに影響を与えません。

チャット入力欄に/forkと入力することで、現在地点からフォークすることも可能です。

Using the /fork command in the VS Code chat input to create a new session from the current point

フォークすべきタイミング

  • 現在の作業を失わずに、異なるアーキテクチャの方向性を模索したい場合。
  • CLIバージョンを維持したまま、プロジェクトをAPIへ移行したい場合。
  • 2つのアプローチを並べて比較したい場合。

フォークは単に作業の損失を防ぐだけでなく、どれほど大胆に実験できるかを変えてくれます。いつでも戻れる、あるいは分岐できるとわかっていれば、よりリスクのあるアプローチにも自由に挑戦できます。

一般的なパターン

プロンプトの遡及的なクリーンアップ

修正を重ねるのではなく、元のメッセージを編集して再送信してください。履歴も回答もきれいになります。

実行中の計画変更

Steer with Messageを使用して、エージェントを停止させずに調整します。エージェントは現在のアクションを完了し、あなたの新しい指示を読み取って調整を行います。

何かがうまくいかず、きれいにロールバックが必要な場合

Restore Checkpointを使用して、誤った方向に進む直前のクリーンな状態に戻してください。

2つのアプローチを同時に模索する場合

Forkを使用して2つ目のブランチを作成し、別のアプローチを試してください。両方のセッションは独立して実行され、結果を比較できます。

次のステップ

ファイル変更表示、変更ごとのコントロール、メッセージ編集、ステアリング、チェックポイントを活用することで、エージェントの生成物とセッションの行方を完全にコントロールできます。

次のガイドでは、複数のエージェントを同時に管理し、ローカル、バックグラウンド、クラウドでの実行を比較する方法について学びます。

詳細情報

© . This site is unofficial and not affiliated with Microsoft.