セルフホストワーカーリファレンス
セルフホスト型サンドボックスワーカーのリファレンス:ant CLIフラグ、環境変数、ホスト要件、ファイルシステムパス、SDKヘルパーオプション。
このページでは、self_hosted環境を処理する事前構築済みのワーカーについて説明します。タスク指向のガイドについては、まずセルフホスト型サンドボックスとセルフホストワーカーをデプロイするを参照してください。
CLIコマンドとフラグ
| コマンド | 説明 |
|---|---|
ant beta:worker poll | 環境のキューからワークアイテムを取得し、各セッションをプロセス内で実行します。--on-workを指定すると、代わりにワークアイテムごとにスクリプトを呼び出します。 |
ant beta:worker run | 取得済みの1つのセッションを処理して終了します。セッションごとのサンドボックスのエントリポイントとして使用します。 |
| フラグ | 説明 |
|---|---|
--environment-id | ワークをポーリングする環境。ANTHROPIC_ENVIRONMENT_IDからも読み取ります。 |
--environment-key | この環境に対してワーカーを認証します。ANTHROPIC_ENVIRONMENT_KEYからも読み取ります。 |
--workdir | スキルがダウンロードされ、ツールがファイルを読み書きするディレクトリ。デフォルトは.(カレントディレクトリ)です。 |
--on-work | ツールをプロセス内で実行する代わりに、取得したワークアイテムごとに呼び出すスクリプト。セッションの詳細を環境変数として、ワークアイテムをJSONとして標準入力で受け取ります。 |
--max-idle | セッションがend_turnの停止理由でアイドル状態になった後、シャットダウンするまで待機する時間。デフォルトは60sです。 |
--log-format | ログの出力形式。構造化ログの取り込みにはjsonを使用します。デフォルトはtextです。 |
環境変数
| 変数 | 説明 | 設定者 |
|---|---|---|
ANTHROPIC_ENVIRONMENT_ID | ワーカーが処理するキューを持つ環境。 | お客様がワーカーホスト上で設定します。ポーラーはこれを--on-workスクリプトに渡します。 |
ANTHROPIC_ENVIRONMENT_KEY | ワーカーをそのキューに対して認証します。 | お客様がワーカーホスト上で設定します。ポーラーはこれを--on-workスクリプトに渡します。 |
ANTHROPIC_SESSION_ID | 取得したワークアイテムが表すセッション。 | ポーラーが--on-workスクリプト用に設定します。 |
ANTHROPIC_WORK_ID | 取得したワークアイテム。 | ポーラーが--on-workスクリプト用に設定します。 |
ANTHROPIC_WORK_SECRET | ワークアイテムのセッションごとのシークレット。 | お客様が設定します。ポーラーは設定しません。ワークアイテムのシークレットを転送するを参照してください。 |
ANTHROPIC_BASE_URL | デフォルトのAPIエンドポイントを上書きします。省略可能です。 | お客様がワーカーホスト上で設定します。 |
ANTHROPIC_WEBHOOK_SIGNING_KEY | 受信したWebhookペイロードを検証します。 | お客様がWebhookハンドラーホスト上で設定します。 |
ホスト要件
| ワーカー | 要件 |
|---|---|
| すべてのワーカー | /bin/bashがそのパスに存在するLinuxホスト。ワーカーのbashツールはPATHを参照せずに直接これを呼び出します。 |
| TypeScript SDK | PATH上のunzipとtar、およびNode.js 22以降。 |
| PythonおよびGo SDK | 追加のバイナリは不要です。これらのSDKはアーカイブの展開に標準ライブラリを使用します。 |
メモリストアには独自の要件が追加されます。
サンドボックスのファイルシステム
| パス | 内容 |
|---|---|
/workspace | ツール実行とスキルダウンロードのためのシステムデフォルトの作業ディレクトリ。別の作業ディレクトリを使用する場合は、Claudeがスキルファイルを見つけられるようにエージェントのシステムプロンプトを更新してください。 |
<workdir>/skills/<name>/ | エージェントのダウンロード済みスキル。 |
/mnt/memory/<store>/ | アタッチされたメモリストアごとに1つのディレクトリで、ストアのmount_pathに配置されます(例:/mnt/memory/user-preferences/)。ワーカーはセッションを取得したときにこれらのディレクトリを作成し、セッション終了時に削除します。 |
セルフホスト環境では、セッションのシステムプロンプトから、Anthropic管理のサンドボックスで使用される/mnt/session/outputsの指示が省略されます。最終成果物は、エージェントがサンドボックスのファイルシステム内で書き込んだ場所(通常は作業ディレクトリ配下)に配置されます。
スキルには、エージェントが直接実行できる実行可能ファイルを含めることができます。CLIおよびSDKのワーカーは、スキルバンドルを展開する際に、バンドルに記録された実行権限を保持します。スキルのダウンロードを手動で実装する場合は、実行権限の設定はお客様の責任となります。
SDKヘルパー
Python、TypeScript、Go SDKは、制御レベルの異なる3つのヘルパーを提供します:
| ヘルパー | 機能 | 使用する場面 |
|---|---|---|
EnvironmentWorker | ポーリング、セットアップ、実行をエンドツーエンドで処理します。 | ほとんどの場合。 |
work.poller() | ワークキューをポーリングし、取得した各セッションを渡します。 | 各セッションで何を行うかを自分で決定する場合。たとえば、ツールをプロセス内で実行する代わりにサンドボックスを起動する場合など。 |
client.beta.sessions.events.tool_runner() | セッションIDとツールリストを受け取り、単一セッションのツール呼び出しを実行します。 | すでにワークを取得済みで、実行レイヤーのみが必要な場合。 |
EnvironmentWorker
| メソッド | 説明 |
|---|---|
run() | 無期限に実行され、到着したセッションを順次処理します。 |
handle_item() | 取得済みの単一のワークアイテムを処理して戻ります。ワーク、セッション、環境の識別子とwork_secretを明示的に渡すか、ANTHROPIC_*変数から読み取らせます。 |
| オプション | 説明 |
|---|---|
tools | セッションのAgentToolContextを受け取り、ツールリストを返すファクトリ。デフォルトは標準のエージェントツールセットです。 |
memory_sync_interval | セッション実行中に、アタッチされたメモリストアがサーバーと照合する頻度。同期間隔を参照してください。 |
memory_sync_deletions | エージェントがローカルで削除したファイルをストアからも削除するかどうか。削除を参照してください。 |
EnvironmentWorkerはAgentToolContextとツールセットを自動的に管理します。ツールリストをカスタマイズするには、toolsファクトリを渡します:
EnvironmentWorker(client, ..., tools=lambda env: [beta_bash_tool(env), my_custom_tool])ワークポーラー
| オプション | 説明 |
|---|---|
drain | 新しいワークを待たずに、キューが空になった時点でポーリングを停止するかどうか。 |
block_ms | 各ポーリングが戻る前にワークの到着を待機する時間(ミリ秒)。1から999の間である必要があります。ヘルパーは自動的に再ポーリングします。ノンブロッキングのチェックにはNoneを渡します。デフォルトは999 msのロングポーリングです。 |
reclaim_older_than_ms | 取得されたものの、このミリ秒数以内に確認応答されなかったワークアイテムを再取得します。 |
auto_stop | ループ本体が各ワークアイテムの処理を終えた時点で、そのワークアイテムの停止シグナルを送信するかどうか。ワークアイテムを実行するもの自体が停止を送信する場合は、Falseに設定します。handle_item()は停止を送信します。また、停止呼び出しを担当する、お客様が起動したサンドボックスも同様です。 |
完全な例については、SDKポーラーからサンドボックスを起動するを参照してください。
セッションツールランナー
client.beta.sessions.events.tool_runner()は、ツールリストをtoolsとして受け取ります。そのリストを構築するには、AgentToolContextを自分でセットアップし、beta_agent_toolset_20260401(env)を呼び出します:
from anthropic.lib.tools.agent_toolset import (
AgentToolContext,
beta_agent_toolset_20260401,
)
async with AgentToolContext(
workdir="/workspace", client=client, session_id=work.data.id
) as env:
# スキルは /workspace/skills/<name>/ にダウンロードされます
tools = beta_agent_toolset_20260401(env)AgentToolContextとエージェントツールセット
AgentToolContextはツール呼び出しの実行コンテキストです。作業ディレクトリとパスポリシーを定義し、セッションのスキルをダウンロードできます。
| オプション | 説明 |
|---|---|
allowed_roots | 作業ディレクトリに加えて、ファイルツール(read、write、edit、glob、grep)がアクセスできるディレクトリ。 |
read_only_roots | writeとeditがパスを拒否するディレクトリ。 |
EnvironmentWorkerは、セッションのメモリストアのディレクトリを自動的にallowed_rootsに追加し、access: "read_only"でアタッチされたストアのディレクトリをread_only_rootsに追加します。
この制限はファイルツールのみに対するガードレールであり、サンドボックスではありません。bashは制限されません。
beta_agent_toolset_20260401(env)はAgentToolContextを受け取り、標準のツール実装(bash、read、write、edit、glob、grep)を返します。
Was this page helpful?