Automação de IA

Como os Agentes de IA Implementam Habilidades: Comparacao Completa Entre Plataformas

AI Agents LLM Context Management Agent Frameworks

Introducao

Todo framework de agentes de IA enfrenta a mesma questao fundamental: como tornar um LLM bom em algo especifico? O modelo em si tem um amplo conhecimento geral, mas quando precisa realizar uma revisao de codigo, implementar infraestrutura ou navegar no Minecraft — ele precisa de instrucoes especializadas, acesso a ferramentas e contexto de dominio.

Este e o problema da injecao de habilidades. E cada grande framework resolve-o de forma diferente.

Algumas plataformas despejam tudo no prompt do sistema antecipadamente. Outras usam carregamento sob demanda, revelando capacidades apenas quando o agente precisa delas. Algumas usam bases de dados vetoriais para recuperar habilidades relevantes com base em similaridade semantica. As diferencas nao sao academicas — afetam diretamente os custos de tokens, a fiabilidade do agente e quantas habilidades um agente pode gerir de forma realista.

Analisamos 11 grandes plataformas de agentes de IA para entender exatamente onde as habilidades aparecem no prompt, quando sao carregadas, quanto custam em tokens e como sobrevivem quando a janela de contexto fica cheia. Esta nao e uma comparacao superficial de funcionalidades. Investigamos codigo-fonte, documentacao e diagramas de arquitetura para mapear os mecanismos precisos de injecao de cada plataforma.

Tabela de Comparacao Principal

Aqui esta a visao geral completa antes de entrarmos nos detalhes.

Mecanismos de Injecao: Onde, Quando e Como

PlataformaPonto de InjecaoQuando CarregadoMecanismo
Claude CodeSystem-reminder (metadados) + mensagem de conversacao (corpo)Metadados no inicio da sessao; corpo no /command ou correspondencia automaticaFramework injeta metadados; ferramenta Skill carrega corpo completo na ativacao
CrewAIPrompt da tarefa (adicionado antes da chamada ao LLM)Cada execucao de tarefa via _finalize_task_prompt()format_skill_context() adiciona todos os corpos de habilidades ao prompt
LangChain Deep AgentsPrompt do sistema (metadados) + historico de conversacao (corpo)Metadados no inicio; corpo quando o agente chama read_file()SkillsMiddleware injeta indice; agente carrega corpo via ferramenta de sistema de ficheiros
OpenAI Responses APIContexto do prompt do utilizador (gerido pela plataforma)No skill_reference na chamada da APIPlataforma adiciona metadados; modelo le SKILL.md completo na invocacao
OpenAI Agents SDKDefinicoes de ferramentas (diferido via ToolSearchTool)Nomes de namespace na criacao; schemas na chamada ToolSearchTooltool_namespace() + ToolSearchTool() para descoberta progressiva
AutoGen TeachabilityMensagem do utilizador modificada (memos recuperados injetados)Cada turno — recuperacao da base de dados vetorial antes de cada chamada ao LLMMiddleware interceta mensagem, consulta ChromaDB, injeta correspondencias top-K
Semantic KernelSchemas de chamada de funcoes + conteudo de template de promptTodos os schemas no inicio; conteudo do template na invocacao da funcaokernel.add_plugin() regista todos; kernel.invoke() renderiza templates
MetaGPTTemplate de prompt da Action (renderizado na chamada ao LLM)Quando o _act() do Role e acionado para uma Action especificaAction.run() formata PROMPT_TEMPLATE, envia via aask()
VoyagerPrompt de geracao de codigo (codigo de habilidade recuperado)Antes de cada geracao de codigo; pesquisa por similaridade de embeddingSkillLibrary.retrieve_skills() injeta top-5 como exemplos few-shot
DSPyDemos few-shot compiladas nos prompts do modulo PredictCompiladas offline pelo otimizador; fixas em tempo de execucaoBootstrapFewShot / MIPROv2 seleciona melhores demos; Predict renderiza no prompt
SuperAGISchemas de ferramentas na lista de ferramentas do agenteCriacao do agente — todas as ferramentas do toolkit registadas antecipadamenteBaseToolkit.get_tools() regista tudo como ferramentas de chamada de funcao
CAMEL-AISchemas de funcoes + mensagem do sistema do roleCriacao do agente — todas as ferramentas registadas antecipadamenteChatAgent(tools=[*toolkit.get_tools()]) carrega tudo na inicializacao

Persistencia, Custo de Tokens e Comportamento Sempre Ativo

PlataformaSempre Presente?PersistenciaCusto de Tokens
Claude CodeMetadados: SIM. Corpo: apenas apos ativacaoEscopo de sessao. Na compactacao: reattached (5K/habilidade, limite de 25K)~250 chars/metadados de habilidade; 1% do orcamento de contexto
CrewAISIM — corpo completo em cada prompt de tarefaInjecao fresca por tarefa; sem persistencia entre tarefasCorpo completo em cada chamada. Limite suave de 50K chars
LangChain Deep AgentsMetadados: SIM. Corpo: sob demandaCorpo permanece no historico de conversacao; habilidades de subagente isoladas~100 tokens/metadados de habilidade; corpo pago uma vez (~3.302 tokens)
OpenAI Responses APINome+desc: SIM. Corpo completo: na invocacaoApenas resposta unica da API; sem persistencia entre chamadasGerido pela plataforma
OpenAI Agents SDKLista de namespaces: SIM. Schemas: sob demandaApenas execucao unica; redescoberta por sessaoMinimo ate ativacao
AutoGen TeachabilityNAO — apenas memos relevantes por turnoEntre sessoes via ChromaDB; persiste indefinidamente~3-5 memos por turno (variavel)
Semantic KernelTodos os schemas: SIM. Templates: na invocacaoEm memoria por instancia do kernel; sem persistencia entre sessoesTodos os schemas sempre presentes
MetaGPTNAO — apenas o template da Action atualApenas execucao de acao unicaUm template por turno
VoyagerNAO — top-5 recuperados por tarefaPersistencia vitalicia na base de dados vetorial~500-2.000 tokens por exemplo de habilidade
DSPySIM — demos compiladas incorporadasSerializavel para JSON; persiste entre sessoesFixo apos compilacao (3-8 demos/modulo)
SuperAGISIM — todos os schemas sempre presentesDentro da sessao do agenteTodos os schemas sempre presentes
CAMEL-AISIM — todos os schemas + prompt do roleDentro da sessao de conversacaoTodos os schemas sempre presentes
Logo

