Claude Platform Docs
Managed Agentsセキュリティ

Managed Agentsのデプロイメントを保護する

エージェントがアクセスできる範囲と実行できる操作を制限する設定を、重要度の高い順に紹介します。

このガイドでは、Claude Managed Agents上のエージェントがアクセスできる範囲と実行できる操作を制限する設定を、重要度の高い順に紹介します。各セクションには、その設定を詳しく説明しているページへのリンクがあります。

セクション設定または判断事項推奨
エージェントの実行場所を選択するクラウドまたはセルフホスト型サンドボックスツールを自社で管理するインフラストラクチャ上で実行する必要がない限り、クラウド
ネットワークを制限する環境のnetworking.typelimitedとし、エージェントが必要とするホストのみを指定
認証情報をボールトに保管する各環境変数の認証情報のinjection_locationとnetworkingリクエストヘッダーのみとし、limitedネットワーキングでそのキーの対象ホストのみを指定
Web検索とWebフェッチを制限する各Webツールのallowed_domains各ツールに許可リストを設定。web_fetchでは、エージェントが必要とするサイトのみを指定。web_searchでは、結果を取得したいサイトを指定
リスクのある操作を承認する各ツールのpermission_policybash、write、edit、web_fetch、およびデータの読み取りのみを行うMCPツールにはauto。サンドボックス外での変更を元に戻せないツールや、中継されたエンドユーザーのテキストだけで実行されるべきでないツールには、代わりにalways_ask
エージェントに最小限のツールセットを与えるエージェントツールセットのdefault_config.enabledfalseとし、エージェントが必要とするツールを有効化
信頼できない入力を強力なツールから遠ざける信頼できない入力を読み取るときにエージェントが保持するツールと認証情報信頼できない入力を読み取るエージェントには、ファイルの書き込み、コマンドの実行、レコードの変更を行うツールをalways_allowで持たせない
制限と停止手段を設定する各セッションとデプロイメントのbudget1回の実行で想定されるコストに見合った上限
必要に応じて、オフラインレビュアーにすべてのトランスクリプトを読ませる各セッションのイベントを読み取る、自社で実行するオフラインレビュージョブ任意。アイドル状態になった、または終了した各セッションを定期的にレビュー
セッションの監視と保持期間の確認Webhookとセッションの削除セッションがアイドル状態になったとき、予算に達したとき、または終了したときのアラートと、アイドル状態になった理由の確認。保持したいイベントは自社のログに保存し、不要になったセッションは削除

セキュリティリスクとサンドボックスの境界では、これらの設定が重要である理由と、これらの設定では防げないことを説明しています。セッションのレビューと監視については、エージェントセッションのレビューと監視を参照してください。

エージェントの実行場所を選択する

エージェントのツールがどこで実行されるかによって、サンドボックスを保護する主体が決まります。クラウド環境の場合はAnthropic、セルフホスト型サンドボックスの場合はお客様自身です。どちらを選ぶか、またそれぞれの場合に何がAnthropicに届くかについては、エージェント環境の選択を参照してください。

セルフホスト型サンドボックスを使用する場合は、次の4点に留意してください。

  • ネットワーク: ネットワークを制限するはクラウド環境に適用されます。セルフホスト型サンドボックスの場合は、自社のファイアウォールでそのトラフィックに同等の制限を設定してください。ファイアウォールはエージェントが宣言するMCPサーバーを制限しないため、それらのサーバーと、アプリケーションがセッションに設定するサーバーを確認してください。
  • Webツール: WebツールはAnthropicのサーバー上で実行されるため、ファイアウォールでは制限されません。ドメインリストで制限してください。Web検索とWebフェッチを制限するを参照してください。
  • 認証情報: 環境変数の認証情報は、セルフホスト型サンドボックスではまだサポートされていません。
  • 分離とハードニング: どちらもお客様の責任です。セキュリティモデルを参照してください。

どちらの選択肢でも、Managed Agentsのコンプライアンス対象範囲や、セッション履歴の保持期間は変わりません。セッションの監視と保持期間の確認を参照してください。

ネットワークを制限する

networking.typeをlimitedに設定し、エージェントが必要とするホストのみをallowed_hostsに指定してください。networkingを省略した環境作成リクエストはunrestrictedになる可能性があるため、すべての作成リクエストでnetworkingを設定してください。無制限ネットワーキングのリスクを参照してください。

