Skip to content

Aprimoramento de vista IA

O Doggy fornece um sistema de aprimoramento de vista impulsionado por IA que, através de um Agent principal de reconhecimento de intenções + 6 subagentes de cenário, classifica automaticamente as necessidades em linguagem natural e as encaminha para o subagente correspondente, gerando vistas, com suporte para execução de tarefas assíncronas e envio de progresso em tempo real.

Visão geral

O sistema de aprimoramento de vista IA localiza-se em src/Service/AI/Orchestrator/ e é construído sobre o sistema LlmRole/LlmProvider:

Necessidade do utilizador (linguagem natural)
  → IntentAgent (Agent principal de reconhecimento de intenções)
    → FormViewSubAgent   vista de formulário
    → InfoViewSubAgent   vista de apresentação de informação
    → ReportViewSubAgent vista de relatório
    → LandingViewSubAgent vista de página de destino
    → EmailViewSubAgent  vista de email empresarial
    → GeneralViewSubAgent vista genérica

Arquitetura

Agent principal de reconhecimento de intenções

IntentAgent determina através do LLM o tipo de intenção da necessidade do utilizador e encaminha para o subagente correspondente:

php
// src/Service/AI/Orchestrator/IntentAgent.php
class IntentAgent
{
    public function classify(string $userMessage): string
    {
        // Retorna o tipo de intenção: form / info / report / landing / email / general
    }
}

Subagentes de cenário

Cada subagente herda de AbstractViewSubAgent e implementa ViewSubAgentInterface:

SubagenteIntençãoCenário
FormViewSubAgentformpágina de formulário
InfoViewSubAgentinfopágina de apresentação de informação
ReportViewSubAgentreportpágina de relatório/estatísticas
LandingViewSubAgentlandingpágina de destino/marketing
EmailViewSubAgentemailemail empresarial
GeneralViewSubAgentgeneralpágina genérica

Tarefas assíncronas

O aprimoramento de vista é executado de forma assíncrona através do Symfony Messenger, evitando bloquear os pedidos:

php
// src/Message/EnhanceViewMessage.php
class EnhanceViewMessage
{
    public function __construct(
        public readonly string $viewId,
        public readonly string $prompt,
    ) {}
}

Após o processamento do EnhanceViewMessageHandler:

  • Cria um registo AiViewEnhanceTask do estado da tarefa
  • Invoca o subagente para gerar a vista
  • Atualiza AiOperationLog com o registo da operação
  • Envia o progresso da tarefa através do Mercure

Progresso em tempo real

O progresso das tarefas de IA é enviado através de SSE do Mercure, e o frontend subscreve com EventSource:

javascript
const url = new URL('/.well-known/mercure', window.location.origin);
url.searchParams.append('topic', `/user/${userId}/ai-task`);
const eventSource = new EventSource(url);
eventSource.onmessage = (event) => {
    const data = JSON.parse(event.data);
    // Atualiza o progresso da tarefa
};

Modelo de entidades

EntidadeDescrição
AiChatSessionSessão de IA (mantém o contexto entre pedidos)
AiChatMessageMensagem da sessão
AiOperationLogRegisto de operações de IA
AiViewEnhanceTaskEstado das tarefas de aprimoramento de vista

Fluxo de invocação

Utilizador cria/edita vista
  → Insere a necessidade em linguagem natural
  → POST /api/admin/platform/view-ai-task
  → IntentAgent classifica a intenção
  → Encaminha para o subagente
  → Execução assíncrona (EnhanceViewMessage)
  → Gera o ficheiro da vista
  → Mercure envia o progresso

Configuração LLM

Suporta o modo de pensamento profundo e o ajuste de intensidade de raciocínio dos modelos DeepSeek:

bash
# .env
DEEPSEEK_MODEL_ID=deepseek-reasoner
DEEPSEEK_REASONING_EFFORT=medium  # low / medium / high

Integração com o editor de vistas

O componente de aprimoramento IA já está integrado na página de criação de vistas (_ai_enhance_component.html.twig):

  • Edição assistida por IA na criação da vista
  • Operações de aprimoramento na página de detalhes da vista (view_detail.html.twig)
  • Diálogo de confirmação de eliminação de vistas

Ficheiros relacionados

FicheiroResponsabilidade
IntentAgent.phpAgent principal de reconhecimento de intenções
ViewEnhanceAgentOrchestrator.phpOrquestrador de aprimoramento
ViewSubAgentChatRouter.phpRoteamento de conversação dos subagentes
AbstractViewSubAgent.phpClasse base abstrata dos subagentes
EnhanceViewMessage.phpMensagem de tarefa assíncrona
EnhanceViewMessageHandler.phpProcessador de tarefa assíncrona
ViewAiTaskApiController.phpAPI de tarefas de IA
AiViewEnhanceTask.phpEntidade de estado da tarefa

Código aberto sob MIT | Copyright © 2026 Doggy