Agent Studio でエージェントを設計する

このページでは、Google Cloud コンソールで Agent Studio を使用する方法の概要について説明します。

Agent Studio は、 Google Cloud コンソール内のローコードのビジュアル デザイナーで、エージェントの開発を簡素化します。エージェントのワークフローを視覚的にマッピングし、リアルタイムで応答をテストして、コードをデプロイまたは移行する前にさまざまな構成を試すことができます。

このドキュメントでは、Agent Studio の概要と、環境の設定、エージェントの作成とテスト、本番環境のランタイムへの直接デプロイの方法について説明します。

環境の設定

Agent Studio を使用する前に、Google Cloudを設定してください。

必要なロールを取得する

Agent Studio を使用するために必要な権限を取得するには、プロジェクトに対する Agent Platform ユーザー (roles/aiplatform.user)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

エージェントを作成する

Agent Studio では、プロンプトまたはフロービルダーを使用してエージェントを作成できます。

プロンプトを使用してエージェントを作成する

プロンプトを使用してエージェントを作成する手順は次のとおりです。

  1. Google Cloud コンソールで、[エージェント] ページに移動します。

    [エージェント] に移動

  2. [エージェントを作成] をクリックして、新しいエージェントの Agent Studio キャンバスを開きます。

  3. チャット ボックスに、エージェントの目的と想定される動作を説明するプロンプトを入力します。

  4. [] をクリックします。

  5. プロンプトに応じて、次のいずれかの処理が行われます。

    • 成功: フロービルダーがすぐに更新され、エージェントのライブ プレビューが表示されます。チャットには、行われた変更の概要が表示されます。変更箇所はすべて自動で保存されます。

    • 明確化が必要: プロンプトが曖昧な場合、アシスタントはチャットで確認の質問をして、ユーザーが作成したいものをより正確に把握します。

    • エラー: アシスタントがプロンプトを適用できない場合は、リクエストを言い換えるよう求めるエラー メッセージが表示されます。

  6. プロンプトまたはフロービルダーを使用して、エージェントの更新を続行できます。

  7. エージェントを保存するには、キャンバス ヘッダーの [保存] をクリックし、プロンプトに沿って操作します。詳しくは、エージェントを保存するをご覧ください。

  8. エージェントを構築しながらエージェントの機能と回答をテストするには、[プレビュー] タブをクリックして、エージェントとチャットします。

制限事項

プロンプトを使用してエージェントを作成する場合は、次の制限事項が適用されます。

能力 制限
知識 エージェントにナレッジを追加できない。フロー ビルダー インターフェースを使用して、エージェントにナレッジを追加できます。

フロービルダーを使用してエージェントを作成する

