Você provavelmente está perdendo o verdadeiro potencial das habilidades dos agentes!

AAcademind
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Ao trabalhar com o Claude Code, Codex ou qualquer outra ferramenta de engenharia baseada em agentes, um conceito
00:00:05realmente importante que é suportado por todas essas ferramentas e que você deve entender e usar é o de
00:00:12habilidades de agente (agent skills). É fácil ignorá-las porque são apenas um monte de arquivos markdown ou porque
00:00:18configurá-las pode ser trabalhoso, mas, na minha experiência, vale a pena. E, alguns dias atrás, houve
00:00:24uma postagem de alguém da equipe do Claude Code — ou seja, da Anthropic — onde ele compartilhou os
00:00:31diferentes tipos de habilidades que eles usam internamente, pois, de fato, você pode diferenciar
00:00:37os tipos de habilidades que deseja criar. No fim, são apenas arquivos markdown, embora
00:00:42você possa adicionar algo mais, voltarei a isso, mas o conteúdo desse arquivo markdown pode ser
00:00:49bem diferente. Agora, esta imagem aqui e todo este post podem ser um tanto esmagadores e levar
00:00:56você a não fazer nada, por sentir que, se tiver que passar uma semana configurando habilidades, prefere
00:01:02nem usá-las. É por isso que quero oferecer uma alternativa neste vídeo. Acho que você
00:01:08pode simplesmente focar em três tipos principais de habilidades que trarão resultados melhores.
00:01:15A propósito, como mencionei, todas essas ferramentas suportam habilidades. Eu ensino como configurá-las,
00:01:20como invocá-las ativamente e como criar habilidades para o Claude Code e Codex em meus cursos.
00:01:26Se quiser acessá-los, inclusive cursos futuros, estou com uma promoção
00:01:31da assinatura anual que dá acesso total a todos os meus cursos pelo tempo da assinatura,
00:01:35por um preço super baixo no link abaixo. Mas, sobre essas habilidades,
00:01:41elas são apenas arquivos markdown armazenados em um local especial. O local exato
00:01:46depende da ferramenta, mas servem como modelos de prompt ou
00:01:52contextos extras que podem ser injetados em suas sessões de engenharia. E o
00:02:01primeiro tipo de habilidade é a de documentação ou de conhecimento, eu diria. O que quero dizer com isso?
00:02:09Aqui estou no projeto do meu site, academy.com, e nele tenho várias
00:02:15habilidades de agente que são, basicamente, tipos de documentação ou conhecimento expostos ao agente de IA.
00:02:25Por exemplo, alguns conhecimentos de TypeScript aqui, informações sobre recursos mais avançados
00:02:33do TypeScript, talvez recursos mais novos como a palavra-chave "satisfies", que não existe
00:02:40há 10 anos. Coisas que quero que o agente de IA saiba ou das quais seja lembrado, pois pode não
00:02:50ser a primeira opção que ele usaria, talvez por não ter visto tanto disso em seus dados de treinamento.
00:02:58Isso é algo que você encontraria na documentação oficial do TypeScript. O ponto é que,
00:03:04a menos que você diga explicitamente, é muito provável que o agente não consulte
00:03:11a documentação oficial do TypeScript. Então prefiro ter minha própria habilidade, e
00:03:17esta habilidade aqui tem metadados. Os metadados são importantes porque a ideia é que
00:03:24nem todas as habilidades disponíveis sejam carregadas na janela de contexto sempre. Em vez disso,
00:03:30apenas os metadados são carregados, e então o agente de IA decide qual habilidade quer
00:03:37ler mais a fundo, dependendo do seu prompt e das tarefas dadas. Você também pode invocá-las ativamente,
00:03:43dependendo da ferramenta, mas a ideia principal é que o agente as carregue sozinho
00:03:47com base nesses metadados. Aqui, tenho metadados para dar ao agente uma ideia
00:03:55de quando usar esta habilidade. Portanto, esse é um tipo de habilidade onde você fornece documentação extra
00:04:02ou conhecimento que o agente talvez não tenha, talvez por você estar usando uma biblioteca
00:04:08que não estava nos dados de treinamento por ser nova, ou algo que você sabe que ele não conhece bem
00:04:13e quer que ele esteja ciente. Esse é o primeiro tipo de habilidade.
00:04:18O segundo tipo são comportamentos, boas práticas, abordagens e coisas do tipo. Aqui, a ideia
00:04:29é que, ao trabalhar em um projeto, você pode ter certas preferências sobre
00:04:37estilo de código ou como certas coisas devem ser feitas. Por exemplo, tenho esta habilidade de
00:04:45código React limpo e moderno, que não é tanto para documentar recursos do React, mas sim para
00:04:50estabelecer regras que o agente deve seguir ao escrever código React, para garantir que
00:04:59certos antipadrões sejam menos comuns. Pelo menos para mim, no momento, agentes de IA tendem a gerar
00:05:08códigos que nem sempre têm a maior qualidade. Pode-se discutir se a qualidade do código
00:05:13importa. Fiz um vídeo separado em outro canal sobre isso. Eu diria que
00:05:18importa, porque a qualidade facilita a revisão do código. Pode ter implicações
00:05:23de desempenho e afetar o quão fácil é manter ou estender o código. Então, acho que importa.
00:05:29Se você quer que o agente use certos comportamentos ou padrões, então uma
00:05:36habilidade comportamental — onde você diz como escrever um bom código React, que ele deve evitar
00:05:43o uso de "useEffect" e como evitá-lo — pode ser interessante. Aqui o foco é menos em
00:05:50fornecer documentação extra e mais em instruir comportamentos. O que é
00:05:55interessante nesta habilidade é que tenho arquivos relacionados, com um arquivo de mais detalhes
00:06:02sobre o "useEffect", pois todos esses arquivos de habilidade são carregados de forma ociosa (lazily). E você pode,
00:06:09em um arquivo de habilidade, referenciar outro, como este arquivo "useEffect.md" na pasta de referências,
00:06:15e a IA pode decidir carregar esse arquivo apenas quando souber que está trabalhando com "useEffect",
00:06:21ou fazendo algo relacionado a ele. Assim, aqui tenho mais detalhes sobre os antipadrões
00:06:27que ela deve conhecer. Configurar esses tipos de habilidades vale muito a pena, até porque
00:06:33posso copiar isso para qualquer projeto React, não preciso reescrever sempre, e isso
00:06:39gera um código melhor. Esse é o segundo tipo que recomendo. Você não precisa
00:06:45pensar em todos os padrões de uma vez; aja passo a passo. Se notar que,
00:06:52no seu projeto, o agente de IA está fazendo consistentemente algo que você não quer,
00:06:58adicione uma habilidade com uma boa descrição que aumente a chance de ela ser carregada
00:07:04nos momentos certos e coloque suas instruções nela. Use-a para corrigir problemas e, com o tempo,
00:07:11você criará uma biblioteca de habilidades com suas boas práticas e comportamentos específicos,
00:07:17podendo usá-la em projetos futuros. Não veja isso como uma tarefa inicial enorme e
00:07:22intimidante; construa essa base de habilidades aos poucos. O terceiro tipo,
00:07:29que é bem diferente, são as habilidades baseadas em funcionalidades. Até agora, falamos de documentação
00:07:37e imposição de comportamentos. Estas ferramentas de engenharia, como Claude Code e Codex,
00:07:43podem fazer todo tipo de coisa. Elas escrevem código, obviamente, mas você não está limitado a isso
00:07:49nos projetos. Como elas escrevem código, podem fazer qualquer coisa no seu computador. Se quiser,
00:07:55pode usá-las para analisar documentos PDF, por exemplo. Eu tenho algumas habilidades globais no sistema
00:08:03que não são exclusivas de programação. Algumas são, mas nem todas. Você poderia criar uma habilidade
00:08:09que ensine o agente a gerar uma imagem. O que quero dizer com isso? Bem, existem
00:08:16vários serviços ou APIs para gerar imagens ou vídeos com IA, como o Fal AI — aliás,
00:08:24este vídeo não é patrocinado. Também tem o Replicate e outros serviços. É claro que,
00:08:29se quiser gerar uma imagem — digamos que precise de uma imagem de marcação para seu site ou
00:08:34para algo totalmente diferente, como imprimir e pôr na parede — você pode usar
00:08:41esses serviços. Você poderia usar o Codex, Claude Code ou o agente Pi, que eu gosto muito, e pedir
00:08:49para gerar uma imagem. Por padrão, ele provavelmente falharia, porque essas ferramentas
00:08:54não têm recursos de geração de imagem integrados. Mas, se você der a habilidade certa, que ainda é
00:09:00apenas um arquivo markdown, nela você pode descrever como interagir com uma
00:09:06API de terceiros para gerar a imagem. Descrever essa interação seria um caminho, mas você
00:09:12pode ir além. Suas habilidades também podem vir com scripts. Nem todas precisam, mas minha
00:09:18habilidade de gerar imagens tem um. Este script, para ser sincero, foi escrito por IA; foi "vibe coded".
00:09:26E aqui tenho scripts que interagem com a API da Fal. Basicamente, para esse serviço
00:09:34de geração de imagem, peguei a documentação deles, coloquei em um prompt e pedi para um agente de IA
00:09:40escrever uma ferramenta que utilize ou converse com essa API da Fal para gerar imagens. Uma pequena ferramenta
00:09:49CLI foi criada aqui, um script que fala com a API e gera imagens com diferentes
00:09:56parâmetros e tudo mais. Então, o arquivo "skill.md" apenas explica como usar esse script,
00:10:02aponta para ele e diz ao agente como executá-lo, quais parâmetros passar e etc. E
00:10:08tenho o arquivo ".env" com minha chave da Fal. Quando esse script é invocado via Bun, que é
00:10:18o que digo à IA no arquivo markdown, o arquivo ".env" é carregado automaticamente. Assim, eu não
00:10:23preciso dar acesso à chave para o agente. Não preciso dizer "gere uma imagem e,
00:10:29aliás, aqui está a chave". Em vez disso, apenas peço a imagem. Ele irá,
00:10:34graças à descrição, carregar essa habilidade quando necessário e nela aprenderá que só precisa
00:10:39rodar um script, sem se preocupar com os detalhes de implementação. Esse é outro tipo
00:10:45de habilidade que acho interessante, e não só para programação. Você poderia ter uma habilidade
00:10:52baseada em script que formata o código ou algo assim. Mas, no geral,
00:10:57como você pode usar esses agentes para mais do que gerar código, esta
00:11:02é definitivamente outra categoria de habilidade para conhecer. No todo, eu diria: não complique demais,
00:11:08mas também não ignore. Construa sua biblioteca de habilidades passo a passo. Vale notar que
00:11:14existem registros de habilidades, como o skills.sh, onde você pode navegar por habilidades criadas por outros.
00:11:21Duas notas importantes: isso pode ser útil, mas o que eu não faria é dizer: "estou criando
00:11:29um projeto React com Tailwind e Better Auth e sei lá o quê, então vou procurar todas as habilidades
00:11:35que possam ser interessantes e instalá-las no meu projeto". Isso pode ser
00:11:40contraproducente, pois você estará carregando mais e mais metadados para a janela de contexto,
00:11:47e algumas dessas habilidades podem nem importar. Esteja ciente disso. Eu não tentaria
00:11:53adicionar todas as habilidades possíveis; seja seletivo e foque nas
00:11:57coisas que a IA erra consistentemente ou onde você sabe que documentação extra
00:12:04será necessária. Esse é um ponto. O outro ponto sobre esses registros é que você
00:12:09está incluindo habilidades escritas por terceiros. Como vimos, essas habilidades são apenas prompts.
00:12:16Se houver algo malicioso em um desses prompts, pode ser um problema e levar a um ataque
00:12:22de injeção de prompt. Alguns registros, como o skills.sh, até onde eu sei,
00:12:28fazem algum tipo de varredura para reduzir o perigo, mas nunca se está 100%
00:12:36seguro. Portanto, ao usar uma habilidade escrita por
00:12:40outra pessoa, leia-a. Ela está lá para você ler, verifique se há algo
00:12:47malicioso. É apenas um aviso. Fora isso, use habilidades. Não sinta que
00:12:54precisa criar um sistema super complexo; experimente e mantenha esses
00:13:00três tipos principais de habilidades em mente.

