Skip to content

VS Codeでのエージェントのデバッグ

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

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

前提条件

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

  • VS Code + Python拡張機能:デバッグをサポートするため、Microsoft公式のPython拡張機能をインストールします。設定のガイダンスが必要な場合は、ドキュメントを参照してください。
  • Agent application setup: Complete the installation and run dr start to create the agent virtual environment.
  • 環境変数.envDATAROBOT_API_TOKENDATAROBOT_ENDPOINT、およびツール固有の変数を設定します。
  • CLIへのアクセス:デバッガーの動作中にターミナルからtask <agent>:cliコマンドを実行し、処理をトリガーできます。

Pythonインタプリタの設定

Run dr start first

dr start provisions dependencies and the .venv interpreter. VS Codeでインタプリタを選択する前に実行します。

  1. Open your agent application folder (for example, datarobot-agent-application) in VS Code.
  2. Command+Shift+P(macOS)またはCtrl+Shift+P(Windows/Linux)を押してコマンドパレットを開きます。
  3. Python: Select Interpreterを実行します。
  4. エージェントの.venvパス内にあるインタプリタを選択します。 For the agent directory, the entry typically looks like:

    $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からエージェントの実行をトリガーする

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

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

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

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

ブレークポイントを使用したデバッグを設定するには: 1. Set breakpoints in files such as agent/agentic_workflow/agent.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のバージョンに関するエラーが表示されます。

解決方法

  • Run Python: Select Interpreter and choose the .venv interpreter created by dr start.
  • 環境を再構築した場合は、ウィンドウをリロードし(Developer: Reload Window)、インタプリタを選択し直します。
  • .vscode/launch.jsonpythonエントリーが、選択した.venv/bin/pythonパスを指していることを確認します。これにより、デバッガーが正しいランタイムで起動します。

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

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

解決方法

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

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

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

解決方法

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

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

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

解決方法

  • セッションを停止して再起動し、dev.pyが正常に再起動したことを確認します。
  • programcwdが同じエージェントディレクトリを参照していることを確認します。パスが一致しないと、VS Codeでは、コードの間違ったコピーがデバッグされます。
  • Inspect the Debug Console for stack traces indicating missing dependencies—rerun dr start if needed.