アタッチしたファイル、メモリストア、GitHubリポジトリは、allowed_hostsに関係なくエージェントから引き続き利用できます。

このページの例では、サポートエージェントを使用します。このエージェントは顧客のチケットを読み、注文を検索し、ヘルプセンターを読んで、返信の下書きを作成します。注文の検索はアプリケーションが実行し、ホストを必要としないため、この環境ではweb_fetch用にヘルプセンターという1つのホストのみを許可しています。

ant apply environment.yaml
environment.yaml
# yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json
name: support-agent
config:
  type: cloud
  networking:
    type: limited
    allowed_hosts:
      - help.example.com

limited環境には3つのネットワーキング設定があります。

設定サンドボックス内のコードに開放されるもの推奨
allowed_hosts指定したホスト(あらゆるリクエストに対して)エージェントが必要とするホストのみ。自社で運用している、または信頼している各MCPサーバーのホストを含む
allow_package_managersパッケージマネージャーのホスト。これにはgithub.com、gitlab.com、bitbucket.org上のすべてのリポジトリとパスが含まれます。これらは誰でもコンテンツを公開でき、サンドボックス内のコードがファイルをアップロードできる場所ですfalse。ただし、環境のpackages設定にパッケージが指定されている場合はtrueが必要です。エージェントが実行中にパッケージをインストールする場合は、代わりに必要なレジストリホストのみをallowed_hostsに指定してください
allow_mcp_serversホストなし。Managed AgentsはAnthropicのサーバーからMCPサーバーに接続しますfalseとし、自社で運用している、または信頼している各MCPサーバーのホストをallowed_hostsに指定

allow_package_managersとallow_mcp_serversの設定は、Web検索とWebフェッチ用のホストを追加しません。

allow_mcp_serversはデフォルトのオフのままにし、自社で運用している、または信頼している各MCPサーバーのホストをallowed_hostsに指定してください。指定した各ホストは、サンドボックス内のコードにも開放されます。allow_mcp_serversがオフの場合、MCPサーバーのホストが指定されていなければ、セッション作成時のチェックでリクエストが拒否されます。セッション作成時に認証情報を提供するを参照してください。セッションの更新でmcp_serversが変更される場合も、同じチェックが実行されます。

allowed_hostsのホストを選ぶ際は、次の2つのルールに従ってください。

  • 自社で運用している、または信頼しているホストのみを指定する。
  • *.ワイルドカードや、誰でもコンテンツを公開できる共有ホスティングドメインを避ける。

エージェントがbashを保持する場合は、リスクのある操作を承認するの説明に従ってbashツールの権限ポリシーを設定してください。

すべてのネットワーキング設定については、クラウド環境のセットアップを参照してください。

認証情報をボールトに保管する

すべてのシークレットをボールトに保管してください。各環境変数の認証情報について、注入場所をリクエストヘッダーのみに設定し、そのシークレットの対象ホストのみを指定してください。サンドボックス内のコードには、シークレットの代わりにプレースホルダーが見えます。Managed Agentsは、認証情報が許可するホストへの送信HTTPSリクエストでのみ、実際のシークレットに置き換えます。そのため、リクエストヘッダーをエコーするエンドポイントのようにサービスがシークレットを送り返さない限り、シークレットはモデルから直接アクセスできない状態に保たれます。認証情報のnetworkingがunrestrictedの場合、Managed Agentsは、環境がサンドボックスに到達を許可するあらゆるホストへのリクエストで実際のシークレットに置き換えます。ボールトを使用するには、セッションまたはデプロイメントの作成時に、そのIDをvault_idsに渡してください。

