はじめに
ハーネスは、AgentCore CLI を介して、または などの AWS SDKs で直接使用できますboto3。CLI はほとんどの開発者にとって最速のパスです。SDKs は独自のアプリケーションからプログラムで使用するためのものです。
前提条件
はじめに
例
- AWS CLI/boto3
-
名前と実行ロールを使用してハーネスを作成します。
aws bedrock-agentcore-control create-harness \
--harness-name "MyHarness" \
--execution-role-arn "arn:aws:iam::123456789012:role/MyHarnessRole"
get-harness までポーリングします"status": "READY"。レスポンス内の arn を書き留めます。
aws bedrock-agentcore-control get-harness \
--harness-id "MyHarness-XyZ123"
Python から を呼び出します。モデルを指定しない場合、ハーネスのデフォルトは Amazon Bedrock の Anthropic Claude Sonnet 4.6 です。
import boto3
client = boto3.client("bedrock-agentcore", region_name="us-west-2")
response = client.invoke_harness(
harnessArn="arn:aws:bedrock-agentcore:us-west-2:123456789012:harness/MyHarness-XyZ123", # Replace with your harness ARN
runtimeSessionId="1234abcd-12ab-34cd-56ef-1234567890ab",
messages=[{
"role": "user",
"content": [{"text": "Research three tropical vacation options under $3k."}]
}],
)
for event in response["stream"]:
if "contentBlockDelta" in event:
delta = event["contentBlockDelta"].get("delta", {})
if "text" in delta:
print(delta["text"], end="", flush=True)
elif "runtimeClientError" in event:
print(f"\nError: {event['runtimeClientError']['message']}")
- AgentCore CLI
-
AgentCore CLI をインストールします。
npm install -g @aws/agentcore
フラグを使用して非インタラクティブにハーネスプロジェクトを作成します。
agentcore create --name myresearchagent --model-provider bedrock
デプロイして呼び出す:
agentcore deploy
agentcore invoke --harness myresearchagent \
--session-id "$(uuidgen)" \
"Research three tropical vacation options under $3k, within five hours of NYC."
レスポンスはターミナルにストリーミングされます。呼び出し--session-id間で同じ を再利用して、同じ環境で会話を続行します。
既存のプロジェクトにハーネスを追加するには、 を使用しますagentcore add harness。スタンドアロンの Python 呼び出しスクリプトを生成するには、 を追加します--with-invoke-script。
便利なフラグ:
-
--no-browser (-b) - ブラウザインスペクターの代わりにターミナル TUI を使用する
-
--logs (-l) - stdout へのログを使用して非インタラクティブモードで実行
-
--port <port> (-p) - 開発サーバーポートを設定する (デフォルトは 8080)
-
--no-traces - ローカル OTEL トレース収集を無効にする
- Interactive
-
AgentCore CLI をインストールします。
npm install -g @aws/agentcore
フラグagentcore createなしで を実行して、インタラクティブウィザードを起動します。
agentcore create
-
プロジェクト名を入力します。
-
プロジェクトタイプとしてハーネスを選択します。
-
モデルプロバイダーを選択します。
-
環境 (デフォルト、コンテナ URI、または Dockerfile) を選択します。
-
メモリを設定します。
-
必要に応じて、詳細設定 (ツール、認証、ネットワーク、ライフサイクル、制限、切り捨て、セッションストレージ) を設定します。
-
設定を確認し、以下を確認します。
確認後、ウィザードはプロジェクトをスキャフォールドします。でデプロイしagentcore deploy、 で を呼び出しますagentcore invoke。
を使用して、いつでもプロジェクトのステータスを確認しますagentcore status。
ローカル環境でハーネスをテストする場合は、開発サーバーを実行できます。
agentcore dev
を実行するとagentcore dev、CLI はまずハーネスリソースを にデプロイし AWS、IAM ロール、ハーネス、およびプロジェクトで設定されたメモリまたは認証情報を作成します。
デプロイが完了すると、ローカルサーバーが開始され、ブラウザでエージェントインスペクターが開き、ハーネスとチャットしたり、トレースを検査したり、プロジェクトリソースを参照したりできます。
ハーネス設定を展開して、現在のセッションのハーネス設定を表示および上書きします。
ハーネスを実行するために必要なのはこれだけです。以下のセクションでは、設定できるすべてについて説明します。
は 33 文字以上にruntimeSessionIdする必要があります。UUID または同様の識別子を使用します。呼び出し間で同じセッション ID を再使用して、同じ環境で会話を続行します。
API ドキュメント
詳細については、 API リファレンスを参照してください。
InvokeHarness はイベントのストリームを返します。主要なイベントタイプは次のとおりです。
-
messageStart - 新しいメッセージの開始 ( を含むrole)
-
contentBlockStart - コンテンツブロックの開始 (テキスト、toolUse、または toolResult)
-
contentBlockDelta - 増分コンテンツ (text、toolUse入力、reasoningContent)
-
contentBlockStop - コンテンツブロックの終了
-
messageStop - メッセージの終了 ( を含むstopReason)
-
metadata - トークンの使用状況とレイテンシーのメトリクス
-
runtimeClientError - 実行中のエラー
stopReason の は、エージェントが停止した理由messageStopを示します。
-
end_turn - エージェントが正常に終了しました
-
tool_use - エージェントがインライン関数を呼び出し、クライアント側の結果を待っています
-
max_tokens - モデルのターンごとのトークン制限に達した
-
max_iterations_exceeded - maxIterations制限に達しました
-
timeout_exceeded - timeoutSeconds制限に達しました
-
max_output_tokens_exceeded - maxTokens 予算が枯渇した