Agentes

O que é um Agente

No Infinity Copilot, um agente é uma unidade de raciocínio que usa um LLM com acesso a ferramentas (tools). O handler de uma instância pode delegar parte do processamento a um ou mais agentes, que executam ciclos de raciocínio até chegar a uma resposta final.

Ciclo de Vida

Ciclo de vida de um agente no Infinity Copilot

O ciclo de tool_call → execução → continuação repete até o LLM produzir uma resposta final sem tool calls.

Definição de um Agente

Um agente é definido por:

  • Prompt: template Jinja2 com contexto do usuário e instruções
  • Tools: funções Python ou servidores MCP que o LLM pode invocar
  • Executor: controla o ciclo de raciocínio e o limite de iterações

Conectores Flow

O Infinity Copilot acessa LLMs para agentes via Flow API. Providers suportados para agentes:

ConectorProvider
flow/claudeAnthropic Claude
flow/geminiGoogle Gemini
flow/openaiOpenAI GPT

Integração MCP

Agentes podem se conectar a servidores MCP (Model Context Protocol) para acessar ferramentas externas sem implementação custom. O copilot-core gerencia o ciclo de vida da conexão MCP e expõe as ferramentas para o executor do agente.

Segurança — Guardrails

Diagrama do fluxo de guardrails do Infinity Copilot

Guardrails são verificações aplicadas sobre a entrada do usuário (input guards) e sobre a resposta do LLM (output guards) antes de entregá-la ao canal.

Input Guards

GuardO que detecta
lengthMensagens fora do intervalo de tokens configurado (padrão: 1–512)
jailbreakTentativas de burlar restrições do agente — modo heuristic (regex PT-BR) ou llm
piiDados pessoais: CPF, RG, email, telefone, CEP, CNPJ, cartão de crédito, IP
toxicityInsultos e ameaças em 6 categorias — modo heuristic ou llm
sql_injection14 padrões de SQL injection (SELECT, DROP, UNION, time delays, etc.)

Output Guards

GuardO que detecta
toxicity_filterConteúdo tóxico na resposta do LLM (via LLM ou keyword matching)
compliance_validatorVazamento de dados pessoais na resposta (LGPD) — modo regex ou llm
credential_leakageAPI keys, AWS keys, GitHub tokens, JWT, SSH keys, strings de alta entropia

O fluxo de execução é: input guards → LLM → output guards. Se qualquer guard falhar, um GuardrailsError é lançado e a resposta não é entregue ao usuário.

Autenticação

Diagrama dos mecanismos de autenticação do Infinity Copilot

API Core (HTTP Basic Auth)

O copilot-core protege rotas internas com HTTP Basic Auth usando secrets.compare_digest() para evitar timing attacks.

Backoffice (OAuth)

O backoffice suporta autenticação via OAuth Google e Microsoft SSO através de plugins independentes. Cada plugin registra um provider e a tela de login exibe os botões automaticamente.

Webhook WhatsApp (HMAC-SHA256)

O Infinity valida a autenticidade de cada requisição recebida da Meta via HMAC-SHA256, conforme documentação oficial do Graph API.