設定設定値理由できないこと
injection_locationサービスがヘッダーからキーを読み取ることを確認した上で、{"header": true, "body": false}リクエストボディはエージェントが読むコンテンツから構築されることが多いため、ボディ内のキーはより露出しやすくなります。両方のフィールドを指定してください。オブジェクトを省略した作成リクエストでは両方の場所が有効になり、更新では送信したフィールドのみが変更されますコードは、認証情報が許可するすべてのホストで引き続きキーを使用できます。ボディにキーがあることを想定するサービスはプレースホルダーを受け取り、リクエストを拒否します
認証情報のnetworkinglimitedとし、そのキーの対象となる正確なホストを指定レスポンスは編集されずにサンドボックスに届くため、ワイルドカード、共有ホスティングドメイン、リクエストヘッダーをエコーするホストは避けてくださいホストを開放するものではありません。環境側でも許可する必要があります
キーを発行したサービスでのキーの権限エージェントが必要とする権限のみエージェントはキーが許可するあらゆる操作を実行できます該当なし
マウントされたリポジトリのGitHubトークン最小限の権限を持つfine-grainedトークンサンドボックス内のコードは、セッション全体を通じてこのトークンでマウントされたリポジトリからフェッチおよびプッシュできます。エージェントがプッシュする必要がある場合にのみ書き込みアクセスを付与してください該当なし

サポートエージェントは、注文APIのAPIキーをアプリケーションが保持しているため、ボールトの認証情報を必要としません。エージェントがボールトの認証情報を保持する場合は、各言語でのリクエストについて認証情報を追加するを参照してください。

キーをシステムプロンプト、エージェント定義、メッセージに含めないでください。エージェントにClaude APIキーを与えないでください。Claude APIキーがボールト内にある場合でも、サンドボックス内のコードはそれを使ってClaude APIを直接呼び出せます。セッションの開始や削除、Web検索やWebフェッチの使用など、そのキーが許可するあらゆる操作を実行できます。エージェントのツール設定、承認、予算はこれらの呼び出しには適用されません。limited環境では、allowed_hostsがサンドボックスにapi.anthropic.comへの到達を許可している場合にのみ、コードはこれらの呼び出しを行えます。

トークンは自分でフェッチしてボールトに保管してください。サンドボックス内のコードが保管されたシークレットを使ってフェッチしたトークンは、編集されずに返されるためです。

信頼レベルの異なるワークロード用のボールトは、別々のワークスペースに保管してください。ワークスペースにアクセスできるAPIキーであれば、そのワークスペースのボールトを参照できるためです。1つのワークスペースにスコープされたAPIキーを使用してください。

MCPの認証情報とローテーションについては、ボールトによる認証を参照してください。

Web検索とWebフェッチを制限する

web_fetchのallowed_domainsを、エージェントが必要とするサイトに設定してください。エージェントがフェッチするURLはどれも、その指し示すサイトにデータを運ぶ可能性があるため、このリストはセキュリティ制御となります。web_searchでは、allowed_domainsを結果を取得したいサイトに設定し、正確であると信頼できるサイトからのみ結果が得られるようにしてください。このリストは、検索クエリが検索プロバイダーに届くことを防ぐものではありません。検索結果にはページのテキストが含まれるため、このリストはどのサイトのテキストがエージェントに届くかも制限します。あらゆる種類の環境で、両方のツールにallowed_domainsを設定してください。

blocked_domainsリストは、指定したホストとそのサブドメインをブロックし、それ以外のホストはブロックしません。同じコンテンツが、Webアーカイブ、キャッシュ、ミラー、または指定していない関連ドメインからエージェントに届く可能性があります。セキュリティのためにblocked_domainsに頼らないでください。allowed_domainsを使用し、信頼するホストを指定してください。

limited環境では、ネットワークを制限するのallowed_hostsリストもWebツールを制限します。unrestricted環境やセルフホスト型サンドボックスでは、Webツールは制限されません。

limited環境での状況結果
有効なWebツールのallowed_domainsエントリがallowed_hostsの範囲外にあるセッションの作成は400エラーで失敗し、そのようなエントリを追加するセッション更新も同様に失敗します。デプロイメントがスケジュールまたは手動実行によって開始するセッションは、それでも作成されます。その場合、ツールはallowed_hosts外のホストからは何も返しません
Webツールに独自のリストがないツールはallowed_hosts内のホストからのみページと結果を返します。ツールにもallowed_domainsを設定してください
allowed_hostsにエントリがないどちらのWebツールもページや検索結果を返しません
Webツールのためにallowed_hostsにホストを追加するそのホストはサンドボックス内のコードにも開放されます

2つのリストは、ホストの照合方法が異なります。

リストエントリ一致するもの一致しないもの
allowed_hosts(環境)example.comexample.comwww.example.com
allowed_hosts(環境)*.example.comすべてのサブドメインexample.com
allowed_domains(Webツール)example.comexample.comとすべてのサブドメインその他のドメイン