Pronto para expandir seu negócio?

Comece seu teste gratuito hoje e veja resultados em dias.

O Que “Injecao de Habilidades” Realmente Significa

Antes de mergulhar na comparacao, vamos definir o espaco do problema. A janela de contexto de um agente de IA — o texto total que o LLM ve em cada chamada — tem um tamanho fixo. Cada token de instrucao, historico de conversacao, definicao de ferramenta e dados recuperados compete por espaco nessa janela.

Uma “habilidade” no contexto do agente e qualquer pacote estruturado de especializacao que muda como o agente se comporta. Isso pode ser:

  • Instrucoes que dizem ao agente como abordar um dominio especifico (diretrizes de revisao de codigo, checklists de implementacao)
  • Definicoes de ferramentas que dao ao agente funcoes invocaveis (integracoes com APIs, operacoes de ficheiros)
  • Exemplos few-shot que mostram ao agente como e uma boa saida
  • Conhecimento recuperado de bases de dados vetoriais ou documentos externos

O mecanismo de injecao — onde e quando este conteudo entra no contexto — determina tres propriedades criticas:

  1. Eficiencia de tokens: Quantos tokens a habilidade consome, e esse custo e pago mesmo quando a habilidade nao e necessaria?
  2. Fiabilidade: O agente usara consistentemente a habilidade quando relevante, ou pode perder a indicacao?
  3. Escalabilidade: Quantas habilidades o agente pode aceder antes que o excesso de contexto degrade o desempenho?

Cada framework faz diferentes compromissos nestas tres dimensoes. Vamos examinar cada um.

O Espectro de Injecao: Do Sempre Ativo ao Sob Demanda

Em todas as 11 plataformas, as abordagens de injecao de habilidades distribuem-se num espectro desde “tudo carregado antecipadamente” ate “nada carregado ate ser explicitamente necessario.”

Num extremo, plataformas como CrewAI, SuperAGI e CAMEL-AI injetam o conteudo completo de cada habilidade ativada em cada chamada ao LLM. O agente tem sempre a sua especializacao completa disponivel. Simples, fiavel, mas caro em tokens.

No outro extremo, Claude Code, LangChain Deep Agents e a Responses API da OpenAI usam divulgacao progressiva — o agente ve apenas nomes de habilidades e descricoes curtas no inicio, e o conteudo completo e carregado sob demanda. Eficiente, escalavel, mas requer que o agente reconheca quando precisa de uma habilidade.

No meio, AutoGen Teachability e Voyager usam recuperacao semantica para injetar apenas as habilidades mais relevantes por turno, criando um padrao de injecao dinamico e sensivel ao contexto.

E depois ha abordagens unicas: DSPy compila exemplos few-shot otimizados offline e incorpora-os permanentemente nos prompts dos modulos. MetaGPT codifica habilidades como templates de acao que se ativam apenas quando um role especifico transita para uma acao especifica.

Vamos examinar cada um em detalhe.

Claude Code: Divulgacao Progressiva em Tres Camadas

Claude Code three-layer progressive disclosure: always-on metadata, on-activation skill body, on-demand resources

O Claude Code implementa uma das arquiteturas de injecao de habilidades mais sofisticadas, usando um sistema de divulgacao progressiva em tres camadas que equilibra consciencia com eficiencia de tokens.

Camada 1: Sempre no Contexto

No inicio da sessao, o nome e a descricao de cada habilidade disponivel sao injetados numa mensagem system-reminder — um bloco de metadados que o modelo sempre ve. Isso custa aproximadamente 250 caracteres por habilidade, consumindo cerca de 1% do orcamento da janela de contexto para todas as descricoes de habilidades combinadas (aproximadamente 8K caracteres como orcamento de reserva, configuravel via a variavel de ambiente SLASH_COMMAND_TOOL_CHAR_BUDGET).

Da mesma forma, ferramentas diferidas — ferramentas cujos schemas JSON completos ainda nao foram carregados — aparecem como uma lista apenas de nomes em blocos system-reminder. A partir do Claude Code v2.1.69, ate ferramentas de sistema integradas como Bash, Read, Edit, Write, Glob e Grep sao diferidas atraves do ToolSearch, reduzindo o contexto de ferramentas do sistema de aproximadamente 14-16K tokens para cerca de 968 tokens.

O agente ve o suficiente para saber o que esta disponivel sem pagar o custo de tokens das definicoes completas.

Camada 2: Na Ativacao

Quando um utilizador digita um comando slash (por exemplo, /commit) ou o modelo faz correspondencia automatica de uma habilidade com base na sua descricao, o corpo completo do SKILL.md e carregado como uma mensagem de conversacao via a ferramenta Skill. Este corpo contem as instrucoes completas — por vezes milhares de tokens de orientacao detalhada.

Detalhe importante: O pre-processamento shell executa primeiro (quaisquer diretivas !command no ficheiro de habilidade sao executadas e a sua saida substitui a diretiva), e uma vez carregado, o corpo da habilidade permanece na conversacao pelo resto da sessao.

Camada 3: Sob Demanda

