mcpField
A
amazon-braket

amazon-braket

github.com/aws開発3.3k2.7k 回インストール今日更新
リポジトリ

amazon-braket について

amazon-braketは、シミュレーターやQPUを使う開発者向けの、Amazon Braket量子コンピューティング用ドメインスキルです。デバイス、プログラムセット、ハイブリッドジョブ、コスト管理の資料へ案内し、最新のデバイス情報とAPIを確認するよう求めます。

主な機能

  1. 01デバイス、タスク、ハイブリッドジョブを網羅
  2. 02プログラムセットとタスクバッチに対応
  3. 03支出上限とコスト追跡の指針
  4. 04作業領域に応じた参考資料の案内
  5. 05デバイス状態とSDKシグネチャの確認

活用シーン

  1. 01量子デバイスの検索と絞り込み
  2. 02複数プログラムやパラメーター掃引の実行
  3. 03管理された古典・量子ループの実行
  4. 04QPUワークロードの支出上限設定

MCP 対応

Python SDKで扱えないAWS API操作にはAWS MCP serverの利用を推奨します。Braket SDKコードの実行には、別のローカル実行ツールを使います。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aws/agent-toolkit-for-aws --skill amazon-braket

インストール後、Claude Code で/amazon-braketを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
devices.md
hybrid-job.md
pricing.md
program-sets.md
spending-limit.md

詳細

Amazon Braket

プリミティブ

Braket ワークフローの用語と、それぞれの項目について参照するドキュメントを示します。

プリミティブ内容関連ドキュメントリクエストに次の内容が含まれる場合に参照
デバイスリージョンごとの ARN で識別されるシミュレーターまたは QPUdevices.mdデバイスに関するあらゆる内容:利用可能なデバイス、デバイス群の検出やフィルタリング、利用可否とステータス(オンライン、オフライン、廃止)、デバイスが存在するリージョン、ARN、ワークロードに使用するデバイスの選択、量子ビット数、接続性またはトポロジー、ネイティブゲート、忠実度、キャリブレーションデータ、キューの深さ、ショット数とゲート数の上限、パラダイム(ゲートモデルとアナログ・ハミルトニアン・シミュレーション)、デバイスがプログラムセットに対応しているかどうか、パルスレベルの制御、シミュレーターとローカルエミュレーター
プログラムワークロード/入力(Circuit、AHS、OpenQASM のいずれかの実行可能な単位)。使用できるタイプはデバイスのパラダイムによって異なります--
量子タスク1 つのプログラムとショット数を 1 回実行する単位(Braket が計測する最小単位)--
タスクバッチ複数の独立したタスク。プログラムセットが適さない場合に使用する SDK 専用の代替手段で、すべてのデバイスで動作しますprogram-sets.md「プログラムセット」の行を参照してください。また、複数のプログラムの実行も参照してください
プログラムセット1 つのサービス側タスクで複数のプログラムを実行する方法。複数のプログラムを実行する際には、タスクバッチよりもこちらが推奨されますprogram-sets.md複数のプログラムの実行:パラメーターのスイープ、パラメーター値のスキャン、タスクバッチ、run_batch、複数の回路の一括送信、複数プログラムにわたるオブザーバブルの関連付け、多数のプログラムを実行する際のタスクごとの料金の最小化、プログラムセット。また、プログラムセットの使用開始も参照してください
ハイブリッドジョブ多数のタスクをオーケストレーションする、管理対象の古典・量子ループhybrid-job.mdハイブリッドジョブ:@hybrid_job、アルゴリズムスクリプトとソースモジュール、entry_point、組み込みシミュレーター、BYOC とカスタムコンテナイメージ、CUDA-Q、ジョブ実行ロール、ハイパーパラメーター、チェックポイント、ジョブ結果の取得
支出上限QPU タスクを拒否するサービス側のハード上限(SDK ではなく、実際に適用される唯一の制限)spending-limit.md支出の上限設定または制限の適用:支出上限(作成、更新、削除、検索)とコストのガードレール
コスト追跡セッション内のコスト見積もり(制限の適用ではありません)spending-limit.mdTracker を使ったセッション内のコスト追跡