エージェントがあるサイトとそのすべてのサブドメインを必要とする場合は、allowed_hostsにexample.comと*.example.comの両方を指定し、それ以外の場合は正確なホストを指定してください。ツールがexample.comを指定し、allowed_hostsが*.example.comのみを指定している場合、セッションは作成されます。セッション作成時のチェックではexample.comを*.example.comの範囲内とみなしますが、ツールはexample.com自体からは何も返しません。2つのリストの照合方法については、エージェントにドメインリストを設定するを参照してください。

また、web_fetchツールは、セッション内にすでに現れたURLのみを開きます。

URLが現れる場所web_fetchで開けるか
ユーザーメッセージのテキスト(中継したエンドユーザーのテキストを含む)はい
user.define_outcomeイベントの説明はい
Web検索結果のアドレスはい
web_fetchが以前に返したページ(PDFを除く)のテキストで、完全なURLが表示されているものはい
Claudeがツールを直接呼び出した場合のカスタムツールの結果のテキストはい(結果がis_error: trueとマークされている場合を除く)
システムプロンプトいいえ
allowed_domainsエントリを含むエージェントの設定いいえ
Claude自身の出力いいえ
bashおよびその他のサンドボックスツールの出力いいえ
MCPツールの結果いいえ
ユーザーメッセージに添付されたファイルいいえ

マルチエージェントセッションでは、web_fetchは、別のエージェントからのURLが「はい」とマークされたソースを通じてそのエージェントに届いた場合にのみ、そのURLを開きます。直接呼び出しによるカスタムツールの結果は、「はい」とマークされたソースとみなされます。これは、ツールが入力を繰り返す場合など、Claudeがそのテキストを書いた場合でも同様です。URLは、example.com/docsのようにhttps://なしで書かれていても対象となる場合があります。web_fetchツールは、「Contact support」のようにURLの代わりに語句を表示するリンクを常に開けるとは限りません。セッション内に現れていないURLをエージェントがフェッチする必要がある場合は、ユーザーメッセージで送信してください。

このルールにより、注入されたテキストが機密データを運ぶURLを構築する可能性が低減されます。エンドユーザーのテキスト、検索結果、フェッチしたページ、カスタムツールの結果によって引き続きURLが追加される可能性があるため、allowed_domainsは設定したままにしてください。Messages APIも、ソースのリストは異なりますが、同様のルールを適用します。URL検証を参照してください。

web_fetchのドメインリストはbashツールを制限しません。ネットワークも制限してください。ドメインリストのルールを参照してください。

リスクのある操作を承認する

bash、write、edit、web_fetch、およびデータの読み取りのみを行うMCPツールにはautoを設定してください。サンドボックス外での変更を元に戻せないツールには、代わりにalways_askを使用してください。また、中継したエンドユーザーのテキストが要求したというだけで実行されるべきでないツールにも使用してください。権限ポリシーは、ツール呼び出しを実行するか、承認を待つか、サーバーで評価するかを決定します。

ツール推奨ポリシー理由
read、glob、grepalways_allowサンドボックス内のファイルを読み取るだけで、何も変更しません
bash、write、editauto。サンドボックス外での変更を元に戻せないツールにはalways_askを使用してください。エンドユーザーのテキストを中継する場合は、bashにalways_askを使用してくださいエージェントツールセットのデフォルトはalways_allowで、すべての呼び出しを承認なしで実行します
web_fetchautoエージェントがフェッチするURLは、その指し示すサイトにデータを運ぶ可能性があります
web_search検索クエリで送信されたくないデータをエージェントが扱う場合はalways_ask。それ以外の場合はalways_allowallowed_domainsは結果の取得元サイトを制限するものであり、クエリの内容を制限するものではありません
データの読み取りのみを行うMCPツールauto。ツールセットのconfigsでツールごとに設定ツールセットのデフォルトはalways_askのままなので、MCPサーバーが後から追加したツールも承認を待ちます
データを変更するMCPツールalways_askこれはMCPツールセットのデフォルトです。そのままにしてください
カスタムツール各呼び出しを実行するかどうかはお客様のコードが決定します権限ポリシーは適用されません

エージェントに最小限のツールセットを与えるのツールセットでは、これらのポリシーを適用しています。

