View a markdown version of this page

Competenze - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Competenze

https://strandsagents.com/docs/user-guide/concepts/plugins/skills/Le competenze degli agenti sono pacchetti di markdown e script che forniscono all'agente conoscenze sul dominio su richiesta. Ogni abilità segue lo AgentSkills.io standard aperto: un SKILL.md file con frontespizio YAML (nome, descrizione) e istruzioni per il markdown, più opzioni opzionali, e cartelle. scripts/ references/ assets/

Le competenze utilizzano una divulgazione progressiva: i metadati vengono inseriti in anticipo nel prompt del sistema (~100 token) e le istruzioni complete vengono caricate su richiesta tramite una chiamata allo strumento. In questo modo si evita di riempire la finestra contestuale di istruzioni che potrebbero non essere necessarie all'agente.

L'imbracatura supporta quattro fonti di abilità:

Origine Description Quando utilizzarlo

AWS Competenze

Pre-built competenze per AWS i servizi dell'AWS Agent Toolkit. Abilita con pattern globulari.

Desideri AWS competenze pronte all'uso senza alcuna configurazione.

Git (HTTPS)

Clona un'abilità da qualsiasi repository Git pubblico o privato. Supporta le sottodirectory.

Vuoi fare riferimento alle competenze da GitHub GitLab, o da qualsiasi host git senza caricarle su S3.

Amazon S3

Recupera una skill da un bucket S3 di proprietà del cliente utilizzando il ruolo di esecuzione.

Desideri il pieno controllo sul controllo delle versioni, sulla crittografia e sulla governance degli accessi.

Percorso (file system)

Fai riferimento a un'abilità già presente nel filesystem di Harness (inserita nell'immagine del contenitore o installata tramite). InvokeAgentRuntimeCommand

La skill fa parte dell'immagine del contenitore o è stata installata all'inizio della sessione.

Le abilità vengono recuperate una volta per sessione alla prima chiamata. All'interno di una sessione, le competenze rimangono su disco anche dopo più invocazioni. Quando la VM scade e inizia una nuova sessione, le competenze vengono recuperate nuovamente per garantirne l'aggiornamento.

È possibile impostare l'harness skills come impostazione predefinita (tramite CreateHarness oUpdateHarness) o eseguire l'override per chiamata. Invoke-time le abilità vengono aggiunte dopo le abilità in fase di creazione; se entrambe definiscono un'abilità con lo stesso nome, vince la versione in fase di richiamo.

Nota

Per aggiungere un'abilità a un'imbracatura in modo interattivo, corri agentcore per aprire la TUI, seleziona aggiungi, scegli Harness, vai alle impostazioni avanzate e abilita le abilità. Il wizard ti chiederà quindi di indicare la fonte dell'abilità. Consulta la scheda Interattiva in Git e Amazon S3 qui sotto per i passaggi per sorgente.

AWS Competenze

AWS le competenze sono competenze predefinite che consentono ai tuoi agenti di interagire con i servizi. AWS Sono organizzate gerarchicamente e selezionate tramite schemi globali. Visualizza la loro fonte su. GitHub

Categoria Pattern Competenze tipiche

Competenze di base

