View a markdown version of this page

Habilidades - Amazon Bedrock AgentCore

Habilidades

As habilidades do agente são pacotes de markdown e scripts que fornecem ao agente conhecimento de domínio sob demanda. Cada habilidade segue o AgentSkills.iopadrão aberto: um SKILL.md arquivo com o frontmatter YAML (nome, descrição) e instruções de markdown, além de diretórios opcionais scripts/ e. references/ assets/

As habilidades usam a divulgação progressiva: os metadados são injetados antecipadamente no prompt do sistema (aproximadamente 100 tokens) e as instruções completas são carregadas sob demanda por meio de uma chamada de ferramenta. Isso evita inundar a janela de contexto com instruções que o agente talvez não precise.

O arnês suporta quatro fontes de habilidades:

Fonte Description Quando usar

AWS Habilidades

Pre-built habilidades para AWS serviços do AWS Agent Toolkit. Habilite com padrões globais.

Você quer AWS experiência pronta com configuração zero.

Git (HTTPS)

Clone uma habilidade de qualquer repositório Git público ou privado. Suporta subdiretórios.

Você deseja referenciar habilidades de GitHub, GitLab, ou de qualquer host git sem fazer o upload para o S3.

Amazon S3

Obtenha uma habilidade de um bucket S3 de propriedade do cliente usando a função de execução.

Você quer controle total sobre controle de versão, criptografia e governança de acesso.

Caminho (sistema de arquivos)

Faça referência a uma habilidade já presente no sistema de arquivos harness (incorporada à imagem do contêiner ou instalada via). InvokeAgentRuntimeCommand

A habilidade faz parte da imagem do seu contêiner ou foi instalada no início da sessão.

As habilidades são obtidas uma vez por sessão na primeira invocação. Em uma sessão, as habilidades persistem no disco em várias invocações. Quando a VM expira e uma nova sessão é iniciada, as habilidades são recuperadas para garantir a atualização.

Você pode definir skills como padrão o chicote (via CreateHarness ouUpdateHarness) ou substituir por invocação. Invoke-time as habilidades são acrescentadas após as habilidades de criação; se ambas definirem uma habilidade com o mesmo nome, a versão de tempo de invocação vencerá.

nota

Para adicionar uma habilidade a um arnês de forma interativa, execute agentcore para abrir o TUI, selecione adicionar, escolha Arnês, avance para as configurações avançadas e ative Habilidades. O assistente então solicita a fonte da habilidade. Consulte a guia Interativo em Git e Amazon S3 abaixo para ver as etapas por fonte.

AWS Habilidades

AWS habilidades são habilidades pré-criadas que permitem que seus agentes interajam com os AWS serviços. Eles são organizados hierarquicamente e selecionados por meio de padrões globais. Veja sua fonte em GitHub.

Categoria Padrão Habilidades típicas

Habilidades essenciais