各リファレンスには、その領域に関する詳細(フィールドパス、キー名、API の形式、料金モデル)が記載されています。

補足:

  • 予約 — 予約した時間帯にデバイスを専有できます。このスキルでは予約について概要のみ扱います。料金モデルは pricing.md、service.reservationShotsRange など予約固有のデバイス制限は devices.md、詳細は予約の開発者ガイドを参照してください。
  • ゲートキャリブレーション/パルス制御 — QPU のネイティブゲートキャリブレーションにアクセスし、実行時にカスタムパルスシーケンスを適用します。対応状況の検出については devices.md、詳細についてはパルス制御の開発者ガイドを参照してください。

重要なルール

これらのルールは、内容を問わず、すべての Braket リクエストに適用されます。

  1. Amazon Braket Python SDK(pip install amazon-braket-sdk、braket としてインポート)が主要なエントリーポイントです。 Braket API の操作を含むすべての操作で優先して使用し、ドキュメントを読むか、SDK のモジュールをローカルで調べて、どのような機能を網羅しているかを把握してください。

    • shell と python3 -c "<code>" などのローカル実行ツールを使って、Braket SDK を実行してください。
  2. このスキルでほかの AWS API を呼び出す場合は、AWS MCP サーバーの使用を推奨します。 特に Python SDK に含まれない操作で推奨しますが、必須ではありません。注:AWS MCP の run_script ツールは、Braket ライブラリを含まない最小限のサンドボックスでコードを実行するため、特に Braket SDK を使う場合は、ほかのコード実行ツールを優先してください。

  3. すべてのワークフローは少数のプリミティブを組み合わせて構成されます — 用語と各項目のリファレンスについては、プリミティブを参照してください。

  4. デバイス、量子タスク、ハイブリッドジョブはリージョンごとに管理されます。そのため、API、CLI、boto3 を使ってリソースを検索する際は、Braket のすべてのリージョンを対象に検索してください。 SDK が可能な場合はリージョンをまたいだ検索を処理します — AwsDevice.get_devices はすべてのリージョンの QPU を検索します。 AWS MCP サーバーが利用可能な場合は aws___get_regional_availability から、そうでない場合はサポートされているデバイスとリージョンのドキュメントから、Braket がサポートするリージョンの一覧を取得してください。 リージョンを含むリソース ARN は、同じリージョンからのみクエリできます。そうでない場合、ResourceNotFoundException が発生します。

  5. コードを記述したり回答したりする前に、該当するリファレンスを開いてください。 プリミティブの表から該当するリファレンスを探して読みます。注:複数のことを求めるリクエスト、たとえば一連の回路の実行とそのコスト管理を求めるリクエストでは、複数のリファレンスファイルを読む必要がある場合があります。

  6. 記憶に頼らず、必ず検証してください。 デバイス ARN とステータス、API シグネチャ、サポート対象の機能、価格(およびその他の値)はすべて変更される可能性があり、学習データより新しい情報になっている場合もあります。

  7. SDK を呼び出すコードを書く前に、シグネチャを確認してください。 SDK リファレンスドキュメントで確認します。 利用できるツールでアクセスできない場合は、shell を使ってインストール済み SDK から取得してください。

    PAGER=cat python -c "import braket; help(braket)"       # サブパッケージ:ahs、circuits、pulse、program_sets、...
    python -c "import braket.ahs; print(dir(braket.ahs))"   # 名前:DrivingField、AtomArrangement、...
    python -c "import inspect; from braket.ahs import DrivingField; \
    print(inspect.signature(DrivingField.from_lists)); print(inspect.getdoc(DrivingField.from_lists))"
    
  8. スキルの使用を記録してください。 Braket SDK を使用するすべての Python スクリプトで、Braket SDK のコード(import braket を含む)より前に、次のブロックを挿入してください。

    import botocore
    
    def _braket_attribution(session):
        session.user_agent_extra = f"{session.user_agent_extra} AWSSkill-Braket/1.0.0".strip()
    
    botocore.register_initializer(_braket_attribution)
    

    AWS CLI を使う場合は、AWS_SDK_UA_APP_ID にこのスキルの識別子を先頭に追加してください。この変数には値を1つだけ設定でき、ほかのツールも書き込むため、置き換えるのではなく、既存の値に必ず追加してください。

    # sh、bash、zsh、ksh、fish 3.1+
    AWS_SDK_UA_APP_ID="AWSSkill-Braket-$AWS_SDK_UA_APP_ID" aws braket ...
    
    # PowerShell — セッションスコープ
    if ($env:AWS_SDK_UA_APP_ID -notlike 'AWSSkill-Braket*') {
        $env:AWS_SDK_UA_APP_ID = "AWSSkill-Braket-$env:AWS_SDK_UA_APP_ID"
    }
    

    これにより、AWS の呼び出しがこのスキルの使用に伴うものとして識別されます。AWS MCP ツールを使う場合は、AWS MCP がツール呼び出し時に自動で使用を記録するため、この設定は不要です。