フロービルダーを使用してエージェントを設計してテストする手順は次のとおりです。

  1. Google Cloud コンソールで、[エージェント] ページに移動します。

    [エージェント] に移動

  2. [エージェントを作成] をクリックして、新しいエージェントの Agent Studio キャンバスを開きます。

  3. Agent Studio キャンバスでエージェントを設計して保存します。メイン エージェントを作成して、サブエージェントを追加できます。メイン エージェントは常にローカル エージェントです。サブエージェントは、ローカル エージェントまたは Agent Registry エージェントのいずれかになります。

    • ローカル エージェント: 指示、モデル、ツールが Agent Studio キャンバス内で直接作成および構成されるエージェント。
    • Agent Registry エージェント: Agent Registry に登録され、公開されているエージェント。これらのエージェントは、メイン エージェントのフロー内でリモート サブエージェントとして使用できます。

    設計時に、次の [Flow] タブと [Preview] タブを切り替えることができます。

    フロー

    エージェントのワークフローと制御ロジックを視覚的に表現して、メイン エージェントとサブエージェントを作成します。

    1. エージェントをクリックして、そのエージェントの [詳細] パネルを開きます。[サブエージェントを追加](+)をクリックしてサブエージェントを追加することもできます。
    2. [詳細] パネルでメイン エージェントとサブエージェントを構成します。

      メイン エージェントとローカル サブエージェントの場合:

      1. 名前: エージェントを識別しやすい名前を追加します。
      2. 説明: エージェントの目的の概要。
      3. 手順: エージェントをガイドする手順を追加します。
      4. モデル: エージェントの基盤となるモデルを選択します。
      5. ツール: [ツールを追加](+)をクリックして、エージェントがタスクを完了できるツールを追加します。詳しくは、ツールを設定して追加するをご覧ください。

      サブエージェントの場合(ローカルまたは Agent Registry から):

      1. Subagent source: サブエージェントのソースを選択します。

        • ローカル: キャンバス上でサブエージェントの指示、モデル、ツールを直接作成します。
        • Agent Registry: Agent Registryから登録済みエージェントをリモート サブエージェントとして選択します。このオプションは、エージェントを保存した後にのみ使用できます。詳しくは、エージェントを保存するをご覧ください。

        登録済みエージェントを選択すると、その名前と説明がレジストリからインポートされ、キャンバス上で読み取り専用になります。親エージェントは、エージェント カードに基づいて、このサブエージェントにタスクを転送します。

        親エージェントを実行またはデプロイするには、親エージェントの ID に A2A サブエージェントを検出して呼び出す権限が必要です。権限ダイアログは、このアクションを自動的に処理します。権限を手動で管理する必要がある場合は、エージェント間(A2A)委任のアクセス権を付与するをご覧ください。

    3. エージェントを保存するには、キャンバス ヘッダーの [保存] をクリックし、プロンプトに沿って操作します。詳しくは、エージェントを保存するをご覧ください。

    プレビュー

    プレビュー ペインでエージェントとチャットして、その機能とレスポンスをテストします。

    • 保存したエージェントをプレビューするために、Agent Studio はエージェントの ID 権限を確認します。必要なロールがない場合は、通知が表示されます。[管理] をクリックして、権限ダイアログを開き、エージェント ID の権限を管理します。
    • 各エージェント実行のイベントを検査して、エージェントの動作をデバッグできます。詳細については、エージェント イベントを検査するをご覧ください。
  4. [コードを取得] をクリックして、エージェント コードを表示します。別の場所でエージェントの開発を続行する場合は、コードをコピーして、任意のコードエディタに貼り付けることができます。

    エージェントが Agent Registry のリモート サブエージェントを使用している場合、生成された Python コードには、実行時にサブエージェントを動的に解決するための AgentRegistry.get_remote_a2a_agent の呼び出しが含まれます。

エージェントが完成したら、Agent Studio から直接デプロイできます。詳細については、Agent Studio からエージェントをデプロイするをご覧ください。

エージェント イベントを検査する

イベントを検査すると、エージェントの動作をデバッグし、エージェントの推論プロセスとモデル リクエストのトラブルシューティングとトレースを行うことができます。

Agent Studio の [プレビュー] タブでエージェント イベントを検査することで、エージェントの実行をデバッグできます。このアクションを使用すると、実行中にエージェントが生成する個々のイベントの問題を診断できます。

エージェント イベントを調べる手順は次のとおりです。

  1. Agent Studio キャンバスでエージェントを開き、[プレビュー] タブを開きます。
  2. プレビュー ペインでエージェントとのチャットを開始して、実行を開始します。
  3. 会話内のイベントを選択して、詳細を開きます。使用可能な詳細はイベントによって異なり、次のものが含まれます。

    • 作成者: イベントを作成したエージェントまたはサブエージェント。author を使用して、マルチエージェント ワークフローのステップを実行したサブエージェントを特定します。
    • リクエストとレスポンス: モデルに送信されたペイロードと返されたレスポンス。
    • ツール呼び出し: エージェントの実行中にツールに渡される引数。
    • メタデータ: モデル名、トークンの使用状況、タイムスタンプなどの追加の診断情報。

プレビュー中にエージェントがエラーを返すと、[プレビュー] タブにエラーが表示され、問題を診断できます。

エージェントを保存する

保存されていないエージェントにはまだ ID がないため、エージェントをプレビュー、デプロイ、ナレッジ ファイルのアップロードを行う前に、エージェントを保存する必要があります。この要件は、Agent Registryのサブエージェントにも適用されます。

また、Agent Registry で公開されている MCP サーバーをノードレベルのツールとして追加する前に、エージェントを保存する必要があります。

エージェントを初めて保存するには:

  1. Agent Studio のキャンバスで、[保存] をクリックします。

  2. [エージェントを保存] ダイアログで、[エージェント名] を入力します。

  3. [保存] をクリックします。

初回保存後は、Agent Studio で行った変更は自動的に保存されます。新しいエージェントを保存する前にキャンバスを閉じようとすると、Agent Studio から保存するよう求められます。

エージェントを更新する

エージェントを更新する手順は次のとおりです。

  1. Google Cloud コンソールで、[エージェント] ページに移動します。

    [エージェント] に移動

  2. 更新するエージェントの をクリックし、[編集] をクリックします。

  3. プロンプトまたはフロービルダーを使用してエージェントを更新します。