Recursos adicionais — documentos de referencia, scripts, ficheiros de recursos — so sao lidos quando o modelo decide explicitamente usar a ferramenta Read para acede-los. Estes nunca sao carregados automaticamente.

Comportamento de Compactacao de Contexto

Quando a conversacao se aproxima do limite de contexto e a compactacao e acionada, o Claude Code reanexa as habilidades invocadas mais recentemente com um orcamento de 5K tokens por habilidade e um maximo combinado de 25K. As habilidades invocadas mais recentemente tem prioridade. Habilidades mais antigas podem ser descartadas completamente.

Esta arquitetura de tres camadas significa que um agente com mais de 20 habilidades disponiveis paga um custo inicial minimo, mas pode aceder a especializacao completa em qualquer uma delas num unico turno.

CrewAI: Injecao Completa em Cada Prompt de Tarefa

CrewAI skill injection: full body appended to every task prompt via format_skill_context()

O CrewAI adota a abordagem oposta a divulgacao progressiva. Quando uma habilidade e ativada para um agente, o seu conteudo completo e injetado em cada prompt de tarefa que o agente executa.

Como Funciona

As habilidades no CrewAI sao diretorios autonomos, cada um com um ficheiro SKILL.md contendo frontmatter YAML (nome, descricao, licenca, compatibilidade, ferramentas permitidas) e um corpo markdown. O sistema de habilidades distingue entre habilidades e ferramentas: habilidades injetam instrucoes e contexto que moldam como o agente pensa, enquanto ferramentas fornecem funcoes invocaveis para acoes.

Durante a inicializacao do agente, Agent.set_skills() chama discover_skills() para examinar diretorios de habilidades ao nivel dos metadados, depois activate_skill() para ler os corpos completos das habilidades. No momento da execucao da tarefa, _finalize_task_prompt() chama format_skill_context() para cada habilidade ativada e adiciona todo o conteudo formatado das habilidades ao prompt da tarefa.

O LLM recebe: [mensagem do sistema] + [prompt da tarefa + TODOS os corpos de habilidades]

Implicacoes de Tokens

O CrewAI impoe um aviso suave em 50.000 caracteres por habilidade, mas sem limite rigido. A documentacao recomenda manter as habilidades focadas e concisas porque grandes injecoes de prompt diluem a atencao do modelo — uma preocupacao real dado a investigacao sobre degradacao de contexto.

O compromisso e direto: o agente tem sempre a especializacao completa disponivel (alta fiabilidade), mas o custo de tokens escala linearmente com o numero de habilidades por tarefa (baixa eficiencia). Para agentes com 1-2 habilidades focadas, funciona bem. Para agentes que precisam de conjuntos amplos de capacidades, torna-se caro rapidamente.

Sem Persistencia Entre Tarefas

Cada tarefa recebe uma injecao fresca. Nao ha acumulacao de conteudo de habilidades entre tarefas — o que e na verdade uma funcionalidade, nao um defeito. Significa que cada tarefa comeca com um contexto limpo, evitando os problemas de obsolescencia que a persistencia baseada em sessao pode criar.

LangChain Deep Agents: Carregamento Controlado pelo Agente via SkillsMiddleware

LangChain Deep Agents three-tier skill loading: index via SkillsMiddleware, full content via read_file, deep dive on demand

O LangChain Deep Agents implementa um sistema sofisticado de habilidades baseado em middleware onde o proprio agente decide quando carregar o conteudo completo da habilidade — um verdadeiro modelo de divulgacao progressiva onde o agente controla a ativacao.

Os Tres Niveis

Nivel 1 (Indice): O SkillsMiddleware analisa todo o frontmatter dos SKILL.md no inicio e injeta um indice leve no prompt do sistema. Este indice contem apenas nomes e descricoes, custando aproximadamente 278 tokens por habilidade versus 3.302 tokens para o conteudo completo.

Nivel 2 (Conteudo Completo): Quando o agente determina que uma habilidade e relevante, chama read_file() no caminho do SKILL.md da habilidade. Esta e uma chamada de ferramenta normal — o framework nao injeta o corpo; o agente toma uma decisao deliberada de o carregar. O conteudo completo entra no historico de conversacao como resultado de ferramenta.

Nivel 3 (Aprofundamento): Materiais de apoio, documentos de referencia e scripts so sao acedidos quando o agente os le explicitamente.

Eficiencia de Tokens na Pratica

Com 12 habilidades, a divulgacao progressiva reduz o contexto de aproximadamente 30.000 tokens (tudo carregado) para cerca de 600 tokens (apenas indice), expandindo para 2.000-5.000 quando habilidades relevantes sao carregadas para uma tarefa especifica. Isso representa uma reducao potencial de 83-98% no consumo de tokens relacionados a habilidades.

Multiplas fontes de habilidades podem ser sobrepostas, e quando nomes colidem, a ultima fonte prevalece. Ficheiros com mais de 10 MB sao automaticamente ignorados.

A Diferenca Chave do Claude Code

Enquanto o Claude Code usa uma ferramenta Skill dedicada para acionar o carregamento, o Deep Agents reutiliza a ferramenta read_file existente do agente. Isso significa que o mecanismo de carregamento e transparente — o agente le ficheiros de habilidades da mesma forma que le qualquer outro ficheiro. A desvantagem e que nao ha comportamento especial de compactacao: o conteudo de habilidades que entra no historico de conversacao esta sujeito ao corte padrao de mensagens do LangChain, sem tratamento prioritario.

OpenAI Responses API e Agents SDK: Carregamento Diferido Gerido pela Plataforma

OpenAI deferred tool loading: three deferral strategies with platform-managed tool_search

A OpenAI implementa a injecao de habilidades atraves de dois mecanismos distintos mas filosoficamente alinhados: o tipo de ferramenta tool_search da Responses API e o ToolSearchTool do Agents SDK.