autoポリシーでは、サーバーが呼び出しを実行するか、拒否するか、承認のために一時停止するかを判断します。長時間の実行ではすべての呼び出しを人が承認することはできないため、代わりにサーバーが各呼び出しをチェックします。autoは、制限されたネットワーキング、権限を絞ったキー、予算、アイドルセッションのアラートと組み合わせて使用してください。autoは人によるチェックポイントではないため、ツールの呼び出しを実行前に人がレビューする必要がある場合は、そのツールにalways_askを設定してください。

autoは、user.messageイベントのテキストとuser.define_outcomeイベントの説明を、中継したエンドユーザーのテキストも含めて、お客様の指示として扱います。

一時停止したセッションは無期限に待機するため、無人のセッションには、一時停止した呼び出しに応答するか、セッションを中断するクライアントが必要です。

一時停止した各呼び出しは、許可する前にレビューしてください。人に見せずにすべての呼び出しを許可するクライアントは、always_allowと同じです。確認リクエストに応答すると各呼び出しがどのように評価されたかを確認するを参照してください。

エージェントに最小限のツールセットを与える

default_config.enabledをfalseに設定し、エージェントが必要とするツールのみを有効化してください。エージェントツールセットは、デフォルトで8つの組み込みツールすべてを有効にします。

ツール機能
bash許可されたホストへのリクエストを含め、あらゆるコマンドを実行します
write、editサンドボックス内のファイルを変更します
read、glob、grepサンドボックス内のファイルを読み取ります
web_fetch、web_searchAnthropicのサーバーを経由して、Webからページと検索結果を返します

サポートエージェントには3つの組み込みツールが必要です。下書き用のreadとwrite、およびヘルプセンター用のweb_fetchです。注文の検索は、アプリケーションが実行するカスタムツールlookup_orderを通じて行います。注文APIのAPIキーはアプリケーションが保持しているため、エージェントにはbashも認証情報も必要ありません。

次のサンプルでは、allowed_domainsでweb_fetchをhelp.example.comに制限しています。リスクのある操作を承認するの推奨どおり、writeとweb_fetchにautoを設定しています。顧客のチケットによってエージェントがこれらのツールを使用することになっても、エージェントにできるのはサンドボックス内のファイルの変更か、ヘルプセンターのページを開くことだけです。そのため、どちらのツールにもalways_askは必要ありません。また、このサンプルではdefault_configにalways_askを設定しているため、後から独自のポリシーなしで有効にしたツールはalways_askを使用します。

ant apply agent.md
agent.md
---
name: Support Agent
model: claude-opus-5-5
tools:
  - type: agent_toolset_20260401
    default_config:
      enabled: false
      permission_policy:
        type: always_ask
    configs:
      - name: read
        enabled: true
        permission_policy:
          type: always_allow
      - name: write
        enabled: true
        permission_policy:
          type: auto
      - name: web_fetch
        enabled: true
        allowed_domains: [help.example.com]
        permission_policy:
          type: auto
  - type: custom
    name: lookup_order
    description: Look up one order by its ID. Returns the status, the items, and the delivery date.
    input_schema:
      type: object
      properties:
        order_id:
          type: string
          description: The order ID from the ticket
      required:
        - order_id
---

エージェントの更新はtools配列全体を置き換えるため、保持したいすべてのエントリを送信してください。

エージェントの更新は新しいセッションにのみ反映されるため、デプロイメント、このエージェントを指定しているエージェント、既存のセッションも確認してください。

  • デプロイメントはエージェントのバージョンを固定するため、各デプロイメントが新しいバージョンを指すようにしてください。
  • このエージェントをsubagents.predefined_agentsまたはworkflows.predefined_agentsに指定しているエージェントは、固定したバージョンを維持するため、そのエージェントも更新してください。
  • すでに存在するセッションの制限を強化するには、そのセッションのツールを更新してください。セッションはidleである必要があり、更新はtools配列全体を置き換えます。マルチエージェントセッションでは、セッションが実行するエージェントのWebツールに設定した新しいallowed_domainsおよびblocked_domainsリストは、他のすべてのエージェントにも適用されます。これらは各エージェントの次のターンから適用されます。それらのエージェントの有効なツールと権限ポリシーは変わりません。それらを変更するには、各エージェントを更新してから新しいセッションを開始してください。

