技能
客服人員技能SKILL.md的檔案,以及選用的 scripts/、 references/和 assets/ 目錄。
技能使用漸進式揭露:中繼資料會預先注入系統提示 (~100 個字符),並透過工具呼叫隨需載入完整指示。這可避免使用代理程式可能不需要的指示來溢出內容視窗。
該機制支援四種技能來源:
| 來源 | 說明 | 使用情況 |
|---|---|---|
|
AWS 技能 |
AWS 客服人員工具組中 |
您想要零設定的現成 AWS 專業知識。 |
|
Git (HTTPS) |
從任何公有或私有 Git 儲存庫複製技能。支援子目錄。 |
您想要從 GitHub、GitLab 或任何 git 主機參考技能,而不上傳到 S3。 |
|
Amazon S3 |
使用執行角色從客戶擁有的 S3 儲存貯體擷取技能。 |
您想要完全控制版本控制、加密和存取控管。 |
|
路徑 (檔案系統) |
參考已在繫帶檔案系統上存在的技能 (製作成容器映像或透過 安裝 |
技能是容器映像的一部分,或在工作階段開始時安裝。 |
在第一次調用時,每個工作階段會擷取技能一次。在工作階段中,技能會在多個調用中保留在磁碟上。當 VM 過期且新的工作階段啟動時,會重新擷取技能以確保新鮮度。
您可以在繫帶上skills將 設定為預設值 (透過 CreateHarness或 UpdateHarness),或在每次叫用時覆寫 。調用時間技能會在建立時間技能之後附加;如果兩者都定義具有相同名稱的技能,調用時間版本就會獲勝。
注意
AWS 技能
AWS 技能是預先建置的技能,可讓客服人員與服務互動 AWS 。它們會以階層方式組織,並透過 glob 模式選取。在 GitHub
| Category | 模式 | 典型技能 |
|---|---|---|
|
核心技能 |
|
EC2、S3、Lambda、DynamoDB、CloudWatch、IAM 操作。 |
|
分析技能 |
|
Athena、Glue、QuickSight、資料湖操作。 |
|
操作技能 |
|
故障診斷、診斷、日誌分析。 |
|
儲存技能 |
|
S3、EFS、FSx、備份操作。 |
啟用所有 AWS 技能
範例
依類別啟用技能
使用 glob 模式來啟用特定技能類別:
範例
啟用單一特定技能
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk"]}}], messages=[{"role": "user", "content": [{"text": "Create a CDK stack for a Lambda function."}]}], )
合併多個模式
skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk", "core-skills/aws-serverless", "specialized-skills/storage-skills/*"]}}]
注意
-
路徑必須是相對的 (無前置
/或..)。絕對路徑和路徑周遊會遭到拒絕。 -
如果 glob 模式不符合任何技能,則調用會失敗並出現描述性錯誤。
-
合併相同承載中的多個
awsSkills項目。
Git (HTTPS) 技能
從任何公有或私有 Git 儲存庫複製技能。使用稀疏結帳支援 monorepos 中的子目錄。
範例
-
url(必要) - Git 儲存庫的 HTTPS URL。 -
path(選用) - 儲存庫中的子目錄,其中包含技能。如果省略,則會使用儲存庫根。 -
auth.credentialArn(選用) - API 金鑰登入資料提供者的 ARN,其中包含私有儲存庫的個人存取字符。 -
auth.username(選用) - git 使用者名稱,預設為oauth2。
Git 擷取必須在 60 秒內完成。如果儲存庫需要網際網路輸出,請確定您的 VPC 具有 NAT 閘道 (與遠端 MCP 伺服器和自訂容器提取相同的需求)。
Amazon S3 技能
從客戶擁有的 S3 儲存貯體擷取技能。使用繫帶執行角色登入資料。
範例
-
uri(必要) - 指向技能目錄的 S3 URI (例如s3://bucket/prefix/)。 -
執行角色必須具有 儲存貯體的
s3:GetObject和s3:ListBucket許可。請參閱 安全性和存取控制。 -
每個 S3 技能都必須為 1 GB 或更小。
-
S3 來源適用於 S3 VPC 端點 (不需要 NAT 閘道)。
檔案系統路徑技能
參考已在繫帶檔案系統上的技術 - 製作成容器映像或在工作階段開始時透過 進行安裝InvokeAgentRuntimeCommand。
範例
在容器映像中製作
在自訂映像中包含技能目錄:
COPY skills/xlsx .agents/skills/xlsx
在工作階段開始時安裝
在第一個代理程式叫用InvokeAgentRuntimeCommand之前使用 :
agentcore invoke --exec --harness my-agent --session-id "$SESSION" \ "git clone --depth 1 https://github.com/anthropics/skills /tmp/skills && cp -r /tmp/skills/skills/xlsx .agents/skills/xlsx"
結合多個技能來源
這四種來源類型可以共存於單一承載中:
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"awsSkills": {"paths": ["core-skills/aws-cdk"]}}, {"git": {"url": "https://github.com/anthropics/skills", "path": "skills/docx"}}, {"s3": {"uri": "s3://my-bucket/skills/company-style/"}}, {"path": ".agents/skills/xlsx"}, ], messages=[{"role": "user", "content": [{"text": "Help me with this project."}]}], )
錯誤處理
所有擷取失敗都會失敗,並顯示描述性錯誤。永遠不會無提示地略過技能。
| 失敗 | 錯誤訊息 |
|---|---|
|
S3 存取遭拒 |
|
|
找不到 S3 物件 |
|
|
Git 複製失敗 (網路) |
|
|
Git 驗證遭拒 |
|
|
在儲存庫中找不到 Git 路徑 |
|
|
Git 逾時 (60 秒) |
|
|
技能超過 1 GB 限制 |
|
|
AWS 技能路徑不匹配 |
|
|
路徑周遊 ( |
|
|
AWS 技能套件遺失 |
|