O tipo de ferramenta tool_search (disponivel no GPT-5.4+) permite aos programadores diferir grandes superficies de ferramentas ate o tempo de execucao. Tres estrategias de diferimento estao disponiveis:

  • Diferimento de funcao individual: @function_tool(defer_loading=True) — o modelo ve o nome e a descricao da funcao, mas o schema de parametros e diferido. Economiza tokens ao nivel dos parametros.
  • Diferimento de namespace: tool_namespace(name=..., description=..., tools=[...]) — agrupa funcoes sob um unico namespace. O modelo ve apenas o nome e a descricao do namespace, economizando significativamente mais tokens.
  • Diferimento de servidor MCP: HostedMCPTool(tool_config={..., "defer_loading": True}) — difere superficies inteiras de ferramentas de servidores MCP.

Quando o modelo determina que precisa de uma ferramenta especifica, emite uma chamada tool_search. A API retorna 3-5 definicoes de ferramentas relevantes, injetadas no final da janela de contexto para preservar o cache de prompt.

Agents SDK: ToolSearchTool

O Agents SDK fornece um equivalente programatico. Os namespaces de ferramentas sao registados mas nao carregados:

crm_tools = tool_namespace(
    name="crm",
    description="CRM management tools",
    tools=[...]
)
agent = Agent(tools=[*crm_tools, ToolSearchTool()])

Em tempo de execucao, o agente ve apenas nomes de namespaces. Chama ToolSearchTool("crm") para descobrir e carregar os schemas completos, e depois pode chamar ferramentas individuais dentro desse namespace.

Sem Persistencia Entre Pedidos

Cada pedido de API e independente. Ferramentas descobertas nao persistem entre chamadas. Esta e a abordagem mais stateless da nossa comparacao — limpa, previsivel, mas exigindo redescoberta em cada pedido se as ferramentas mudarem.

AutoGen Teachability: Recuperacao Semantica por Turno

AutoGen Teachability per-turn retrieval loop: message intercept, ChromaDB query, memo injection, learning loop

A capacidade Teachability do AutoGen adota uma abordagem fundamentalmente diferente de todos os outros frameworks nesta comparacao. Em vez de injetar conteudo estatico de habilidades, recupera dinamicamente “memos” relevantes de uma base de dados vetorial ChromaDB em cada turno.

O Ciclo de Recuperacao por Turno

O Teachability regista um hook em process_last_received_message que interceta cada mensagem recebida do utilizador antes do agente a processar:

  1. Um TextAnalyzerAgent extrai conceitos-chave da mensagem recebida
  2. Esses conceitos sao usados para consultar o ChromaDB (usando embeddings do Sentence Transformer por defeito)
  3. Os K memos mais relevantes sao recuperados (configuravel via max_num_retrievals, predefinido 10)
  4. Os memos recuperados sao adicionados ao texto da mensagem antes do agente a ver

Criticamente, a mensagem modificada nao se propaga para o historico de conversacao armazenado — apenas a mensagem original e armazenada. Isso impede que o conteudo dos memos se acumule entre turnos.

Ciclo de Aprendizagem

Apos o LLM responder, um segundo hook analisa a resposta em busca de novos conhecimentos:

  1. O TextAnalyzerAgent identifica novo conhecimento na resposta
  2. Novos memos sao extraidos como pares chave-valor (texto de entrada -> texto de saida)
  3. Esses memos sao armazenados no ChromaDB, disponiveis para futuros turnos e sessoes

Isso cria um genuino ciclo de aprendizagem onde o agente acumula especializacao ao longo do tempo.

Persistencia Entre Sessoes

O AutoGen Teachability e uma das apenas tres plataformas na nossa comparacao (juntamente com Voyager e DSPy) que persiste habilidades entre sessoes. A base de dados ChromaDB reside no disco, o que significa que um agente pode aprender com interacoes na segunda-feira e aplicar esse conhecimento na sexta-feira.

O parametro recall_threshold (predefinido 1.5) controla quao similar uma mensagem deve ser a um memo armazenado para recuperacao, e reset_db pode limpar toda a memoria quando necessario.

Eficiencia de Tokens

Como apenas memos relevantes sao injetados por turno (tipicamente 3-5), o custo de tokens e naturalmente limitado independentemente do tamanho da base de dados de memos. Um agente com 10.000 memos armazenados ainda paga apenas pelos poucos mais relevantes para o turno atual.

Semantic Kernel: Schemas de Plugins como Definicoes de Ferramentas Sempre Presentes

Semantic Kernel two injection paths: function calling with all schemas always present and prompt template rendering

O Semantic Kernel da Microsoft adota uma abordagem direta: plugins sao colecoes de objetos KernelFunction registados no Kernel, e os seus schemas sao expostos ao LLM como definicoes de ferramentas de chamada de funcao.

Dois Caminhos de Injecao

Chamada de Funcao: Quando ToolCallBehavior.AutoInvokeKernelFunctions esta definido, todas as funcoes registadas sao enviadas ao LLM como ferramentas disponiveis em cada pedido da API. O LLM decide quais chamar; o Semantic Kernel gere a invocacao e o encaminhamento de resultados.

Templates de Prompt: A sintaxe de template do Semantic Kernel ({{plugin.function}}, Handlebars ou Liquid) permite que funcoes sejam chamadas inline durante a renderizacao do prompt. Os resultados sao incorporados diretamente no texto do prompt antes de chegar ao LLM — uma forma de avaliacao antecipada em vez de chamada de ferramenta sob demanda.

Sem Divulgacao Progressiva

Cada schema de plugin registado e incluido em cada chamada da API. Nao ha carregamento diferido integrado, agrupamento por namespace ou ativacao sob demanda. A documentacao recomenda explicitamente importar apenas os plugins necessarios para um cenario especifico para reduzir o consumo de tokens e chamadas incorretas.