MCPサーバーとカスタムツールも、エージェントが必要とするものに限定してください。

  • MCPサーバー: MCPツールセットは、デフォルトでサーバーが公開するすべてのツールを有効にします。default_config.enabledをfalseに設定して名前を指定したツールを有効にし、サーバーが後から追加したツールがオフのままになるようにしてください。エージェントが使用しないサーバーは削除してください。MCPコネクタを参照してください。
  • カスタムツール: アプリケーションが実行し、権限ポリシーは適用されません。アプリケーションで各呼び出しの入力を検証し、ツールがアクセスできる範囲を制限してください。

信頼できない入力を強力なツールから遠ざける

エージェントが信頼できない入力、つまりチーム外の誰かが書けるテキストを読むときは、そのエージェントが保持するツールと認証情報を確認してください。このセクションでは2つの用語を使用します。

  • 信頼できない入力: Webページ、検索結果、サポートチケット、メール、リポジトリのファイル、アップロード、MCPサーバーの結果、中継したエンドユーザーのメッセージ。
  • 強力なツール: bash、write、edit、web_fetch、web_search、データを書き込むまたは送信するMCPツールとカスタムツール、および認証情報を使用するあらゆるツール。

信頼できない入力内のテキストは、エージェントが保持する強力なツールを使うようエージェントに指示できます。サポートエージェントはチケットを読むため、注文APIにはカスタムツールlookup_orderを通じてのみアクセスします。アプリケーションは、注文がチケットの送信者のものであることを確認します。

エージェントが読む入力エージェントが併せ持つ権限対処法
チケット、メール、アップロード認証情報付きのbashbashを、1つのことだけを行うカスタムツールに置き換えてください。エージェントがbashを保持する必要がある場合は、always_askで各呼び出しを承認してください
Webページまたは検索結果ファイルの書き込みまたはレコードの変更Webツールをオフにするか、自社で運用している、または信頼しているサイトに制限してください
MCPの結果またはリポジトリのファイル書き込みを行うMCPツールMCPツールセットをalways_askのままにし、エージェントが必要とするツールのみを有効にしてください
マウントされたGitHubリポジトリあらゆるツール信頼するリポジトリのみをマウントしてください。readを持つエージェントは、リポジトリの.claude/skillsディレクトリからスキルをエージェントの指示として、レビューの手順なしで読み込みます。GitHubリポジトリからスキルを読み込むを参照してください
あらゆる信頼できない入力メモリストアへの書き込みエージェントが書き込む必要がない限り、ストアをread_onlyとしてアタッチしてください。デフォルトはread_writeで、後続のセッションは保存されたテキストを信頼できるメモリとして読み込みます

クラウド環境では、readでファイルを読むと、CLAUDE.mdおよびAGENTS.mdファイルも指示として読み込まれる場合があります。これらは、ファイルのディレクトリとその親ディレクトリから、サンドボックスの作業ディレクトリまで読み込まれます。@docs/setup.mdのように@とパスで参照されるファイルも、最大5階層の参照まで読み込まれます。参照は、@/etc/hostsのようにサンドボックス内のどこでも指すことができます。readを無効にする以外にこれをオフにする設定はないため、チーム外の誰かが書き込めるリポジトリ、パッケージ、アーカイブは信頼できない入力として扱ってください。

エージェントが信頼できない入力を読み、かつ操作も行う必要がある場合、このガイドでは3つの設計のいずれかを推奨します。

  • 読み取りと操作を分離する。 1つのマルチエージェントセッション内で、リードエージェントが、Webを読むフェッチャーと、ファイルやレコードを変更するライターにタスクを割り当てます。
  • エージェントに1つの限定的なカスタムツールを与える。 アプリケーションがツールを実行し、入力をチェックし、認証情報を保持します。サポートエージェントは、分離ではなくこの設計を使用しています。セッションを一時停止させるツール呼び出しに応答するを参照してください。
  • 人を介在させる。 強力なツールにalways_askを使用し、各呼び出しを人が承認するようにします。

分離では3つのエージェントを使用します。

エージェント読むもの保持するもの渡すもの
リード(セッションが実行するエージェント)お客様のメッセージと、他のエージェントから返されたもの組み込みツールなし。subagents.predefined_agentsリストでフェッチャーとライターを指定各エージェントへのタスク
フェッチャーWebページと検索結果web_fetchとweb_searchのみ(それぞれallowed_domains付き)システムプロンプトで指定した形式の短い結果
ライターリードからのタスクファイルの書き込み、コマンドの実行、レコードの変更を行うツール(autoまたはalways_ask)。Webツールなしその結果