core-skills/*

Operazioni EC2, S3, Lambda, DynamoDB, IAM. CloudWatch

Competenze di analisi

specialized-skills/analytics-skills/*

Athena, Glue QuickSight, operazioni sui data lake.

Competenze operative

specialized-skills/operations-skills/*

Risoluzione dei problemi, diagnostica, analisi dei log.

Competenze di archiviazione

specialized-skills/storage-skills/*

S3, EFS, FSx, operazioni di backup.

Abilita tutto AWS abilità

Esempio
AWS CLI/boto3
aws bedrock-agentcore-control create-harness \ --harness-name "MyHarness" \ --execution-role-arn "${ROLE_ARN}" \ --skills '[{"awsSkills": {}}]'

Oppure al momento della chiamata:

response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"awsSkills": {}}], messages=[{"role": "user", "content": [{"text": "List my EC2 instances and their status."}]}], )

Abilita le competenze per categoria

Usa i modelli globali per abilitare categorie di abilità specifiche:

Esempio
AWS CLI/boto3
aws bedrock-agentcore-control create-harness \ --harness-name "MyHarness" \ --execution-role-arn "${ROLE_ARN}" \ --skills '[{"awsSkills": {"paths": ["core-skills/*", "specialized-skills/operations-skills/*"]}}]'

Abilita una singola abilità specifica

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."}]}], )

Combina più modelli

skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk", "core-skills/aws-serverless", "specialized-skills/storage-skills/*"]}}]
Nota
  • I percorsi devono essere relativi (senza / o iniziali..). I percorsi assoluti e l'attraversamento dei percorsi vengono rifiutati.

  • Se un pattern glob non corrisponde a nessuna abilità, l'invocazione fallisce con un errore descrittivo.

  • awsSkillsLe voci multiple dello stesso payload vengono unite.

Competenze Git (HTTPS)

Clona un'abilità da qualsiasi repository Git pubblico o privato. Supporta le sottodirectory all'interno di monorepos utilizzando sparse checkout.

Esempio
AWS CLI/boto3

Archivio pubblico:

response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"git": {"url": "https://github.com/anthropics/skills", "path": "skills/docx"}}, ], messages=[{"role": "user", "content": [{"text": "Summarize the attached DOCX file."}]}], )

Archivio privato (richiede un token di accesso personale archiviato in AgentCore Identity):

skills=[ { "git": { "url": "https://github.com/my-org/internal-skills", "path": "excel", "auth": { "credentialArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:token-vault/default/apikeycredentialprovider/my-github-pat" }, } } ]
AgentCore CLI

Allega un'abilità da un repository Git pubblico con. agentcore add skill Usa --git-path per estrarre una singola abilità da una sottodirectory:

agentcore add skill --harness my-harness \ --git https://github.com/anthropics/skills \ --git-path skills/docx agentcore deploy

Per un repository privato, inserisci il nome di una credenziale chiave API presente nel tuo progetto che contiene un token di accesso personale (--usernameè facoltativo, predefinito): --credential oauth2

agentcore add skill --harness my-harness \ --git https://github.com/my-org/internal-skills \ --git-path excel \ --credential my-github-pat agentcore deploy
Nota

Rimuovi un'abilità agentcore remove skill utilizzando gli stessi flag di origine. Per sovrascrivere le competenze relative a una singola chiamata senza modificare l'harness, usa agentcore invoke --skills <sources> (percorsi separati da virgole, s3:// URI o URL https:// Git); l'autenticazione Git non è supportata nell'invoke override.

Interactive

Nella TUI, aggiungi una skill Git a un harness tramite la procedura guidata add → Harness.

  1. Vai alle impostazioni avanzate, passa a Skills e premi la barra spaziatrice per abilitarla, quindi premi Invio.

    Impostazioni avanzate con Skills abilitate
  2. Seleziona Git come fonte di competenze.

    Tipo di fonte delle competenze: Path, S3 o Git
  3. Inserisci l'URL del repository HTTPS. La procedura guidata richiede quindi un percorso di sottodirectory opzionale, una credenziale opzionale per i repository privati e un nome utente opzionale.

    Inserisci l'URL del repository Git

Conferma la procedura guidata, quindi esegui agentcore deploy per candidarti.

  • url(obbligatorio) - URL HTTPS del repository Git.

  • path(opzionale) - sottodirectory all'interno del repository contenente l'abilità. Se omesso, viene utilizzata la radice del repository.

  • auth.credentialArn(opzionale): ARN di un fornitore di credenziali di chiave API che detiene un token di accesso personale per repository privati.

  • auth.username(opzionale) - nome utente git, il valore predefinito è. oauth2

Git fetch deve essere completato entro 60 secondi. Se il repository richiede l'uscita da Internet, assicurati che il tuo VPC disponga di un gateway NAT (stesso requisito dei server MCP remoti e dei container pull personalizzati).

Competenze relative ad Amazon S3

Recupera una skill da un bucket S3 di proprietà del cliente. Utilizza le credenziali del ruolo Harness Execution.

Esempio
AWS CLI/boto3
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"s3": {"uri": "s3://my-skills-bucket/skills/company-style/"}}, ], messages=[{"role": "user", "content": [{"text": "Draft a summary following our style guide."}]}], )
AgentCore CLI

Allega una skill di S3 con: agentcore add skill --s3

agentcore add skill --harness my-harness \ --s3 s3://my-skills-bucket/skills/company-style/ agentcore deploy

Il ruolo di esecuzione è necessario s3:GetObject e s3:ListBucket pronto. Consulta Sicurezza e controlli degli accessi.

Interactive

Nella TUI, aggiungi un'abilità S3 a un'imbracatura tramite la procedura guidata aggiungi → Harness. Passa alle impostazioni avanzate, abilita Skills with Space e scegli S3 come sorgente (vedi la scheda Git Interactive per i passaggi condivisi).

  1. Inserisci l'URI S3 della directory delle competenze.

    Inserisci l'URI S3 per la skill

Conferma la procedura guidata, quindi esegui agentcore deploy per candidarti.

  • uri(obbligatorio) - URI S3 che punta alla directory delle competenze (ad es.). s3://bucket/prefix/

  • Il ruolo di esecuzione deve avere s3:GetObject e s3:ListBucket autorizzazioni sul bucket. Consulta Sicurezza e controlli degli accessi.

  • Ogni skill S3 deve avere una dimensione pari o inferiore a 1 GB.

  • Le sorgenti S3 funzionano con gli endpoint S3 VPC (non è richiesto alcun gateway NAT).

Competenze relative ai percorsi del file system

Fai riferimento a un'abilità già presente nel filesystem Harness, inserita nell'immagine del contenitore o installata all'inizio della sessione tramite. InvokeAgentRuntimeCommand

Esempio
AWS CLI/boto3
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"path": ".agents/skills/xlsx"}], messages=[{"role": "user", "content": [{"text": "Find errors in the Excel files."}]}], )

Inserisci l'immagine del contenitore

Includi la cartella delle abilità nella tua immagine personalizzata:

COPY skills/xlsx .agents/skills/xlsx

Installa all'inizio della sessione

Utilizzare InvokeAgentRuntimeCommand prima della prima chiamata dell'agente:

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"

Combina più fonti di abilità

Tutti e quattro i tipi di fonti possono coesistere in un unico payload:

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."}]}], )

Gestione degli errori

Tutti gli errori di recupero non superano l'invocazione con un errore descrittivo. Le abilità non vengono mai ignorate silenziosamente.

Errore Messaggio di errore

Accesso S3 negato

Failed to fetch skill: AccessDeniedException. Ensure execution role has s3:GetObject permission.

Oggetto S3 non trovato

Skill source not found: s3://…​

Il clone di Git fallisce (rete)

Failed to clone skill: could not resolve host

Autenticazione Git negata

Failed to clone skill: authentication failed

Percorso Git non trovato nel repo

Skill path 'x' not found in repository

Timeout di Git (60s)

Failed to clone skill: operation timed out after 60s

L'abilità supera il limite di 1 GB

Skill exceeds 1GB size limit

AWS il percorso di abilità non corrisponde a nulla

AWS skill path 'x' matched no skills

Attraversamento del percorso () ..

Invalid AWS skill path: must be a relative path without '..'

AWS pacchetto di competenze mancante

AWS Skills are not available in this runtime (missing directory: /opt/amazon/skills)