Isso torna o Semantic Kernel uma das plataformas mais previsiveis — sabe-se sempre exatamente ao que o agente tem acesso — mas limita a escalabilidade. Um agente com 50 funcoes registadas paga o custo total do schema em cada chamada.

Persistencia

O registo de plugins e por instancia do Kernel e em memoria. Nao ha mecanismo integrado para persistencia de habilidades entre sessoes.

MetaGPT: Templates de Acao Dentro de SOPs Baseados em Roles

MetaGPT role-based SOP: Role with persona, react mode selection, active Action template, aask() LLM call

O MetaGPT codifica habilidades nao como pacotes autonomos, mas como templates de acao incorporados em Procedimentos Operacionais Padrao (SOPs) que governam o comportamento dos roles.

Arquitetura de Role e Action

Cada Role no MetaGPT tem um prefixo de persona injetado nos prompts e um conjunto de classes Action. Cada Action contem um proxy LLM invocado via aask(), que usa templates de prompt em linguagem natural para estruturar a chamada ao LLM.

Quando Role._act() e acionado, suporta tres modos de reacao:

  • "react": O LLM seleciona acoes dinamicamente em ciclos pensar-agir
  • "by_order": Acoes executam sequencialmente numa ordem predeterminada
  • "plan_and_act": O agente planeia primeiro, depois executa acoes de acordo com o plano

Janela de Injecao Estreita

Apenas o template de prompt da Action atual esta ativo em qualquer momento. O agente nao ve templates de outras acoes — ve apenas o prefixo do seu role mais o contexto da acao especifica. Esta e a janela de injecao mais estreita de qualquer framework que examinamos.

Funcoes de analise de contexto dentro das classes Action extraem informacao relevante das entradas, para que cada acao receba um subconjunto curado do contexto disponivel em vez do historico completo de conversacao.

Persistencia de Turno Unico

O template e renderizado de novo para cada execucao de acao. Nao ha acumulacao ou persistencia entre sessoes. Isso mantem cada acao focada, mas significa que o agente nao pode construir sobre conteudo de habilidades previamente carregado dentro de um unico fluxo de trabalho.

Voyager: Recuperacao de Habilidades Baseada em Embeddings para Aprendizagem Vitalicia

Voyager skill library: curriculum proposes task, embedding search retrieves top-5 skills, code generation with lifelong learning loop

O Voyager, o agente de exploracao de Minecraft da NVIDIA e Caltech, implementa uma das arquiteturas de injecao de habilidades mais elegantes: uma biblioteca crescente de programas verificados recuperados por similaridade de embedding.

A Biblioteca de Habilidades

Quando o Voyager escreve codigo que passa na auto-verificacao (o JavaScript Mineflayer gerado realmente funciona no jogo), o codigo e a sua string de documentacao sao armazenados numa base de dados vetorial. O embedding da docstring torna-se a chave de recuperacao.

Recuperacao por Tarefa

Em cada nova tarefa proposta pelo curriculo automatico:

  1. A descricao da tarefa e o feedback do ambiente sao convertidos em embeddings
  2. Pesquisa por similaridade de cosseno contra todos os embeddings de habilidades armazenados
  3. As 5 habilidades mais relevantes sao recuperadas
  4. O codigo das habilidades recuperadas e incluido no prompt do agente de acao como exemplos few-shot

O prompt fica assim:

You are a Minecraft bot. Here are some relevant skills you've learned:

// Skill: mineWoodLog
async function mineWoodLog(bot) { ... }

// Skill: craftPlanks
async function craftPlanks(bot) { ... }

Now write code to: build a wooden pickaxe

O codigo gerado pode chamar habilidades recuperadas pelo nome, permitindo a construcao composicional de habilidades — comportamentos complexos construidos a partir de primitivas mais simples e verificadas.

Persistencia Vitalicia

A biblioteca de habilidades e o mecanismo central de “aprendizagem vitalicia”. Ela cresce ao longo de toda a vida do agente, e novas habilidades constroem sobre as anteriores. Ao contrario da maioria dos frameworks onde as habilidades sao criadas por humanos, as habilidades do Voyager sao geradas, verificadas e armazenadas pelo proprio agente.

O custo de tokens e naturalmente limitado: independentemente de a biblioteca conter 50 ou 5.000 habilidades, cada tarefa paga apenas pelas 5 recuperacoes mais relevantes.

DSPy: Exemplos Few-Shot Compilados como Habilidades Congeladas

DSPy compilation: BootstrapFewShot and MIPROv2 optimizers compile frozen few-shot demos into Predict module prompts

O DSPy adota uma abordagem radicalmente diferente de todos os outros frameworks. Em vez de injetar habilidades em tempo de execucao, o DSPy compila demonstracoes few-shot otimas offline e incorpora-as permanentemente nos prompts dos modulos.

O Processo de Compilacao

Dois otimizadores principais gerem a compilacao:

BootstrapFewShot: Usa um modulo professor para gerar tracos atraves do programa. Tracos que passam numa metrica definida pelo utilizador sao mantidos como demonstracoes. Cada modulo dspy.Predict dentro do programa recebe o seu proprio conjunto curado de demonstracoes.

MIPROv2 (Multi-prompt Instruction Proposal Optimizer v2): Um processo de tres fases:

  1. Bootstrap: Gerar conjuntos candidatos de demonstracoes
  2. Propor: Gerar textos de instrucoes candidatos que estao cientes tanto da distribuicao de dados quanto das demonstracoes
  3. Pesquisa: Otimizacao bayesiana sobre o espaco combinado de instrucoes x demonstracoes em todos os modulos

Parametros como max_bootstrapped_demos (exemplos gerados) e max_labeled_demos (de dados de treino) controlam quantos exemplos acabam no prompt de cada modulo.

Fixo Apos Compilacao