ガードレール — このスキルのファイルの保存場所(MCP とローカルインストール)

このスキルは 2 通りの方法で読み込まれ、スキルにバンドルされたファイルの参照先が異なります。参照ファイルを読む前に、スキルがどの方法で読み込まれたかを確認してください。

  • AWS MCP の retrieve_skill ツール経由で読み込まれた場合: スキルはローカルファイルシステムにインストールされていません。各参照ファイルは、file パラメーター(例:file="references/devices.md")を指定して retrieve_skill から取得する必要があります。これらのパスはディスク上に存在しないため、ローカルで file_read を実行しないでください。
  • ローカルにインストールされている場合(例:~/.kiro/skills/amazon-braket/、.kiro/skills/amazon-braket/、または ~/.claude/skills/amazon-braket/):相対パスを使って、ローカルのスキルディレクトリからファイルを読み込んでください。

references/ はこの SKILL.md と同じ階層にあります。参照パスは作業ディレクトリではなく、そのディレクトリを基準に解決してください。また、ファイルシステムから参照ファイルを検索しないでください。 スキルツールが要求したファイルではなく、この概要を返した場合、ファイルは取得されていません。その場合はそのディレクトリから読み込み、参照ファイルを読み込めなかったからといって、記憶を頼りにコードを書かないでください。 この違いが適用されるのは、スキルにパッケージされたファイルだけです。ユーザーデータとセッションの成果物は、常にユーザーの作業ディレクトリから読み書きしてください。相対パスの成果物を書き込むスクリプトを実行する前に、cd を実行しないでください。

よくある間違い

症状原因解決方法
「task」、「batch」、「job」を同じ意味で扱うプリミティブの混同task は 1 回の実行、batch は複数の並列タスク、job は管理されたループです
SearchQuantumTasks、SearchJobs、SearchDevices で Missing required parameter: filters が発生する3 つすべてで filters が必須です。省略できるのは SearchSpendingLimits だけですフィルターなしで検索する場合は filters=[](--filters '[]')を渡してください。フィルターを設定する場合、name と values に加え、tasks と jobs では operator も必要です。SearchDevices には operator メンバーはありません
AWS MCP の run_script ツールの使用時に Missing required parameter: clientToken が発生する冪等性を確保するため、CreateQuantumTask、CreateJob、CancelQuantumTask、CreateSpendingLimit、UpdateSpendingLimit では clientToken が必要です。SDK、CLI、boto3 は自動的に生成しますが、run_script ツールでは明示的に渡す必要がありますrun_script 経由で呼び出す際は、clientToken を受け取る API に clientToken=str(uuid.uuid4()) を渡してください。それ以外の場合、可能であればこれらの操作には SDK を使用してください。
プログラムの IR を JAQCD として構築するAmazon Braket では JAQCD は非推奨ですOpenQASM を使用してください。詳しくはBraket の OpenQASMを参照してください
機能や SDK の構成要素が存在しないと断言する学習データが古いルール 2 に従い、存在しないと言う前にドキュメントまたは GetDevice で確認してください
クラス、メソッド、またはパラメーターをでっち上げるAPI 名を記憶だけで書くまずシグネチャを確認してください(ルール 4)。不確かな場合は、でっち上げずにそう伝えてください