core-skills/*

Operações do EC2, S3, Lambda, DynamoDB, IAM. CloudWatch

Habilidades analíticas

specialized-skills/analytics-skills/*

Athena, Glue QuickSight, operações de data lake.

Habilidades operacionais

specialized-skills/operations-skills/*

Solução de problemas, diagnósticos, análise de registros.

Habilidades de armazenamento

specialized-skills/storage-skills/*

S3, EFS, FSx, operações de backup.

Habilitar tudo AWS Habilidades

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

Ou no momento da invocação:

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 habilidades por categoria

Use padrões globais para habilitar categorias de habilidades específicas:

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

Habilite uma única habilidade 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."}]}], )

Combine vários padrões

skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk", "core-skills/aws-serverless", "specialized-skills/storage-skills/*"]}}]
nota
  • Os caminhos devem ser relativos (sem início / ou..). Os caminhos absolutos e a travessia de caminhos são rejeitados.

  • Se um padrão global não corresponder a nenhuma habilidade, a invocação falhará com um erro descritivo.

  • Várias awsSkills entradas na mesma carga útil são mescladas.

Competências em Git (HTTPS)

Clone uma habilidade de qualquer repositório Git público ou privado. Suporta subdiretórios em monorepos usando checkout esparso.

exemplo
AWS CLI/boto3

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

Repositório privado (requer um token de acesso pessoal armazenado no 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

Anexe uma habilidade de um repositório Git público com. agentcore add skill Use --git-path para extrair uma única habilidade de um subdiretório:

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

Para um repositório privado, passe --credential com o nome de uma credencial de chave de API em seu projeto que contém um token de acesso pessoal (--usernameé opcional, padrãooauth2):

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

Remova uma habilidade agentcore remove skill usando as mesmas bandeiras de origem. Para substituir as habilidades de uma única chamada sem alterar o equipamento, use agentcore invoke --skills <sources> (caminhos separados por vírgula, URIs ou URLs do Git); a autenticação do https:// Git não s3:// é suportada na substituição de invocação.

Interactive

Na TUI, adicione uma habilidade Git a um arnês por meio do assistente de adição → Arnês.

  1. Avance para Configurações avançadas, vá até Habilidades, pressione Espaço para ativá-la e pressione Enter.

    Configurações avançadas com o Skills ativado
  2. Selecione Git como fonte de habilidades.

    Tipo de fonte de habilidade: Path, S3 ou Git
  3. Insira o URL do repositório HTTPS. Em seguida, o assistente solicita um caminho de subdiretório opcional, uma credencial opcional para repositórios privados e um nome de usuário opcional.

    Insira a URL do repositório Git

Confirme o assistente e, em seguida, execute agentcore deploy para se inscrever.

  • url(obrigatório) - URL HTTPS do repositório Git.

  • path(opcional) - subdiretório dentro do repositório que contém a habilidade. Se for omitida, a raiz do repositório será usada.

  • auth.credentialArn(opcional) - ARN de um provedor de credenciais de chave de API com um token de acesso pessoal para repositórios privados.

  • auth.username(opcional) - nome de usuário do git, o padrão é. oauth2

O Git fetch deve ser concluído em 60 segundos. Se o repositório exigir saída da Internet, certifique-se de que sua VPC tenha um gateway NAT (o mesmo requisito dos servidores MCP remotos e das retiradas personalizadas de contêineres).

Habilidades do Amazon S3

Obtenha uma habilidade em um bucket S3 de propriedade do cliente. Usa as credenciais da função de execução do harness.

exemplo
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

Anexe uma habilidade do S3 comagentcore add skill --s3:

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

As necessidades da função de execução s3:GetObject e s3:ListBucket no bucket. Consulte Segurança e controles de acesso.

Interactive

No TUI, adicione uma habilidade S3 a um arnês por meio do assistente de adição → Arnês. Vá para as configurações avançadas, ative o Skills with Space e escolha o S3 como fonte (consulte a guia Git Interactive para ver as etapas compartilhadas).

  1. Insira o URI do S3 do diretório de habilidades.

    Insira o URI do S3 para a habilidade

Confirme o assistente e, em seguida, execute agentcore deploy para se inscrever.

  • uri(obrigatório) - URI do S3 apontando para o diretório de habilidades (por exemplo,s3://bucket/prefix/).

  • A função de execução deve ter s3:ListBucket permissões s3:GetObject e permissões no bucket. Consulte Segurança e controles de acesso.

  • Cada habilidade do S3 deve ter 1 GB ou menos.

  • As fontes do S3 funcionam com endpoints VPC do S3 (não é necessário um gateway NAT).

Habilidades de caminho do sistema de arquivos

Faça referência a uma habilidade que já está no sistema de arquivos harness - incorporada à imagem do contêiner ou instalada no início da sessão via. InvokeAgentRuntimeCommand

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

Asse na imagem do recipiente

Inclua o diretório de habilidades em sua imagem personalizada:

COPY skills/xlsx .agents/skills/xlsx

Instalar no início da sessão

Use InvokeAgentRuntimeCommand antes da primeira invocação do 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 várias fontes de habilidades

Todos os quatro tipos de fonte podem coexistir em uma única 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."}]}], )

Tratamento de erros

Todas as falhas de busca falham na invocação com um erro descritivo. As habilidades nunca são ignoradas silenciosamente.

Falha Mensagem de erro

Acesso negado ao S3

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

Objeto do S3 não encontrado

Skill source not found: s3://…​

Falha no clone do Git (rede)

Failed to clone skill: could not resolve host

Autenticação do Git negada

Failed to clone skill: authentication failed

Caminho Git não encontrado no repositório

Skill path 'x' not found in repository

Tempo limite do Git (60s)

Failed to clone skill: operation timed out after 60s

A habilidade excede o limite de 1 GB

Skill exceeds 1GB size limit

AWS o caminho de habilidade não corresponde a nada

AWS skill path 'x' matched no skills

Percurso percorrido () ..

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

AWS pacote de habilidades ausente

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