Agent Studio では、変更内容は自動的に保存されます。

Agent Studio でツールを設定して追加する

エージェント用に次のツールを構成できます。

  • Google 検索: エージェントが Google 検索を使用してウェブ検索を実行できるようにします。デフォルトでオンになっています。

  • URL コンテキスト: エージェントに送信されたプロンプトの URL をモデルで分析できます。デフォルトでオンになっています。

  • Agent Registry の MCP サーバー: Agent Registry で公開された MCP サーバーをノードレベルのツールとして接続します。このオプションは、エージェントを保存した後にのみ使用できます。詳しくは、エージェントを保存するをご覧ください。

    1. [Agent Registry の MCP サーバー] の横にある [追加](+)をクリックします。
    2. ロケーション: 登録済みツールをフィルタするリージョンを選択します。
    3. MCP サーバー: リストから登録済みの Google MCP サーバーを選択します。
    4. 認証構成: IAM バインディングで解決された標準のサービス アクセスを使用するには、[なし] を選択します。
    5. [追加] をクリックします。
    6. エージェントを初めて保存する場合は、キャンバス ヘッダーの [保存] をクリックします。以降の変更は自動的に保存されます。

    エージェントは、接続された MCP サーバー内のすべてのツールを使用できます。

以前のツールを移行する

Agent Registry を通じてセキュリティを強化し、ツール管理を標準化するため、Agent Studio では Vertex AI Search データストアと Model Context Protocol(MCP)サーバーとの直接統合が非推奨になりました。

既存のエージェントの場合、これらの非推奨ツールは読み取り専用です。完全な機能を維持するには、Agent Registry の MCP サーバーに移行します。

以前の Vertex AI Search データストアから移行する

エージェントが非推奨の Agent Platform Search Data Store ツールを使用している場合は、Agent Registry で使用可能なエージェント検索 MCP サーバーに移行します。このツールは、エージェント レジストリに discoveryengine.googleapis.com として表示されます。

エージェント検索 MCP サーバーを接続する場合は、エージェントの指示でターゲット サービング構成を定義する必要があります。また、エージェント ID にはアクセス権が必要です。

移行の手順は次のとおりです。

  1. Agent Studio キャンバスでエージェントを開きます。
  2. [ツール] パネルで Vertex AI Search データストア ツールを見つけます。
  3. プロジェクト ID、ロケーション、データストア ID などのツールの設定をメモします。
  4. 新しいエージェントを作成して保存します。
  5. エージェント ID に Discovery Engine 閲覧者(roles/discoveryengine.viewer)ロールを付与します。このロールは、ターゲット データストアまたは検索アプリケーションに直接付与することをおすすめします。ただし、トラブルシューティングの目的で、プロジェクトに付与することはできます。エージェントの ID プリンシパルを見つけてロールを付与するには、ロールを手動で管理するをご覧ください。エージェントには、権限ダイアログで自動的に付与される MCP ツールユーザー ロール(roles/mcp.toolUser)も必要です。
  6. [ツール] パネルで、[Agent Registry の MCP サーバー] の横にある [追加](+)をクリックします。
  7. 以下のものを指定します。
    1. ロケーション: ツールが登録されているリージョンを選択します。
    2. MCP サーバー: 登録済みの MCP サーバーのリストから [エージェント検索] または discoveryengine.googleapis.com を選択します。
    3. 認証構成: [なし] を選択します。アクセスは標準の IAM バインディングを通じて解決されます。
    4. [追加] をクリックします。
  8. 新しいエージェントの手順で、ステップ 3 でメモした値を使用して、ターゲット サービング構成を指定します。次に例を示します。

    Use the search tool to answer questions about YOUR_TOPIC.
    When using the search tool, use this servingConfig:
    projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/default_search
    

    検索アプリケーションの場合は、dataStores/DATA_STORE_ID を engines/APP_ID に置き換えます。サポートされている形式と引数については、MCP ツールのリファレンス: discoveryengine.googleapis.com をご覧ください。

以前のダイレクト MCP サーバーから移行する

エージェントがエンドポイント URL を使用して MCP サーバーに直接接続する場合は、まず MCP サーバー カタログを Agent Registry に登録する必要があります。

