O que é

AG-UI (Agent–User Interaction Protocol)

AG-UI é um protocolo aberto, leve e orientado a eventos que padroniza a forma como agentes de IA (“agents”) se conectam com aplicações voltadas ao usuário (front-end). (docs.ag-ui.com)

Ele serve como uma “ponte” entre o backend de agentes — ou seja, a lógica de IA, modelos, orquestrações, ferramentas — e o frontend da aplicação com a qual o usuário interage. Isso permite construir funcionalidades com agentes (“agentic features”) de modo confiável, depurável e amigável, sem a necessidade de “fio” ad-hoc para comunicar frontend e backend. (docs.ag-ui.com)

Em vez do tradicional modelo pedido-resposta (request/response) usado em APIs REST ou GraphQL, AG-UI adota um fluxo de eventos em tempo real, o que é adequado para agentes: sessões longas, streaming de respostas, atividades assíncronas, atualizações de estado, chamadas de ferramentas, etc. (docs.ag-ui.com)

Boa integação com o CopilotKit

Principais características / capacidades

  • Comunicação em tempo real por eventos — comunicação via JSON events sobre HTTP/SSE, WebSockets, webhooks ou outros transportes suportados. (copilotkit.ai)
  • Streaming de texto / resposta token a token — suporte a geração parcial contínua (“streaming”) de mensagens do agente, útil para UIs responsivas como chats. (Medium)
  • Sincronização de estado compartilhado (shared state) — o “estado” pode ser mantido entre o agente e a aplicação, com diffs event-sourced (patches incrementais), permitindo colaboração, edição, cancelamento, etc. (docs.ag-ui.com)
  • Chamadas de ferramentas (tool calls) e renderização de resultados no frontend — o agente pode solicitar que o frontend execute ações (por exemplo chamadas a APIs, execução de ferramentas, interação do usuário), e receber de volta resultados estruturados. (docs.ag-ui.com)
  • Suporte a multimodalidade (arquivos, imagens, áudio, etc.) — não só texto, mas anexos tipados, mídia e dados estruturados como parte da comunicação. (docs.ag-ui.com)
  • Interrupções, loops com intervenção humana (human-in-the-loop) — permite pausar, aprovar, editar, retomar ou cancelar fluxos de agente durante sua execução sem perder o contexto. (docs.ag-ui.com)
  • Independência de framework (framework-agnostic) — AG-UI não prende o agente ou frontend a uma biblioteca ou framework específico: pode ser usado com vários backends, clientes e linguagens. (Medium)

Links úteis