Trabalhando com Agentes de Múltiplas Etapas

Agentes de IA com Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agentes de IA com Hugging Face smolagents

Exemplo: Assistente de Viagem

Agentes de IA com Hugging Face smolagents

Intervalos de Planejamento: Ajudando Agentes a Repensar

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    planning_interval=3,
    max_steps=12
)
  • planning_interval=3: Agente pausa a cada 3 etapas.
Agentes de IA com Hugging Face smolagents

Execução do Agente com Intervalos de Planejamento

"Planeje uma viagem de 2 semanas para a Europa com locais históricos para adultos e atividades divertidas para crianças, gastando menos de $5000."

[Etapa 1] Buscar "hotéis em Paris" -> Encontrou hotéis de luxo (~$4000 total)

[Etapa 2] Buscar "atrações para famílias em Paris" -> Encontrou Torre Eiffel, Louvre, ingressos para parque temático

[Etapa 3] Pausar e repensar (intervalo de planejamento) Hotéis são muito caros -> orçamento estourado. Devo procurar opções mais baratas + atividades para crianças.

[Etapa 4] Buscar "hotéis familiares acessíveis na Europa" -> Encontrou opções de médio porte em várias cidades

Agentes de IA com Hugging Face smolagents

Callbacks: Conectando ao Processo do Agente

Agentes de IA com Hugging Face smolagents

Função de Callback Básica

def callback_function(agent_step, agent):
    # Faça algo com a etapa do agente ou com o próprio agente
    pass
  • agent_step: detalhes sobre a etapa (plano, número da etapa, etc.)
  • agent: o objeto completo do agente (estado + métodos)
Agentes de IA com Hugging Face smolagents

Callbacks de Etapa de Planejamento

def planning_callback(agent_step, agent):
    print("PLANEJAMENTO DO AGENTE")
    print("=" * 50)
    print(agent_step.plan[:300])
    if len(agent_step.plan) > 300:
        print("\n... (plano truncado)")
    print("=" * 50)
PLANEJAMENTO DO AGENTE
==================================================
Buscar hotéis acessíveis + atividades para crianças
Depois criar itinerário balanceado...
... (plano truncado)
==================================================
Agentes de IA com Hugging Face smolagents

Callbacks de Etapa de Ação

def action_callback(agent_step, agent):
    step_num = agent_step.step_number
    print(f"Etapa {step_num}: Executando ação")

    if agent_step.is_final_answer:
        total_tokens = agent_step.token_usage.total_tokens
        print(f"Total de tokens usados: {total_tokens}")
Etapa 2: Executando ação!
Etapa 3: Executando ação!
Etapa 4: Executando ação!
Total de tokens usados: 4,218
Agentes de IA com Hugging Face smolagents

Adicionando Callbacks aos Agentes

from smolagents import ActionStep, PlanningStep

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    step_callbacks={PlanningStep: planning_callback, ActionStep: action_callback}
)
Agentes de IA com Hugging Face smolagents

O que Você Pode Fazer com Callbacks?

  • Registrar buscas para entender o que os usuários mais procuram
  • Adicionar pontos de aprovação humana
  • Enviar atualizações de progresso para dashboards ou apps
  • Ajustar o comportamento do agente durante a execução com base no desempenho
  • E mais...
Agentes de IA com Hugging Face smolagents

Vamos praticar!

Agentes de IA com Hugging Face smolagents

Preparing Video For Download...