# エージェントのデバッグ（VS Code）

> エージェントのデバッグ（VS Code） - VS Codeの「実行とデバッグ」機能を使用してdev.pyを実行し、エージェントコードをローカルで確認します。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-19T06:00:52.981482+00:00` (UTC).

## Primary page

- [エージェントのデバッグ（VS Code）](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [前提条件](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#prerequisites): In-page section heading.
- [Pythonインタプリタの設定](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#configure-python-interpreter): In-page section heading.
- [Run Agentの起動設定を行う](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#configure-run-agent-launch): In-page section heading.
- [開発サーバーの実行](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#run-development-server): In-page section heading.
- [CLIからエージェントの実行をトリガーする](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#trigger-agent-execution): In-page section heading.
- [ブレークポイントを使ったデバッグ](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#debug-with-breakpoints): In-page section heading.
- [VS Codeのデバッグツールを使う](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#use-debug-tools): In-page section heading.
- [変数の検査](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#inspect-variables): In-page section heading.
- [式の評価](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#evaluate-expressions): In-page section heading.
- [コールスタックの確認](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#review-call-stack): In-page section heading.
- [よくある問題](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#common-issues): In-page section heading.
- [起動設定がない](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#launch-config-missing): In-page section heading.
- [インタプリタが間違っている](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#wrong-interpreter): In-page section heading.
- [環境変数がロードされていない](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#env-vars-missing): In-page section heading.
- [CLIがブレークポイントにヒットせずに終了する](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#cli-finishes-before-breakpoints): In-page section heading.
- [デバッガーがアタッチされていない](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-debugging-vscode.html.md#debugger-not-attaching): In-page section heading.

## Documentation content

VS Codeでは、エージェント開発サーバーを強化するのと同じ `dev.py` スクリプトを実行できるため、リモートデバッガーを接続せずに、リクエストのステップ実行、変数の確認、プロンプトの再生ができます。 リポジトリのクローンを作成した後に必要な操作は、エージェントの仮想環境でVS Codeを指定して、 `dev.py` をターゲットとする起動設定を作成し、デバッガーがリッスンしている間にCLIからプロンプトを実行するだけです。

このガイドはPyCharmのワークフローに準拠し、VS Codeの準備、デバッガーの起動、および一般的な問題のトラブルシューティングについて順を追って説明します。

## 前提条件

VS Codeのデバッグを設定する前に、以下が揃っていることを確認します。

- VS Code + Python拡張機能 ：デバッグをサポートするため、Microsoft公式のPython拡張機能をインストールします。設定のガイダンスが必要な場合は、 ドキュメント を参照してください。
- エージェントアプリケーションのセットアップ ： インストール を完了し、 dr start を実行してエージェントの仮想環境を作成します。
- 環境変数 ： .env に DATAROBOT_API_TOKEN 、 DATAROBOT_ENDPOINT 、およびツール固有の変数を設定します。
- CLIへのアクセス ：デバッガーの動作中にターミナルから task <agent>:cli コマンドを実行し、処理をトリガーできます。

## Pythonインタプリタの設定

> [!NOTE] 最初にdr startを実行する
> `dr start` は、依存関係と `.venv` インタプリタをプロビジョニングします。 VS Codeでインタプリタを選択する前に実行します。

1. VS Codeでエージェントアプリケーションフォルダー（ datarobot-agent-application など）を開きます。
2. Command+Shift+P （macOS）または Ctrl+Shift+P （Windows/Linux）を押してコマンドパレットを開きます。
3. Python: Select Interpreter を実行します。
4. エージェントの.venvパス内にあるインタプリタを選択します。agentディレクトリの場合、エントリーは通常次のようになります。 $workspace/agent/.venv/bin/python

VS Codeでは、このインタプリタをリンティング、統合ターミナル、デバッガーに使用します。これにより、環境が `task` によって作成されたものと一致します。

## Run Agentの起動設定を行う

VS Codeのデバッガーは、 `.vscode/launch.json` を使用します。 `dev.py` を指す Run Agent 設定を作成することで、PyCharmガイドと同じレイアウトを再利用できます。

1. Run and Debug ビュー（サイドバーの再生アイコン）を開き、 create a launch.jsonファイル をクリックします。
2. デバッガーとして Python Debugger を選択します。
3. デバッグ設定として Python File を選択します。
4. 自動生成された .vscode/launch.json 設定を以下のスニペットのようなものに置き換え、エージェントへのパスを調整します。

```
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Run Agent",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/agent/dev.py",
            "cwd": "${workspaceFolder}/agent",
            "envFile": "${workspaceFolder}/.env",
            "console": "integratedTerminal",
            "python": "${workspaceFolder}/agent/.venv/bin/python",
            "justMyCode": true
        }
    ]
} 
```

- program ：エージェントの dev.py を指します。
- cwd ：相対インポートとファイルパスがエージェントディレクトリから解決されるようにします。
- envFile ：CLIが使用するのと同じ .env 設定をロードします。
- python ：選択済みの .venv インタプリタをデバッガーで使用するように強制します。

ワークスペースに複数のエージェントが含まれている場合は、定期的にデバッグするエージェントごとに、異なる名前とパスで設定を複製します。

## 開発サーバーの実行

開発サーバーを起動するには：
1.Run and Debug ビューで Run Agent 設定を開きます。
2.Run をクリックし（または F5 を押し）、デバッガーで開発サーバーを起動します。
3.Debug Console または Terminal で起動メッセージ（例： `Running development server on http://localhost:8842` ）を確認します。