Uma vez compiladas, as demonstracoes sao armazenadas no atributo demos de cada modulo Predict e formatadas no prompt em cada chamada ao LLM. Nao mudam em tempo de execucao — a “habilidade” esta congelada.

Isso significa que as habilidades do DSPy sao as mais previsiveis na nossa comparacao: o custo de tokens e conhecido apos compilacao, nao ha variancia entre turnos, e o agente ve sempre as mesmas demonstracoes. A desvantagem e a inflexibilidade — para mudar habilidades, e necessario recompilar.

Persistencia

Programas compilados serializam para JSON, incluindo todas as demonstracoes. Sao totalmente persistentes e carregaveis entre sessoes, tornando o DSPy um dos mecanismos de armazenamento de habilidades mais duraveis.

SuperAGI: Registo Antecipado Baseado em Toolkit

SuperAGI and CAMEL-AI upfront toolkit registration: all tool schemas loaded at agent initialization

O SuperAGI usa um padrao tradicional de toolkit onde todas as ferramentas sao registadas na inicializacao do agente.

Cada toolkit estende BaseToolkit com:

  • Atributos name e description
  • Metodo get_tools() retornando uma lista de instancias BaseTool
  • get_env_keys() para variaveis de ambiente necessarias

Os toolkits sao instalados a partir de repositorios GitHub atraves do gestor de ferramentas do SuperAGI. Na inicializacao do agente, BaseToolkit.get_tools() retorna todas as ferramentas, e os seus schemas completos sao expostos ao LLM como definicoes de chamada de funcao.

Nao ha carregamento diferido, nao ha divulgacao progressiva e nao ha filtragem por turno. Cada schema de ferramenta registada esta presente em cada chamada. Este e o modelo de injecao mais simples e funciona bem para agentes com conjuntos de ferramentas focados e pequenos, mas nao escala para agentes que precisam de dezenas de capacidades.

CAMEL-AI: Registo de Ferramentas do ChatAgent

O CAMEL-AI segue um padrao semelhante de registo antecipado. Ferramentas de varios toolkits (por exemplo, MathToolkit, SearchToolkit) sao passadas como uma lista para ChatAgent(tools=[...]) na inicializacao.

O framework enfatiza que funcoes personalizadas precisam de nomes de argumentos claros e docstrings abrangentes para que o modelo possa entender o uso — o schema da ferramenta e o unico conteudo de “habilidade” que o modelo ve. Nao ha mecanismo separado de injecao de instrucoes.

Adicoes recentes incluem suporte MCP (Model Context Protocol) via MCPToolkit, permitindo que o ChatAgent se conecte a servidores MCP e registe ferramentas externas. Isso expande a superficie de ferramentas disponivel, mas nao muda o modelo de injecao — todas as ferramentas MCP descobertas sao registadas antecipadamente.

Comparacao Entre Plataformas

Quando as Habilidades Sao Injetadas

MomentoPlataformasO Que e Injetado
Sempre presente (inicio da sessao)Claude Code, CrewAI, Deep Agents, Semantic Kernel, SuperAGI, CAMEL-AI, DSPyMetadados (nome + descricao) ou schemas completos
Na ativacao (acionado pelo utilizador ou agente)Claude Code, Deep Agents, OpenAICorpo completo da habilidade
Cada tarefa/turnoCrewAI, AutoGen TeachabilityCorpo completo (CrewAI) ou memos recuperados (AutoGen)
Na selecao do LLMSemantic Kernel, MetaGPTConteudo do template de prompt
Na correspondencia por similaridadeVoyager, AutoGen TeachabilityCodigo ou memos recuperados
Compilado/fixoDSPyExemplos few-shot otimizados

Modelos de Persistencia

PersistenciaPlataformasMecanismo
Turno unico apenasMetaGPT, VoyagerTemplate renderizado por acao / por geracao
Dentro da sessaoClaude Code, Deep Agents, OpenAI, Semantic KernelCorpo permanece no historico de mensagens
Reinjetado a cada tarefaCrewAI, SuperAGI, CAMEL-AIAdicionado de novo em cada execucao de tarefa
Entre sessoes (armazenamento persistente)AutoGen Teachability, Voyager, DSPyBase de dados vetorial / modulos compilados / biblioteca de habilidades

Sobrevivencia a Compactacao de Contexto

PlataformaO Que Acontece Quando o Contexto Fica Cheio
Claude CodeReanexa as habilidades mais recentes (5K tokens cada, limite de 25K). Habilidades mais antigas sao descartadas
CrewAIN/A — injetado de novo por tarefa, sem acumulacao
Deep AgentsCorpo no historico de conversacao, sujeito ao corte padrao do LangChain
OpenAIN/A — cada chamada de API e independente
AutoGenApenas memos relevantes recuperados por turno, naturalmente limitado
VoyagerApenas top-K habilidades recuperadas por tarefa, naturalmente limitado

O Padrao de Divulgacao Progressiva

A tendencia arquitetonica mais significativa em todas estas plataformas e a adocao da divulgacao progressiva — um conceito emprestado do design de interfaces onde a informacao e revelada incrementalmente com base na necessidade.

Por Que a Divulgacao Progressiva Importa

Uma abordagem ingenua a injecao de habilidades — carregar tudo antecipadamente — cria dois problemas:

  1. Desperdicio de tokens: A maioria das habilidades nao e relevante para a maioria dos turnos. Carregar 20 corpos completos de habilidades quando apenas 1-2 sao necessarios por turno desperica mais de 90% dos tokens relacionados a habilidades.
  2. Diluicao de atencao: Investigacao sobre degradacao de contexto mostra que os LLMs desempenham pior quando o seu contexto contem grandes quantidades de informacao irrelevante. Mais habilidades no contexto podem realmente reduzir a qualidade da aplicacao de habilidades.

