

# AI エージェントのスキルアセット
<a name="catalog-skill-assets"></a>

**注記**  
ビジネスコンテキストとセマンティック検索は AWS Glue のプレビューであり、変更される可能性があります。

## スキルアセットとは
<a name="catalog-skill-assets-overview"></a>

スキルアセットは、AI エージェントがデータを操作するときに使用するコンテキストを含む URI のロケーションを指すカタログアセットです。URI は、Amazon S3 のマークダウンファイル、git リポジトリのドキュメント、wiki ページなど、1 つ以上のデータセットに固有の組織およびドメインの知識、リファレンス、および手順を保存するアクセス可能なロケーションを参照できます。

スキルコンテンツの一般的な用途は次のとおりです。
+ 組織コンテキスト (どのチームがどのデータドメインを所有しているか、チームが主要なメトリクスを定義する方法、どのビジネスプロセスがデータを生成するか、など)
+ 組織に固有のデータ使用ルールと制約
+ データセットの一般的なクエリパターンと SQL の例

`amazon::RelatedTo` フォームを使用して、スキルとデータアセットを関連付けます。エージェントがアセットを取得すると、関連付けられたスキル ID を見つけてスキルを取得し、URI コンテンツを推論コンテキストにロードします。

スキルは 2 種類あります。
+ **カスタムスキル** – ユーザーが作成し、`SearchAssets` API 経由で検索できます。識別子は `amazon.` で始めることはできません
+ **組み込みスキル** – Amazon 所有、イミュータブル、ID による直接アクセス (`amazon.skill::querying-aws-s3` など)。

## スキルの作成と関連付け
<a name="catalog-skill-assets-create"></a>

### ステップ 1: スキルを作成する
<a name="catalog-skill-assets-create-skill"></a>

```
aws glue put-asset \
    --asset-type-id "amazon::Skill" \
    --identifier "sales-table-skill" \
    --name "sales-table-skill" \
    --forms '{"amazon::Skill":{"FormTypeId":"amazon::Skill","Content":"{\"uri\": \"s3://my-bucket/skills/sales-table-skill.md\"}"}}'
```

### ステップ 2: スキルとテーブルを関連付ける
<a name="catalog-skill-assets-create-associate"></a>

```
aws glue put-attachment \
    --asset-identifier "arn:aws:glue:us-east-1:123456789012:table/mydb/sales_transactions" \
    --attachment-name relatedTo \
    --form-type-id "amazon::RelatedTo" \
    --content '{"assetIdentifiers":["sales-table-skill"]}'
```

## 関係性の定義方法
<a name="catalog-skill-assets-relationships"></a>

関係性は組み込み `amazon::RelatedTo` フォームを使用します。いずれかのアセット表面で宣言された関係は、関係性ベースの検索の両方で対称的に宣言されます。

```
{ "assetIdentifiers": ["<related-asset-id>"] }
```

アセットの作成時 (`PutAsset --forms`) または作成後 (`PutAttachment`) にインラインでアタッチします。

## スキルアセットの検索
<a name="catalog-skill-assets-list"></a>

```
aws glue search-assets \
    --filter-clause '{"AttributeFilter":{"Attribute":"type","Operator":"equals","Value":{"StringValue":"Skill"}}}' \
    --max-results 20
```

## 組み込みスキル
<a name="catalog-skill-assets-builtin"></a>

次の Amazon 所有のスキルを ID で参照します:
+ `amazon.skill::querying-aws-s3`
+ `amazon.skill::querying-aws-cloudwatch`
+ `amazon.skill::querying-aws-sagemaker-catalog`

## スキルアセットの削除
<a name="catalog-skill-assets-delete"></a>

```
aws glue delete-asset \
    --identifier {{skill-asset-id}}
```

**注記**  
スキルアセットを削除しても、参照される URI のコンテンツは削除されません。

## 考慮事項
<a name="catalog-skill-assets-considerations"></a>
+ 列の名前変更、テーブルの廃止、またはメトリクスの変更時にスキルコンテンツを確認します。
+ プレビュー中、アクセスはアセットレベルのアクセスコントロールなしで IAM ロールを通じて管理されます。
+ エージェントはスキル URI にアクセスできる必要があります (Amazon S3 URI の `s3:GetObject` など）。
+ スキルコンテンツは簡潔にして、コンテキストウィンドウの使用を最小限に抑えます。