ツールを移行する手順は次のとおりです。

  1. MCP サーバーが Agent Registry に登録されていることを確認します。
  2. Agent Studio でエージェントを更新します。
    1. Agent Studio キャンバスでエージェントを開きます。
    2. 以前の直接 MCP サーバー接続を見つけて削除します。
    3. [Agent Registry の MCP サーバー] の横にある [追加](+)をクリックします。
    4. リストから登録済みの MCP サーバーを選択します。
    5. [追加] をクリックします。
    6. エージェントを初めて保存する場合は、キャンバス ヘッダーの [保存] をクリックします。以降の変更は自動的に保存されます。

ナレッジ ファイルでエージェントをグラウンディングする

Agent Studio で、エージェントの回答の根拠となる静的参照ドキュメントをアップロードします。

  1. 参照ファイルを添付するキャンバス上の親エージェント ノードを選択します。ナレッジ ファイルをサブエージェントに添付することはできません。
  2. ノードの [詳細] パネルで、[ナレッジ] セクションを見つけます。[ナレッジ] セクションは、エージェントを初めて保存した後にのみ表示されます。詳しくは、エージェントを保存するをご覧ください。
  3. ファイル アップロード コンポーネントをクリックし、参照ファイルを選択します。エージェントごとに最大 10 個のファイルを添付できます。ファイルサイズは 2 メガバイト(2 MB)を超えないようにしてください。アップロード キャンバスでは、次のファイル形式がサポートされています。
    • PDF
    • 書式なしテキスト
  4. エージェントを初めて保存する場合は、キャンバス ヘッダーの [保存] をクリックして、親エージェントの AGENT_ID に一致するパス接頭辞の下の専用 Cloud Storage バケットにファイルを保存します。以降の変更は自動的に保存されます。

    権限ダイアログで、バケットに対するエージェントの ID に Storage オブジェクト閲覧者ロール(roles/storage.objectViewer)が付与されます。

  5. [プレビュー] タブに移動し、テストクエリを送信して、エージェントがハルシネーションを起こすことなく、ファイルの内容を使用してレスポンスをグラウンディングしていることを確認します。

  6. 省略可: [コードを取得] をクリックして、生成された Python コード(agent.py)をコピーし、グラウンディング ファイルの構成を検査できます。この手順はスキップできます。

エージェント ID の権限を管理する

Agent Studio の各エージェントには一意の ID があり、他の Google Cloud リソースにアクセスするための IAM プリンシパルとして機能します。

プリンシパルの形式は次のとおりです。

principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/REASONING_ENGINE_ID

次のように置き換えます。

  • ORGANIZATION_ID: 組織の数値 ID。
  • PROJECT_NUMBER:Google Cloud プロジェクトのプロジェクト番号。
  • LOCATION: エージェントがデプロイされているリージョン。
  • REASONING_ENGINE_ID: 推論エンジンのリソース ID。

エージェント ID の詳細については、エージェント ID を使用してエージェントを作成するとエージェント ID の概要をご覧ください。

権限ダイアログの動作

[デプロイ] をクリックするか、保存したエージェントの [プレビュー] タブを開くと、Agent Studio によって、エージェントの ID に正常に実行するために必要な IAM ロールのセットがあるかどうかが自動的にチェックされます。権限が不足しているなど設定が正しくない場合、エージェントが正常に動作しないおそれがあります。エージェントの ID にこれらの権限を付与することで、想定どおりに動作するようになります。

権限に関する問題が検出されると、権限ダイアログにエラー メッセージが表示されます。

  • ロールがありません: 必要なロールがない場合は、詳細なロールを一覧表示するダイアログが表示されます。ダイアログで [すべて付与] をクリックすると、必要なすべてのロールがエージェントの ID に 1 回のアクションで自動的に付与されます。ロールを付与せずにエージェントをプレビューまたはデプロイするには、[続行] をクリックします。
  • すべてのロールが付与されている: 必要なロールがすべて付与されている場合、権限ダイアログは表示されません。
  • 未保存のエージェント: 未保存のエージェントにはまだ ID がありません。権限ダイアログは表示されず、エージェントを保存するまで [プレビュー] タブと [デプロイ] オプションは無効になります。

必要なロール

権限ダイアログでは、次のロールのリストが自動的に付与されます。

  • roles/storage.objectViewer: エージェントがアップロードされたファイルを使用する場合は必須。このロールは、エージェント ファイル({projectNumber}_{location}_agent_studio_files など)の特定の Cloud Storage バケットに付与する必要があります。
  • roles/mcp.toolUser: エージェントが Agent Registry MCP ツールを使用している場合は必須です。
  • roles/agentregistry.viewer: エージェントが Agent Registry MCP ツールまたはサブエージェントを使用する場合に必要です。
  • roles/iamconnectors.user: Agent Registry MCP ツールで authProviderName が指定されている場合は必須。
  • roles/aiplatform.viewer: エージェントがエージェント間(A2A)委任を介してリモート サブエージェントを呼び出す場合は必須です。

