Skip to content

Mejora de vistas IA ​

Doggy ofrece un sistema de mejora de vistas impulsado por IA que, mediante un Agente principal de reconocimiento de intenciones + 6 sub-agentes de escenario, clasifica automáticamente las necesidades expresadas en lenguaje natural y las enruta al sub-agente correspondiente para generar la vista, con soporte para ejecución de tareas asíncronas y envío de progreso en tiempo real.

Descripción general ​

El sistema de mejora de vistas IA se encuentra en src/Service/AI/Orchestrator/, construido sobre la base del sistema LlmRole/LlmProvider:

Necesidad del usuario (lenguaje natural)
  → IntentAgent (Agente principal de reconocimiento de intenciones)
    → FormViewSubAgent    Vista de formulario
    → InfoViewSubAgent    Vista de presentación de información
    → ReportViewSubAgent  Vista de informes
    → LandingViewSubAgent Vista de página de aterrizaje
    → EmailViewSubAgent   Vista de correo comercial
    → GeneralViewSubAgent Vista genérica

Arquitectura ​

Agente principal de reconocimiento de intenciones ​

IntentAgent determina mediante LLM el tipo de intención de la necesidad del usuario y enruta al sub-agente correspondiente:

php
// src/Service/AI/Orchestrator/IntentAgent.php
class IntentAgent
{
    public function classify(string $userMessage): string
    {
        // Devuelve el tipo de intención: form / info / report / landing / email / general
    }
}

Sub-agentes de escenario ​

Cada sub-agente hereda de AbstractViewSubAgent e implementa ViewSubAgentInterface:

Sub-agenteIntenciónEscenario
FormViewSubAgentformPágina de formulario
InfoViewSubAgentinfoPágina de presentación de información
ReportViewSubAgentreportPágina de informes/estadísticas
LandingViewSubAgentlandingPágina de aterrizaje/marketing
EmailViewSubAgentemailCorreo comercial
GeneralViewSubAgentgeneralPágina genérica

Tareas asíncronas ​

La mejora de vistas se ejecuta de forma asíncrona mediante Symfony Messenger para no bloquear las peticiones:

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

Después del procesamiento por EnhanceViewMessageHandler:

  • Se crea un registro AiViewEnhanceTask con el estado de la tarea
  • Se llama al sub-agente para generar la vista
  • Se actualiza AiOperationLog registrando la operación
  • Se envía el progreso de la tarea mediante Mercure

Progreso en tiempo real ​

El progreso de las tareas IA se envía mediante Mercure SSE, y el frontend se suscribe a través de 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);
    // Actualizar el progreso de la tarea
};

Modelos de entidad ​

EntidadDescripción
AiChatSessionSesión de IA (mantiene el contexto entre peticiones)
AiChatMessageMensajes de la sesión
AiOperationLogRegistro de operaciones de IA
AiViewEnhanceTaskEstado de la tarea de mejora de vistas

Flujo de llamada ​

El usuario crea/edita una vista
  → Introduce la necesidad en lenguaje natural
  → POST /api/admin/platform/view-ai-task
  → IntentAgent clasifica la intención
  → Enrutamiento al sub-agente
  → Ejecución asíncrona (EnhanceViewMessage)
  → Generación del archivo de vista
  → Mercure envía el progreso

Configuración de LLM ​

Soporta el modo de pensamiento profundo de los modelos DeepSeek y el ajuste del esfuerzo de razonamiento:

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

Integración con el editor de vistas ​

El componente de mejora IA está integrado en la página de creación de vistas (_ai_enhance_component.html.twig):

  • Asistencia de edición IA al crear vistas
  • Operaciones de mejora en la página de detalle de la vista (view_detail.html.twig)
  • Cuadro de diálogo de confirmación de eliminación de vistas

Archivos relacionados ​

ArchivoResponsabilidad
IntentAgent.phpAgente principal de reconocimiento de intenciones
ViewEnhanceAgentOrchestrator.phpOrquestador de mejora
ViewSubAgentChatRouter.phpEnrutamiento de diálogo de los sub-agentes
AbstractViewSubAgent.phpClase base abstracta de los sub-agentes
EnhanceViewMessage.phpMensaje de tarea asíncrona
EnhanceViewMessageHandler.phpProcesador de tareas asíncronas
ViewAiTaskApiController.phpAPI de tareas IA
AiViewEnhanceTask.phpEntidad de estado de la tarea

Código abierto bajo MIT | Copyright © 2026 Doggy