A divulgacao progressiva resolve ambos os problemas mantendo um indice leve de habilidades disponiveis enquanto carrega o conteudo completo apenas quando necessario.

Variacoes de Implementacao

O Claude Code usa um sistema dedicado: metadados de habilidades em mensagens system-reminder, uma ferramenta Skill para ativacao e ToolSearch para schemas de ferramentas diferidos. O framework gere a injecao automaticamente com compactacao baseada em prioridade.

O LangChain Deep Agents usa a capacidade existente de leitura de ficheiros do agente: o SkillsMiddleware injeta o indice, e o agente carrega o conteudo completo via read_file(). Isso e mais transparente mas oferece menos otimizacao ao nivel do framework.

A OpenAI Responses API usa agrupamento baseado em namespaces com pesquisa gerida pela plataforma: os namespaces de ferramentas fornecem descricoes de alto nivel, e o tool_search retorna schemas relevantes. A plataforma gere toda a logica de pesquisa.

Poupanca de Tokens na Pratica

Os numeros sao convincentes. Com 12 habilidades:

  • Injecao sempre ativa (estilo CrewAI/SuperAGI): ~30.000 tokens
  • Apenas indice de divulgacao progressiva: ~600 tokens
  • Indice + 2 habilidades ativadas: ~2.000-5.000 tokens

Isso representa uma reducao de 83-98% no consumo de tokens relacionados a habilidades por turno. Ao longo de uma sessao longa com centenas de turnos, a poupanca acumula-se dramaticamente.

Padroes Arquitetonicos e Compromissos

Olhando para todas as 11 plataformas, quatro padroes arquitetonicos distintos emergem:

Padrao 1: Injecao Sempre Ativa

Usado por: CrewAI, SuperAGI, CAMEL-AI, Semantic Kernel

Como funciona: O conteudo completo das habilidades ou schemas de ferramentas esta presente em cada chamada ao LLM.

Vantagens:

  • Fiabilidade maxima — o agente tem sempre a especializacao completa disponivel
  • Implementacao mais simples — nao e necessaria logica de ativacao
  • Custos de tokens previsiveis — iguais em cada turno

Desvantagens:

  • O custo de tokens escala linearmente com o numero de habilidades
  • Diluicao de atencao com muitas habilidades
  • Nao escala alem de ~5-10 habilidades por agente

Melhor para: Agentes focados com 1-3 habilidades principais que sao sempre relevantes.

Padrao 2: Divulgacao Progressiva

Usado por: Claude Code, LangChain Deep Agents, OpenAI Responses API/Agents SDK

Como funciona: Metadados leves sempre presentes; conteudo completo carregado sob demanda.

Vantagens:

  • Escala para dezenas ou centenas de habilidades disponiveis
  • Custo minimo de tokens quando as habilidades nao sao necessarias
  • Preserva o cache de prompt quando schemas completos sao adicionados no final

Desvantagens:

  • O agente pode perder a indicacao para ativar uma habilidade relevante
  • Latencia adicional do passo de ativacao
  • Implementacao do framework mais complexa

Melhor para: Agentes de proposito geral que precisam de acesso a muitas capacidades mas usam apenas algumas por tarefa.

Padrao 3: Recuperacao Semantica

Usado por: AutoGen Teachability, Voyager

Como funciona: Consultas a bases de dados vetoriais apresentam habilidades/conhecimentos relevantes com base na similaridade semantica com o contexto atual.

Vantagens:

  • Custo de tokens naturalmente limitado independentemente do tamanho da biblioteca
  • A relevancia do conteudo melhora ao longo do tempo a medida que a biblioteca cresce
  • Aprendizagem e acumulacao entre sessoes
  • Nao e necessaria ativacao explicita — a relevancia e calculada automaticamente

Desvantagens:

  • A qualidade da recuperacao depende da qualidade do modelo de embedding
  • Risco de recuperar informacao desatualizada ou subtilmente incorreta
  • Requer infraestrutura de base de dados vetorial
  • Menos previsivel — turnos diferentes carregam conteudo diferente

Melhor para: Agentes que aprendem com a experiencia e precisam de acumular conhecimento de dominio ao longo do tempo.

Padrao 4: Injecao Compilada/Estatica

Usado por: DSPy, MetaGPT

Como funciona: As habilidades sao compiladas em conteudo fixo de prompt (DSPy) ou ativadas atraves de templates de acao rigidos (MetaGPT).

Vantagens:

  • Comportamento mais previsivel — mesmo conteudo sempre
  • A otimizacao pode ser feita offline (compilacao do DSPy)
  • Sem sobrecarga em tempo de execucao para selecao de habilidades
  • Eficacia comprovada para tarefas bem definidas e repetitivas

Desvantagens:

  • Inflexivel — mudar habilidades requer recompilacao (DSPy) ou alteracoes de codigo (MetaGPT)
  • Nao consegue adaptar-se a situacoes novas fora dos exemplos compilados
  • O processo de compilacao do DSPy em si requer muitas chamadas ao LLM

Melhor para: Pipelines de producao com tarefas bem definidas onde a fiabilidade supera a flexibilidade.

Implicacoes Praticas para Construtores de Agentes

Escolher o Padrao Certo

A arquitetura de injecao de habilidades certa depende do perfil do seu agente:

Se o seu agente tem um papel restrito e bem definido (por exemplo, um bot de revisao de codigo, um agente de suporte ao cliente para um produto), a injecao sempre ativa (padrao CrewAI/SuperAGI) e a mais simples e fiavel. O custo de tokens de 2-3 habilidades sempre presentes e gerivel, e evita-se a complexidade da logica de ativacao.

Se o seu agente precisa de capacidades amplas mas usa apenas algumas por interacao (por exemplo, um assistente de programacao, um agente de automacao de proposito geral), a divulgacao progressiva (padrao Claude Code/Deep Agents) e a vencedora clara. A poupanca de 83-98% de tokens em escala e demasiado significativa para ignorar.