Google Cloud コンソールでロールを手動で管理する

権限ダイアログで、必要なロールが自動的に付与されます。ただし、ロールを手動で管理する場合や、権限に関する問題のトラブルシューティングが必要な場合は、次の手順に沿って操作します。

  1. エージェントの一意の ID プリンシパルをコピーします。Agent Studio キャンバスのヘッダーで、エージェント名の横にあるプルダウン メニューをクリックし、プリンシパル文字列をコピーします。

    プリンシパルの形式は次の例のようになります。

    principal://agents.global.org-ORG_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/REASONING_ENGINE_ID

  2. Google Cloud コンソールで、[IAM] に移動します。

    [IAM] に移動

  3. プリンシパル リストでエージェント ID プリンシパルを検索します。プリンシパル文字列の末尾にある特定の REASONING_ENGINE_ID を使用して検索できます。エージェント ID プリンシパルを取得するには、次のいずれかのオプションを使用します。

    • エージェント ID プリンシパルがすでにリストされている場合は、エージェント ID の横にある [ プリンシパルを編集] をクリックします。
    • エージェント ID プリンシパルがリストにない場合は、[アクセス権を付与] をクリックして、新しいプリンシパルとして追加します。
  4. 構成に必要なロール(roles/storage.objectViewer や roles/mcp.toolUser など)を追加または変更します。

  5. [保存] をクリックします。

構成によっては、権限ダイアログで自動的に処理されない追加のロールを手動で付与する必要があります。たとえば、登録された MCP ツールが BigQuery からのデータのクエリなど、他の Google Cloud リソースにアクセスする場合は、BigQuery データ閲覧者(roles/bigquery.dataViewer)ロールなどの必要なロールをエージェントの ID に手動で付与する必要があります。

Agent Studio からエージェントをデプロイする

エージェントを作成してプレビューしたら、本番環境にデプロイできます。Agent Studio からエージェントをデプロイする手順は次のとおりです。

  1. [エージェント] リストページで、デプロイするエージェントをクリックします。選択したエージェントの [エージェントの詳細] ページが表示されます。
  2. [デプロイ] をクリックして、[Agent Runtime インスタンスにデプロイ] ダイアログを開きます。

    エージェントの ID に必要な権限がない場合は、権限ダイアログが表示され、このアクションが自動的に処理されます。権限を手動で管理する必要がある場合は、エージェント ID の権限を管理するとエージェント間(A2A)委任のアクセス権を付与するをご覧ください。

  3. デプロイ構成ウィンドウで、次のオプションを構成します。

    • 表示名と説明: 表示名を編集し、必要に応じてエージェントの説明を追加します。
    • A2A としてデプロイ: 他のエージェントが再利用できる Agent-to-Agent(A2A)アセットとしてエージェントをデプロイするには、このチェックボックスをオンにします。スタンドアロン アプリケーションの場合は、チェックボックスをオフのままにして、エージェントを標準の ADK アプリケーションとしてパッケージ化します。
  4. 使用可能なリージョンのリストからデプロイ リージョンを選択し、[OK] をクリックします。

  5. [デプロイ] をクリックします。

デプロイでは新しいランタイム インスタンスが作成されます。完了までに最大 5 分かかることがあります。成功すると、Agent Studio キャンバスの [フロー] タブにメッセージが表示されます。エージェントが本番環境で使用できるようになり、外部アプリと安全に統合できます。

デプロイされたエージェントを表示する

デプロイしたエージェントを表示するには:

  1. Google Cloud コンソールで、Agent Platform の [デプロイ] ページに移動します。

    [デプロイ] に移動

  2. [リージョン] リストを使用して、デプロイ リージョンでフィルタします。

  3. 選択したプロジェクトの一部であるデプロイ済みのエージェントがリストに表示されます。

  4. 指定したエージェントの名前をクリックします。エージェントの [指標] ページが開きます。

  5. [プレイグラウンド] タブを選択して、エージェントをテストします。

  6. チャットペインにテストクエリを入力して、エージェントが正常に実行されることを確認します。

エージェントで使用可能な指標の詳細については、デプロイされたエージェントの指標を表示するをご覧ください。