セキュリティに関する考慮事項

Braket のワークフローでは、IAM、S3、および(ハイブリッドジョブの場合は)コンテナ実行を扱います。

  • 最小権限の IAM。 カスタムポリシーの範囲は、ワークロードが実際に使用するアクション、デバイス ARN、バケットに限定し、広範な braket:* は避けてください。アクションはサービス認可リファレンスに記載されています。意図的に広範な権限を付与する AmazonBraketFullAccess ではなく、カスタムポリシーを優先してください。このポリシーには、任意の amazon-braket-* バケット、または AmazonBraket=true のタグが付いた任意のバケット(バケットで属性ベースのアクセス制御が有効になっている場合)に対する S3 の権限に加え、タスク送信ワークフローでは必要のない SageMaker および CloudWatch のアクションが含まれます。Amazon Braket へのアクセスの管理およびデバイスへのアクセスの制限を参照してください。
    • braket:UpdateSpendingLimit と braket:DeleteSpendingLimit は、支出上限の誤削除や意図しないコスト超過を防ぐため、制限してください。
  • ハイブリッドジョブの実行ロール。 AmazonBraketJobsExecutionPolicy のみをアタッチしてください。このポリシーの iam:PassRole 条件では、ロール名が /service-role/ パス配下の AmazonBraketJobsExecutionRole* である必要があります。そうでない場合、create_job は PassRole で拒否されます。
  • 一時的な認証情報。 Braket API の呼び出しには、長期利用する IAM ユーザーアクセスキーではなく、IAM ロール(インスタンスプロファイル、ECS/EKS タスクロール、または引き受けたロール)を使用してください。
  • タスク出力の暗号化。 タスク結果、ジョブのソースアーカイブ、出力データ、またはチェックポイントを受け取る S3 バケットでは、デフォルトの暗号化(SSE-S3、または機密性の高いワークロードではカスタマーマネージドキーを使用した SSE-KMS)を有効にしてください。サービスプリンシパルにアクセスを許可するバケットポリシーには aws:SourceAccount/aws:SourceArn 条件を追加し、aws:SecureTransport: false 条件で TLS 以外のアクセスを拒否してください。
  • 監査。 Braket の管理イベントについてCloudTrailを有効にし、ログファイルの検証、KMS 暗号化、およびアクセスを制限したバケットへの配信を設定してください。コストガードレールが解除された場合、証拠として主に利用できるのが証跡です。アルゴリズムのパラメーターや結果が表示されるため、タスク出力またはハイブリッドジョブのログを受け取る CloudWatch Logs グループも暗号化してください。
  • コストガードレール。 ユーザーが初めて QPU を実行する前、ワークロードの費用について質問したとき、または 1 つのリクエストが複数のデバイスや大量のショット数に展開される場合は、支出上限を設定するよう推奨してください。お客様のアカウントには、すでに支出上限が設定されている場合があります。一般に、QPU の支出上限は支出上限設定で適用してください。
  • シークレット。 ハイパーパラメーターはジョブのメタデータに保存され、コンテナの起動時にジョブの CloudWatch ログストリームにも出力されます。そのため、シークレットをハイパーパラメーターとして渡さないでください。アルゴリズムスクリプト内で Secrets Manager または SSM Parameter Store から取得してください。ジョブロググループへの読み取りアクセスも適切に制限してください。

詳細については、Amazon Braket のセキュリティドキュメントを参照してください。

参考リンク

信頼できる情報源です。デバイス ARN、クォータ、価格、サポートされる機能は変更されるため、記憶に頼らずこちらを優先してください。

公式ドキュメント(安定した入口 — ここから移動・検索してください)

ここに記載のない情報については、ページのスラッグを推測したり、記憶に頼ったりせず、ドキュメントを検索してください。AWS MCP サーバーが利用可能であれば、その aws___search_documentation ツールが役立ちます。利用できない場合は、上記の開発者ガイドまたは API リファレンスから移動してください。

GitHub

コメント