View a markdown version of this page

Habilidades - Amazon Bedrock AgentCore

Habilidades

Las habilidades de agente son paquetes de anotaciones y scripts que proporcionan al agente conocimientos sobre el dominio bajo demanda. Cada habilidad sigue un AgentSkills.ioestándar abierto: un SKILL.md archivo con instrucciones preliminares (nombre, descripción) y markdown en YAML, además de directorios y carpetas opcionalesscripts/. references/ assets/

Las habilidades se divulgan progresivamente: los metadatos se introducen en el sistema desde el principio (aproximadamente 100 fichas) y las instrucciones completas se cargan a pedido mediante una llamada a una herramienta. Esto evita inundar la ventana de contexto con instrucciones que el agente tal vez no necesite.

El arnés admite cuatro fuentes de habilidades:

origen Description (Descripción) Cuándo se debe usar

AWS Habilidades

Pre-built habilidades para AWS los servicios del kit de herramientas para AWS agentes. Habilite con patrones globales.

Lo que necesita es una AWS experiencia práctica y sin necesidad de configuración.

Git (HTTPS)

Clona una habilidad de cualquier repositorio Git público o privado. Soporta subdirectorios.

Quieres hacer referencia a las habilidades de GitHub GitLab, o de cualquier host de git, sin necesidad de subirlas a S3.

Amazon S3

Obtén una habilidad de un bucket de S3 propiedad de un cliente mediante la función de ejecución.

Desea tener el control total sobre el control de versiones, el cifrado y el acceso.

Ruta (sistema de archivos)

Haga referencia a una habilidad que ya esté presente en el sistema de archivos del arnés (integrada en la imagen del contenedor o instalada a través de ella). InvokeAgentRuntimeCommand

La habilidad forma parte de la imagen del contenedor o se instaló al inicio de la sesión.

Las habilidades se obtienen una vez por sesión en la primera invocación. En una sesión, las habilidades permanecen en el disco tras varias invocaciones. Cuando la máquina virtual caduca y se inicia una nueva sesión, las habilidades se vuelven a recuperar para garantizar su actualización.

Puede configurarlo skills como predeterminado en el arnés (mediante CreateHarness oUpdateHarness) o anularlo por invocación. Invoke-time las habilidades se añaden después de las habilidades de tiempo de creación; si ambas definen una habilidad con el mismo nombre, gana la versión de tiempo de invocación.

nota

Para añadir una habilidad a un arnés de forma interactiva, corre agentcore hasta abrir la TUI, selecciona añadir, elige Arnés, accede a la configuración avanzada y activa las habilidades. A continuación, el asistente solicitará la fuente de la habilidad. Consulte la pestaña Interactiva en Git y Amazon S3 a continuación para ver los pasos por fuente.

AWS Habilidades

AWS las habilidades son habilidades prediseñadas que permiten a sus agentes interactuar con AWS los servicios. Se organizan jerárquicamente y se seleccionan mediante patrones globales. Vea su fuente en. GitHub

Categoría Patrón Habilidades típicas

Habilidades básicas