Key Takeaway

Implementar habilidades de agente de forma incremental transforma ferramentas de IA em assistentes especializados que seguem padrões de projeto específicos e executam tarefas complexas via scripts.

Highlights

As habilidades de agente (agent skills) são arquivos Markdown que funcionam como modelos de prompt ou contextos injetados em ferramentas como Claude Code e Codex.

O uso de metadados é crucial para que a IA carregue apenas as habilidades relevantes de forma ociosa (lazy loading), economizando janela de contexto.

Existem três categorias principais recomendadas: Documentação/Conhecimento, Comportamentos/Boas Práticas e Habilidades Baseadas em Funcionalidades.

Habilidades de comportamento ajudam a evitar antipadrões e garantem que a IA gere código de maior qualidade seguindo preferências específicas do desenvolvedor.

As habilidades podem ser estendidas com scripts (vibe coding) para interagir com APIs externas, como geração de imagens via Fal AI.

O uso de registros de terceiros como o skills.sh exige cautela devido ao risco de ataques de injeção de prompt em arquivos maliciosos.

Timeline

Introdução às Habilidades de Agente

O palestrante introduz o conceito fundamental de 'agent skills' em ferramentas de engenharia como Claude Code e Codex. Ele enfatiza que, embora pareçam simples arquivos Markdown, essas habilidades são pilares suportados pelas principais ferramentas da Anthropic. Muitas pessoas ignoram essa configuração por acharem trabalhosa, mas o vídeo propõe uma abordagem simplificada focada em três tipos principais. O objetivo é desmistificar o processo de configuração e mostrar que os resultados práticos superam o esforço inicial. Esta seção estabelece a base para entender como esses modelos de prompt otimizam o fluxo de trabalho.