Se o seu agente precisa de aprender e melhorar com interacoes (por exemplo, um assistente pessoal, um especialista de dominio que acumula conhecimento), a recuperacao semantica (padrao AutoGen Teachability) fornece o ciclo de aprendizagem que outros padroes nao tem. Apenas garanta que tem controlos de qualidade sobre o que entra na base de conhecimento.

Se o seu agente executa pipelines bem definidos (por exemplo, processamento de dados, geracao de relatorios, fluxos de trabalho padronizados), a injecao compilada (padrao DSPy) oferece o comportamento mais previsivel e otimizado.

A Abordagem Hibrida

Para equipas de agentes de producao onde os agentes precisam de funcionar logo a partida, recomendamos uma abordagem hibrida:

Habilidades principais (1-2 por agente, definindo a sua especializacao primaria de dominio): sempre injetadas no prompt do sistema, estilo CrewAI. Estas sao capacidades inegociaveis que o agente precisa em cada turno.

Habilidades estendidas (capacidades adicionais que o agente pode precisar): apenas metadados no prompt do sistema, carregadas via mecanismo de pesquisa/carregamento quando necessario, estilo Deep Agents. Estas expandem o conjunto de capacidades do agente sem pagar o custo de tokens quando nao sao relevantes.

Conhecimento aprendido (especializacao de dominio acumulada): armazenado numa base de dados vetorial e recuperado semanticamente por turno, estilo AutoGen. Isso permite que o agente melhore ao longo do tempo sem criacao manual de habilidades.

Esta arquitetura em camadas mapeia-se naturalmente a forma como um prompt do sistema e construido: data -> persona -> instrucoes do sistema -> habilidades principais -> indice de habilidades -> contexto de role/equipa. As habilidades principais e o indice adicionam um custo de tokens previsivel e gerivel, enquanto os corpos completos das habilidades so aparecem quando necessario.

Melhores Praticas de Orcamento de Tokens Entre Frameworks

Independentemente do padrao de injecao que use, estas estrategias de gestao de tokens aplicam-se universalmente:

Ordenacao Compativel com Cache

Empilhe contexto que nao muda (instrucoes do sistema, schemas de ferramentas) no inicio do prompt. Em fornecedores que suportam cache de prompt, tokens em cache custam 75% menos. Tanto o Claude Code como a OpenAI injetam schemas de ferramentas descobertos no final do contexto especificamente para preservar hits de cache no prefixo estatico.

Descarregamento

Resuma respostas de ferramentas em vez de manter resultados completos no contexto. Armazene os dados completos em referencias externas que o agente pode ler sob demanda. Isso e especialmente importante para agentes que fazem muitas chamadas de ferramentas por sessao.

Reducao

Compacte o historico de conversacao atraves de sumarizacao. Extraia factos-chave de trocas longas em representacoes condensadas. Todo framework com persistencia baseada em sessao beneficia de gestao agressiva do historico.

Recuperacao em Vez de Pre-Carregamento

Obtenha informacao relevante dinamicamente em tempo de execucao em vez de carregar tudo antecipadamente. Isso aplica-se a habilidades, bases de conhecimento e ate historico de conversacao. Estudos mostram que isso pode reduzir o tamanho dos prompts em ate 70%.

Isolamento

Use sub-agentes para tarefas especificas para que o contexto de cada agente se mantenha focado. Em vez de dar a um agente 20 habilidades, crie uma equipa de 5 agentes com 4 habilidades cada. Cada agente mantem uma janela de contexto enxuta, e a equipa coletivamente cobre o conjunto completo de capacidades.

Conclusao

A forma como os frameworks de agentes de IA injetam habilidades no contexto e uma das decisoes arquitetonicas mais consequentes no design de agentes — no entanto e raramente discutida com este nivel de detalhe.

O campo esta claramente a convergir para a divulgacao progressiva como o padrao preferido para agentes de proposito geral, com Claude Code, LangChain Deep Agents e OpenAI a chegarem independentemente a arquiteturas de tres niveis semelhantes. Entretanto, padroes especializados como recuperacao semantica (AutoGen, Voyager) e injecao compilada (DSPy) servem nichos importantes que a divulgacao progressiva por si so nao aborda.

Para profissionais que constroem sistemas de agentes hoje, a percepcao-chave e que a injecao de habilidades nao e um problema de solucao unica. A abordagem certa depende do papel do seu agente, do numero de habilidades que precisa, se precisa de aprender ao longo do tempo, e da sua tolerancia para compromissos entre custos de tokens e fiabilidade.

Os sistemas de producao mais robustos provavelmente combinarao multiplos padroes — sempre ativo para capacidades principais, divulgacao progressiva para habilidades estendidas e recuperacao semantica para conhecimento acumulado — criando agentes que sao simultaneamente eficientes e especializados.

Perguntas frequentes

Yasha é um talentoso desenvolvedor de software especializado em Python, Java e aprendizado de máquina. Yasha escreve artigos técnicos sobre IA, engenharia de prompts e desenvolvimento de chatbots.

Yasha Boroumand
Yasha Boroumand
CTO, FlowHunt

Construa Agentes de IA Mais Inteligentes com o FlowHunt

Projete equipas de agentes de IA com injecao inteligente de habilidades e gestao de contexto. Sem necessidade de codigo.

Saiba mais

Agentes de IA: Como o GPT 4o Pensa
Agentes de IA: Como o GPT 4o Pensa

Agentes de IA: Como o GPT 4o Pensa

Explore os processos de pensamento dos Agentes de IA nesta avaliação abrangente do GPT-4o. Descubra como ele se sai em tarefas como geração de conteúdo, resoluç...

9 min de leitura
AI GPT-4o +6