core-skills/*

Operaciones de EC2, S3, Lambda, DynamoDB e IAM. CloudWatch

Habilidades analíticas

specialized-skills/analytics-skills/*

Athena, Glue QuickSight, operaciones de lagos de datos.

Habilidades operativas

specialized-skills/operations-skills/*

Solución de problemas, diagnóstico, análisis de registros.

Habilidades de almacenamiento

specialized-skills/storage-skills/*

S3, EFS, FSx, operaciones de Backup.

Habilite todas AWS Habilidades

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

O en el momento de la invocación:

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

Habilite las habilidades por categoría

Usa patrones globales para habilitar categorías de habilidades específicas:

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

Habilita una sola habilidad específica

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 varios patrones

skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk", "core-skills/aws-serverless", "specialized-skills/storage-skills/*"]}}]
nota
  • Las rutas deben ser relativas (sin / direcciones..). Se rechazan las rutas absolutas y el recorrido de las rutas.

  • Si un patrón global no coincide con ninguna habilidad, la invocación falla y se produce un error descriptivo.

  • Se fusionan varias awsSkills entradas de la misma carga útil.

Habilidades de Git (HTTPS)

Clona una habilidad de cualquier repositorio Git público o privado. Admite subdirectorios dentro de monorepos mediante un proceso de pago disperso.

ejemplo
AWS CLI/boto3

Repositorio público:

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

Repositorio privado (requiere un token de acceso personal almacenado en 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

Adjunta una habilidad de un repositorio Git público conagentcore add skill. Se usa --git-path para extraer una sola habilidad de un subdirectorio:

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

En el caso de un repositorio privado, --credential introduce el nombre de una credencial de clave de API de tu proyecto que contenga un token de acceso personal (--usernamees opcional, predeterminadooauth2):

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

Elimine una habilidad agentcore remove skill utilizando los mismos indicadores de origen. Para anular las habilidades de una sola llamada sin cambiar el arnés, usa agentcore invoke --skills <sources> (rutas separadas por comass3://, URI o URL de Git); la autenticación de https:// Git no se admite en la anulación de invocación.

Interactive

En la TUI, añada una habilidad de Git a un arnés mediante el asistente AgregarArnés.

  1. Ve a la configuración avanzada, ve a Habilidades y pulsa la barra espaciadora para activarla y, a continuación, pulsa Entrar.

    Ajustes avanzados con las habilidades activadas
  2. Selecciona Git como fuente de habilidades.

    Tipo de fuente de habilidad: Path, S3 o Git
  3. Introduce la URL del repositorio HTTPS. A continuación, el asistente solicita una ruta de subdirectorio opcional, una credencial opcional para los repositorios privados y un nombre de usuario opcional.

    Introduce la URL del repositorio de Git

Confirme el asistente y, a continuación, ejecútelo agentcore deploy para aplicarlo.

  • url(obligatorio): URL HTTPS del repositorio de Git.

  • path(opcional): subdirectorio dentro del repositorio que contiene la habilidad. Si se omite, se utiliza la raíz del repositorio.

  • auth.credentialArn(opcional): ARN de un proveedor de credenciales de clave API que posea un token de acceso personal para repositorios privados.

  • auth.username(opcional): nombre de usuario de git, el valor predeterminado es. oauth2

La recuperación de Git debe completarse en 60 segundos. Si el repositorio requiere la salida de Internet, asegúrese de que su VPC tenga una puerta de enlace NAT (el mismo requisito que los servidores MCP remotos y las extracciones de contenedores personalizadas).

Habilidades de Amazon S3

Obtenga una habilidad de un bucket de S3 propiedad de un cliente. Utiliza las credenciales de la función de ejecución de arneses.

ejemplo
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

Adjunta una habilidad de S3 conagentcore add skill --s3:

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

La función de ejecución necesita s3:GetObject y s3:ListBucket está lista para usar. Consulte Seguridad y controles de acceso.

Interactive

En la TUI, añada una habilidad S3 a un arnés mediante el asistente AgregarArnés. Ve a la configuración avanzada, activa Skills with Space y elige S3 como fuente (consulta la pestaña Git Interactive para ver los pasos compartidos).

  1. Introduce el URI de S3 del directorio de habilidades.

    Introduzca el URI de S3 para la habilidad

Confirme el asistente y, agentcore deploy a continuación, ejecute la solicitud.

  • uri(obligatorio): URI de S3 que apunta al directorio de habilidades (por ejemplo,s3://bucket/prefix/).

  • El rol de ejecución debe tener s3:GetObject s3:ListBucket permisos en el bucket. Consulte Seguridad y controles de acceso.

  • Cada habilidad de S3 debe tener 1 GB o menos.

  • Las fuentes de S3 funcionan con los puntos finales de VPC de S3 (no se requiere una puerta de enlace NAT).

Conocimientos sobre la ruta del sistema de archivos

Haga referencia a una habilidad que ya esté incluida en el sistema de archivos del arnés, integrada en la imagen del contenedor o instalada al inicio de la sesión mediante ella. InvokeAgentRuntimeCommand

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

Hornea en el recipiente (imagen)

Incluye el directorio de habilidades en tu imagen personalizada:

COPY skills/xlsx .agents/skills/xlsx

Instálelo al inicio de la sesión

Úselo InvokeAgentRuntimeCommand antes de la primera invocación del 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"

Combine varias fuentes de habilidades

Los cuatro tipos de fuentes pueden coexistir en una sola carga útil:

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

Gestión de errores

Todos los errores de recuperación fallan en la invocación y se produce un error descriptivo. Las habilidades nunca se omiten silenciosamente.

Failure Mensaje de error

Acceso denegado a S3

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

No se ha encontrado el objeto S3

Skill source not found: s3://…​

El clon de Git falla (red)

Failed to clone skill: could not resolve host

Autenticación de Git denegada

Failed to clone skill: authentication failed

No se encontró la ruta de Git en el repositorio

Skill path 'x' not found in repository

Tiempo de espera de Git (60 s)

Failed to clone skill: operation timed out after 60s

La habilidad supera el límite de 1 GB

Skill exceeds 1GB size limit

AWS la trayectoria de habilidad no coincide con nada

AWS skill path 'x' matched no skills

Recorrido de ruta () ..

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

AWS falta el paquete de habilidades

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