Habilidades de Documentação e Conhecimento

O primeiro tipo de habilidade foca em fornecer documentação extra ou conhecimentos específicos que a IA pode não ter em seus dados de treinamento. O autor exemplifica com o uso de recursos modernos do TypeScript, como a palavra-chave "satisfies", que o agente pode não priorizar sozinho. Ele destaca a importância dos metadados, que permitem que o agente decida autonomamente quando ler uma habilidade completa. Isso evita sobrecarregar a janela de contexto com informações irrelevantes para a tarefa atual. Ter uma biblioteca de documentação própria garante que o agente utilize as ferramentas mais recentes e eficazes.

Habilidades de Comportamento e Boas Práticas

Esta seção aborda como instruir a IA a seguir estilos de código e arquiteturas específicas, como o desenvolvimento em React limpo e moderno. O palestrante argumenta que a qualidade do código facilita a revisão e a manutenção futura, justificando o esforço de criar regras comportamentais. Um exemplo prático é a instrução para evitar o uso excessivo de "useEffect", conectando arquivos de referência adicionais que são carregados apenas quando necessário. A recomendação é construir essas habilidades gradualmente, corrigindo erros recorrentes da IA à medida que eles aparecem. Assim, o desenvolvedor cria uma base de conhecimento personalizada que pode ser reutilizada em diversos projetos.