フェッチャーの結果は信頼できないページから構築されており、リードはそのテキストをライターに渡す可能性があります。ライターのツールはautoまたはalways_askのままにしてください。フェッチャーは、読んだ内容の一部をweb_fetchリスト上のサイトや、クエリを通じて検索プロバイダーに送信する可能性が依然としてあります。

1つのマルチエージェントセッション内のエージェントは、サンドボックス、そのファイル、ボールトの認証情報を共有するため、この分離で分けられるのはツールと会話のみです。より強力な分離を行うには、別々の環境とボールトを持つ2つのセッションを使用してください。2つのセッション間では、注文IDなどの固定フィールドのみをアプリケーションが受け渡すようにしてください。

制限と停止手段を設定する

各セッションの作成時に予算を設定し、エージェントを停止する方法を事前に決めておいてください。

制御機能
セッション予算公開定価に基づく支出の上限。上限に達すると、セッションと各スレッドが一時停止します。進行中のリクエストは完了でき、そのツール呼び出しも実行されるため、支出が上限を超える場合があります。セッションが予算に達したときを参照してください
デプロイメント予算同じ上限を、デプロイメントが開始する各セッションに適用します
user.interruptイベントモデルの応答を即座に停止します。実行中のツール呼び出しは先に完了する場合があります。ワークフロー実行によってrunningのまま維持されない限り、セッションはidleになり、次のメッセージで再開します。中断によってワークフロー実行が終了することはありません
セッションのアーカイブまたは削除アーカイブは履歴を保持し、新しいイベントをブロックします。削除はレコード、イベント、サンドボックスを削除します
デプロイメントの一時停止またはアーカイブ一時停止は新しいスケジュール実行を停止しますが、手動実行は引き続き許可します。アーカイブはスケジュールを完全に終了します。すでに実行中のセッションは実行を続けます
ボールトまたは認証情報のアーカイブまたは削除再起動なしで、実行中のセッションからシークレットを削除します。遅延を考慮してください。セッションは実行を続けるため、それらも中断してください。エージェントがシークレットを使ってすでにフェッチしたトークンは、サンドボックス内に残ります

実行中のエージェントを停止するには、次の手順に従ってください。

  1. user.interruptを単独で送信します。
  2. スケジュールされたエージェントの場合は、新しいスケジュール実行が開始されないようにデプロイメントも一時停止します。スケジュールを完全に終了するには、デプロイメントをアーカイブします。
  3. キーが漏洩した可能性がある場合は、キーを発行したサービスでローテーションします。
  4. エージェントにワークフロー実行が開いている場合は、中断では実行が終了しないため、それらを停止するよう求めるuser.messageも送信します。先にキャンセルすべきツール呼び出しについては、実行が開いているセッションを中断するを参照してください。
  5. セッションがidleになるまで待ちます。実行中のセッションはアーカイブも削除もできません。
  6. 履歴を保持するためにセッションをアーカイブします。履歴が不要になったら削除します。

中断しても、エージェントがすでに実行または送信したことは元に戻りません。エージェントをアーカイブしても、その実行中のセッションは停止しません。

予算のmax_list_cost.amountは、米国セント単位の整数を文字列で記述したものなので、"125"は$1.25を意味します。セッション作成時に予算を設定するを参照してください。

予算なしで作成されたセッションに予算を追加することはできません。上限を変更または削除するには、予算に達したセッションを再開するを参照してください。セッションの上限を削除した後は、新しい上限を設定できません。

予算は支出に上限を設けますが、上限に達するまでにエージェントが行うことは制限しません。信頼レベルの異なるワークロードを分離するには、別々のワークスペースを使用してください。複数のワークスペースにアクセスできるキーはそのいずれでも操作できるため、各ワークロードには1つのワークスペースにスコープされたAPIキーを与えてください。

セッション予算、セッション操作、スケジュールされたデプロイメントを参照してください。

次のステップ

ネットワーキングモード、許可されたホスト、パッケージマネージャー。

承認ポリシーと確認リクエスト。

認証情報の種類、注入場所、ローテーション。

上限、予算に達したときの再開、デプロイメントの予算。

Was this page helpful?