View a markdown version of this page

Compétences - Amazon Bedrock AgentCore

Compétences

Les compétences des agents sont des ensembles de markdown et de scripts qui fournissent à l'agent des connaissances du domaine à la demande. Chaque compétence suit le AgentSkills.iostandard ouvert : un SKILL.md fichier avec une base YAML (nom, description) et des instructions de balisage, ainsi que des répertoires facultatifsscripts/. references/ assets/

Les compétences utilisent la divulgation progressive : les métadonnées sont injectées dans l'invite du système dès le départ (environ 100 jetons), et les instructions complètes sont chargées à la demande via un appel d'outil. Cela évite d'inonder la fenêtre contextuelle d'instructions dont l'agent n'a peut-être pas besoin.

Le harnais prend en charge quatre sources de compétences :

Source Description Quand l’utiliser

AWS Compétences

Pre-built compétences pour les AWS services de l'AWS Agent Toolkit. Activez avec des modèles globulaires.

Vous voulez une AWS expertise prête à l'emploi, sans aucune configuration.

Git (HTTPS)

Clonez une compétence depuis n'importe quel dépôt Git public ou privé. Supporte les sous-répertoires.

Vous souhaitez référencer les compétences de GitHub ou de n'importe quel hôte git sans les télécharger vers S3. GitLab

Amazon S3

Récupérez une compétence depuis un compartiment S3 appartenant au client à l'aide du rôle d'exécution.

Vous souhaitez avoir un contrôle total sur le contrôle des versions, le chiffrement et la gouvernance des accès.

Chemin (système de fichiers)