VS Codeはリクエストをリッスンするようになり、ブレークポイントを設定すると一時停止します。

## CLIからエージェントの実行をトリガーする

開発サーバーがリッスンしている場合は、任意のターミナルセッションからプロンプトを送信できます。 CLIで呼び出す例：

```
task agent:cli -- execute --user_prompt "Artificial Intelligence" 
```

すべてのCLIリクエストはVS Codeのデバッガーセッションを経由するため、問題を特定するまで同じプロンプトを繰り返したり、引数を調整したりできます。

## ブレークポイントを使ったデバッグ

ブレークポイントを使用したデバッグを設定するには：
1.`agent/agent/myagent.py` などのファイルにブレークポイントを設定します。
2.Run > Start Debugging をクリックして（または F5 を押して）、デバッガーがアクティブになっていることを確認します。
3. CLIコマンドを再実行します。 実行がブレークポイントに達すると、VS Codeは一時停止し、その行を強調表示します。
4. デバッグツールバーを使用して、ステップオーバー、ステップイン、または実行の継続を行います。

## VS Codeのデバッグツールを使う

以下のセクションでは、VS Codeのデバッグでサポートされている各種ツールについて説明します。

### 変数の検査

- Variables ペインには、一時停止したフレームのローカル、グローバル、および環境データが表示されます。
- 変数を右クリックして Add to Watch を選択し、フレーム間で永続的に追跡します。

### 式の評価

- Debug Console を使用して、一時停止中のコンテキストでPython式を実行します（例： import os の後に os.environ["DATAROBOT_ENDPOINT"] を実行）。
- コードのステップ実行中に式を監視する必要がある場合は、 Watch に式を追加します。

### コールスタックの確認

- Call Stack ビューには、ブレークポイントにつながるすべてのフレームが表示されます。
- フレームを選択すると、エディター、Variablesペイン、Debug Consoleのコンテキストが更新され、以前のコールを確認できるようになります。

## よくある問題

### 起動設定がない

問題 ： Run Agent オプションが表示されません。

解決方法 ：

- ワークスペース内に .vscode/launch.json が存在し、設定が含まれていることを確認します。
- ファイルが削除された場合は、コマンドパレットオプション Python Debugger: Debug using launch.json を使用してファイルを再生成します。

### インタプリタが間違っている

問題 ：VS Codeでパッケージをインポートできません。または、Pythonのバージョンに関するエラーが表示されます。

解決方法 ：

- Python: Select Interpreter を実行し、 dr start によって作成された .venv インタプリタを選択します。
- 環境を再構築した場合は、ウィンドウをリロードし（ Developer: Reload Window ）、インタプリタを選択し直します。
- .vscode/launch.json の python エントリーが、選択した .venv/bin/python パスを指していることを確認します。これにより、デバッガーが正しいランタイムで起動します。

### 環境変数がロードされていない

問題 ：デバッグ中に資格情報が見つからないため、エージェントが失敗します。

解決方法 ：

- リポジトリのルートに .env ファイルが存在し、 DATAROBOT_API_TOKEN と DATAROBOT_ENDPOINT が含まれていることを確認します。
- launch.json の envFile エントリーが .env パスに一致することを確認します。

### CLIがブレークポイントにヒットせずに終了する

問題 ：CLIコマンドは完了しますが、デバッガーが想定どおりに一時停止しません。

解決方法 ：

- CLIコマンドを起動する前に、デバッガが実行されていること（VS Codeの緑色のバー）を確認します。
- ブレークポイントが赤で塗りつぶされ（白抜きではない）、選択したプロンプトに対して実行されるコード内にあることを確認します。
- デバッガーを再起動した後、CLIコマンドを再実行します。開発サーバーは一度に1つのリクエストを処理します。

### デバッガーがアタッチされていない

問題 ：VS Codeは起動しますが、サーバーバナーの表示やブレークポイントでの停止がありません。

解決方法 ：

- セッションを停止して再起動し、 dev.py が正常に再起動したことを確認します。
- program と cwd が同じエージェントディレクトリを参照していることを確認します。パスが一致しないと、VS Codeでは、コードの間違ったコピーがデバッグされます。
- Debug Consoleで、依存関係がないことを示すスタックトレースの有無を調べ、必要に応じて dr start を再実行します。
