chainlink-confidential-ai-attester-skill について
Chainlink Confidential AI Attesterの文書推論HTTP APIを扱うスキルです。管理型TEEでの文書処理の送信と結果の取得に加え、検証上の制約や有効な結果をEVMへ渡す手順を説明します。
主な機能
- 01文書推論の送信
- 02タスク状態と結果の取得
- 03指定JSONスキーマ向けプロンプトの作成
- 04TEE証明と署名の検証制約の説明
- 05有効な結果のEVMへの配信
活用シーン
- 01Attesterによるプライベート文書の分析
- 02非同期文書推論タスクの取得
- 03スキーマ準拠の結果のEVMへの配信
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ smartcontractkit/ chainlink-agent-skills --skill chainlink-confidential-ai-attester-skillインストール後、Claude Code で/chainlink-confidential-ai-attester-skillを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/api-reference.mdcode-examples.mdprompts.mdtroubleshooting.md詳細
Chainlink Confidential AI Attester
プライベート文書に対する LLM 推論は、サービス管理の TEE 内で実行されます。生の文書が TEE の外に出たり、保存または公開されたりすることはありません。
対象範囲は、Chainlink Confidential AI Attester の文書推論 HTTP API のみです。Data Feeds、CCIP、AI アーキテクチャまたは zkML、Anthropic やその他のベンダーの PDF API、AWS Nitro/Bedrock のアテステーションは、それぞれの製品またはベンダーの担当範囲です。Attester を持ち込まないでください。Attester の文書推論以外のリクエストには、この機能の対象外であることを伝え、担当する機能へ案内してください。Attester の API やプレイグラウンドの手順は提示しないでください。
EthGlobal NYC ハッカソンベータ版です。 API キーは、Chainlink ブースまたは Discord の #partner-chainlink channel で取得してください。プレイグラウンド https://confidential-ai-dev-preview.cldev.cloud/playground と HTTP API は、別々のプライバシーオプションではなく、同じ Attester サービスへの 2 つのアクセス方法です。
ワークフロー 1 — 送信:POST /v1/inference
Authorization: Bearer $API_KEY を使用してください。キーは環境変数または注入されたシークレットストアから読み込み、ハードコードしたり、リテラル値や展開後の値をコマンドライン引数に含めたりしないでください。サービス URL は BASE_URL(または同等の環境変数)に設定し、すべてのコマンドやコード例で使用してください。サービスのベース URL を直接埋め込まないでください。
{
"model": "gemma4",
"system_prompt": "",
"prompt": "...",
"resources": [{ "filename": "doc.pdf", "content_type": "application/pdf", "content_base64": "<base64>" }],
"cre_callback": { "url": "https://..." }
}
ポーリング時は、プレイグラウンドを含め、cre_callback を省略してください。GET /v1/inference/{id} を使用します。製品の案内では、上記のプレイグラウンドを示し、長文には qwen3.6 を選んでください。画像および一般用途のデフォルトは gemma4 です。デモでは PNG を優先してください。PDF の前処理には 5 分かかる場合があります。
成功時の応答は { "id": "...", "status": "queued" } を含む 202 Accepted です。id を保存してください。
送信またはポーリングについて回答する際は、完了内容の要約ではなく、実行可能な curl またはコードを提示してください。リクエストフィールド、202 の応答形式、保存した id、GET /v1/inference/{id}、両方の終端ステータス、そして output の取得(失敗時は error)を含めてください。
curl の例と言語に関するガイダンスおよび API 仕様を参照してください。
ワークフロー 2 — ポーリング:GET /v1/inference/{id}
completed または failed になるまで、2~5 秒ごとにポーリングしてください。完了時のフィールドは output(LLM テキスト)、usage、completed_at です。トラブルシューティングを参照してください。
検証の境界と EVM への配信
Attester API は、独立して検証可能な Chainlink の署名や TEE アテステーション文書を公開しません。応答フィールドをハッシュ化すると、それらのフィールドが後から変更されたことを検出できますが、応答ハッシュは独立して検証可能な Chainlink の署名でも TEE アテステーションでもなく、エンクレーブ内で推論が実行されたことを証明するものではありません。
EVM へ配信する場合は、完了した結果と必須の JSON スキーマを検証し、CRE ネイティブレポートを作成して、Chainlink Forwarder 経由でそのレポートを配信してください。失敗または JSON 以外の出力は失敗として扱い、レポートを作成しないでください。Attester の出力を機密コンピューティングの証明として提示するために、汎用 EIP-712 署名者やアプリケーションの秘密鍵を使用しないでください。
署名付き要約または後で検証する手順に関する回答では、次の認証情報のルールを必ず明記してください。API_KEY は環境変数または注入されたシークレットストアから取得し、CLI 引数には含めません。
効果的なプロンプトの作成
JSON の出力を 2 つのレイヤーで強制してください。(1)変更が必要でない限り、デフォルトのシステムプロンプトを使用し、(2)事実抽出タスクと厳密な JSON スキーマを含むユーザープロンプトを使用します。要求された system_prompt、ユーザーの prompt、スキーマは省略せず、全文を出力してください。要約に置き換えないでください。4 つのユースケーステンプレートを参照してください。
プライバシーの方式を選択する
| オプション | 使用する状況 | トレードオフ |
|---|---|---|
| アテスター | サービスの Nitro Enclave 内で、管理されたドキュメント推論を行いたい場合 | 統合が最も速い一方、現在の API では、独立して検証可能な Chainlink または TEE の署名は提供されません |
| ローカルモデル | 外部の推論呼び出しを行わず、データを管理下のデバイスに留める必要がある場合 | モデルとハードウェアの運用が必要です。ローカルにあることだけでは、リモートアテステーションは実現しません |
| セルフホスト型のコンフィデンシャルコンピューティング | インフラを制御する必要があり、TEE とそのアテステーション検証を運用できる場合 | 制御性が最も高く、独立したアテステーションを実現できる可能性がありますが、運用負荷も最も高くなります |
| マスキングまたはトークン化 | 外部呼び出しの前に、データを最小化または置換してタスクを実行できる場合 | データ最小化の手段として最もシンプルですが、有用性が低下する可能性があり、再識別のリスクもなくなりません |
プレイグラウンドと API は、単一のアテスターサービスへのインターフェースです。異なるプライバシーアーキテクチャとしてではなく、操作方法の違いで選択してください。