Faites référence à une compétence déjà présente sur le système de fichiers du harnais (intégrée à l'image du conteneur ou installée viaInvokeAgentRuntimeCommand).

La compétence fait partie de l'image de votre conteneur ou a été installée au début de la session.

Les compétences sont récupérées une fois par session lors de la première invocation. Au cours d'une session, les compétences persistent sur le disque après plusieurs invocations. Lorsque la machine virtuelle expire et qu'une nouvelle session démarre, les compétences sont récupérées à nouveau pour garantir leur fraîcheur.

Vous pouvez skills le définir par défaut sur le harnais (via CreateHarness ouUpdateHarness), ou le remplacer par appel. Invoke-time les compétences sont ajoutées après les compétences au moment de la création ; si les deux définissent une compétence portant le même nom, la version au moment de l'invocation gagne.

Note

Pour ajouter une compétence à un harnais de manière interactive, lancez le TUI agentcore pour ouvrir le TUI, sélectionnez Ajouter, choisissez Harness, passez aux paramètres avancés et activez Skills. Le magicien demande ensuite la source de compétence. Consultez l'onglet Interactif sous Git et Amazon S3 ci-dessous pour les étapes par source.

AWS Compétences

AWS les compétences sont des compétences prédéfinies qui permettent à vos agents d'interagir avec les AWS services. Ils sont organisés hiérarchiquement et sélectionnés via des modèles globaux. Consultez leur source sur GitHub.

Catégorie Modèle Compétences typiques

Compétences de base

core-skills/*

Opérations EC2, S3, Lambda, DynamoDB et CloudWatch IAM.

Compétences analytiques

specialized-skills/analytics-skills/*

Athena, Glue, opérations sur QuickSight les lacs de données.

Compétences opérationnelles

specialized-skills/operations-skills/*

Dépannage, diagnostic, analyse des journaux.

Compétences en stockage

specialized-skills/storage-skills/*

S3, EFS, FSx, opérations de sauvegarde.

Tout activer AWS compétences

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

Ou au moment de l'invocation :

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

Activez les compétences par catégorie

Utilisez des modèles globaux pour activer des catégories de compétences spécifiques :

Exemple
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/*"]}}]'

Activez une seule compétence spécifique

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

Combinez plusieurs modèles

skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk", "core-skills/aws-serverless", "specialized-skills/storage-skills/*"]}}]
Note
  • Les chemins doivent être relatifs (pas de début / ou..). Les chemins absolus et la traversée des chemins sont rejetés.

  • Si un schéma global ne correspond à aucune compétence, l'invocation échoue avec une erreur descriptive.

  • Plusieurs awsSkills entrées d'une même charge utile sont fusionnées.

Compétences Git (HTTPS)

Clonez une compétence depuis n'importe quel dépôt Git public ou privé. Supporte les sous-répertoires au sein de monorepos en utilisant Sparse Checkout.

Exemple
AWS CLI/boto3

Référentiel public :

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

Référentiel privé (nécessite un jeton d'accès personnel stocké dans 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

Attachez une compétence depuis un dépôt Git public avecagentcore add skill. --git-pathÀ utiliser pour extraire une seule compétence d'un sous-répertoire :

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

Pour un dépôt privé, transmettez --credential le nom d'une clé d'API de votre projet contenant un jeton d'accès personnel (--usernamefacultatif, par défautoauth2) :

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

Supprimez une compétence en agentcore remove skill utilisant les mêmes indicateurs de source. Pour remplacer les compétences d'un seul appel sans modifier le harnais, utilisez agentcore invoke --skills <sources> (chemins séparés par des virguless3://, URI ou URL Git) ; l'authentification https:// Git n'est pas prise en charge lors de la substitution d'appel.

Interactive

Dans le TUI, ajoutez une compétence Git à un harnais via l'assistant d'ajoutHarness.

  1. Passez aux paramètres avancés, passez à Compétences, appuyez sur Espace pour l'activer, puis appuyez sur Entrée.

    Paramètres avancés avec compétences activées
  2. Sélectionnez Git comme source de compétences.

    Type de source de compétence : Path, S3 ou Git
  3. Entrez l'URL du référentiel HTTPS. L'assistant demande ensuite un chemin de sous-répertoire facultatif, des informations d'identification facultatives pour les référentiels privés et un nom d'utilisateur facultatif.

    Entrez l'URL du dépôt Git

Confirmez l'assistant, puis exécutez agentcore deploy pour appliquer.

  • url(obligatoire) - URL HTTPS du dépôt Git.

  • path(facultatif) - sous-répertoire du dépôt contenant la compétence. En cas d'omission, la racine du dépôt est utilisée.

  • auth.credentialArn(facultatif) - ARN d'un fournisseur d'informations d'identification de clé d'API détenant un jeton d'accès personnel pour les dépôts privés.

  • auth.username(facultatif) - git username, la valeur par défaut est. oauth2

Git fetch doit être terminé dans les 60 secondes. Si le référentiel nécessite une sortie Internet, assurez-vous que votre VPC dispose d'une passerelle NAT (même exigence que les serveurs MCP distants et les extractions de conteneurs personnalisées).

Compétences Amazon S3

Récupérez une compétence dans un compartiment S3 appartenant au client. Utilise les informations d'identification du rôle d'exécution du harnais.

Exemple
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

Associez une compétence issue de S3 avec agentcore add skill --s3 :

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

Le rôle d'exécution a besoin s3:GetObject et s3:ListBucket se trouve dans le compartiment. Consultez Sécurité et contrôles d'accès.

Interactive

Dans le TUI, ajoutez une compétence S3 à un harnais via l'assistant d'ajoutHarnais. Accédez aux paramètres avancés, activez Skills with Space et choisissez S3 comme source (voir l'onglet Git Interactive pour ces étapes partagées).

  1. Entrez l'URI S3 du répertoire de compétences.

    Entrez l'URI S3 pour la compétence

Confirmez l'assistant, puis exécutez agentcore deploy pour appliquer.

  • uri(obligatoire) - URI S3 pointant vers le répertoire des compétences (par exemple,s3://bucket/prefix/).

  • Le rôle d'exécution doit disposer s3:GetObject d's3:ListBucketautorisations sur le compartiment. Consultez Sécurité et contrôles d'accès.

  • Chaque compétence S3 doit être inférieure ou égale à 1 Go.

  • Les sources S3 fonctionnent avec les points de terminaison VPC S3 (aucune passerelle NAT n'est requise).

Compétences relatives aux chemins du système de fichiers

Référencez une compétence déjà présente sur le système de fichiers du harnais, intégrée à l'image du conteneur ou installée au démarrage de la session viaInvokeAgentRuntimeCommand.

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

Faire cuire dans le récipient (image)

Incluez le répertoire des compétences dans votre image personnalisée :

COPY skills/xlsx .agents/skills/xlsx

Installation au début de la session

À utiliser InvokeAgentRuntimeCommand avant la première invocation de l'agent :

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"

Combinez plusieurs sources de compétences

Les quatre types de sources peuvent coexister dans une même charge utile :

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

Gestion des erreurs

Tous les échecs de récupération échouent à l'invocation avec une erreur descriptive. Les compétences ne sont jamais ignorées en silence.

Échec Message d’erreur

Accès S3 refusé

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

Objet S3 introuvable

Skill source not found: s3://…​

Le clone de Git échoue (réseau)

Failed to clone skill: could not resolve host

Authentification Git refusée

Failed to clone skill: authentication failed

Le chemin Git est introuvable dans le dépôt

Skill path 'x' not found in repository

Délai d'expiration de Git (60 s)

Failed to clone skill: operation timed out after 60s

La compétence dépasse la limite de 1 Go

Skill exceeds 1GB size limit

AWS le chemin de compétence ne correspond à rien

AWS skill path 'x' matched no skills

Traversée du chemin () ..

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

AWS bundle de compétences manquant

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