Habilidades Baseadas em Funcionalidades e Scripts

O terceiro tipo de habilidade expande as capacidades da IA para além da escrita de código, permitindo a execução de tarefas no sistema. O autor demonstra como integrou uma API de geração de imagens (Fal AI) através de um script CLI escrito por IA e gerenciado por um arquivo Markdown. O arquivo ".env" com as chaves de API é carregado automaticamente pelo Bun, o que aumenta a segurança ao não expor segredos diretamente no prompt. Essa abordagem mostra que agentes podem ser transformados em ferramentas multifuncionais que analisam PDFs ou geram mídia sob demanda. O conceito de "vibe coding" é mencionado como uma forma rápida de criar esses utilitários de suporte.

Segurança, Registros e Considerações Finais

Na conclusão, o vídeo discute o uso de repositórios públicos de habilidades, como o skills.sh, alertando sobre os riscos de segurança. O palestrante avisa que prompts de terceiros podem conter instruções maliciosas e recomenda a leitura atenta de qualquer arquivo antes da instalação. Além disso, ele sugere ser seletivo ao adicionar habilidades para evitar o inchaço de metadados na janela de contexto da IA. A mensagem final é de experimentação constante sem a necessidade de criar sistemas excessivamente complexos logo no início. O equilíbrio entre automação e vigilância manual é apresentado como a melhor prática para o uso de agentes.

Community Posts

View all posts