Saltar al contenido
megapromotingVamos a hablar
Productos World Agent

Interacción visual y agentes Demonstrator de cercetare

Una conversación que puede cambiar lo que ves.

World Agent es un demostrador para la interacción en lenguaje natural con una escena visual. Exploramos la relación entre la conversación, el estado de un objeto y acciones visibles en un entorno 3D.

World Agent: câmpul de intenție, cu o comandă în limbaj natural și candidații de context punctați dedesubt
vision.megapromoting.com · una orden en lenguaje natural y el contexto que el sistema considera adecuado

World Agent

De la información al trabajo hecho.

01

Dices lo que quieres

Una solicitud en lenguaje natural describe el cambio deseado.

02

El sistema interpreta

La solicitud se vincula con las acciones disponibles en el demostrador.

03

La escena responde

El entorno visual se actualiza, y los pasos pueden seguirse.

Dónde resulta útil.

Demostraciones de producto

La exploración de un objeto y sus opciones mediante conversación.

Interfaces 3D

La relación entre las órdenes del usuario y una escena navegable.

Cercetare

Evaluación de un runtime visual antes de las integraciones comerciales.

La escena y el catálogo del demostrador son conceptuales. No presentamos una integración CRM ni un modelo generativo de mundo como conectado en esta versión.

World Agent en detalle

Qué puedes hacer con este proyecto.

World Agent responde a una pregunta de interfaz: ¿qué cambia si, en lugar de pulsar botones, dices lo que quieres y la escena cambia delante de ti? Hablas, y el coche en la escena cambia de color, las llantas, el entorno, el clima, la hora, el ángulo de la cámara, las puertas y el maletero.

Lo interesante no es que entienda la orden, sino que cada cambio deja una huella que dice de dónde vino: del catálogo, de la orden del usuario, de la capa creativa o del sistema. Una capa de niebla en una ruta alpina se etiqueta «simulación visual»; un color de la paleta de cuatro se etiqueta «catálogo». El usuario no tiene que adivinar qué es real y qué es decoración.

Hay tres directorios con nombres parecidos en el disco; dos de ellos — `world-agent-v2` y `world-agent-provenance-atlas` — no son proyectos separados, sino copias de trabajo git del mismo repositorio. La variante real es `world-agent` en la rama `main`, que hoy lleva la reformulación V2 «World Generator» y es idéntica bit a bit a la rama `v2/world-generator`.

01

Compilador de comandos en rumano, local, determinista

Aproximadamente 22 reglas de coincidencia sobre texto rumano traducen una frase en un cambio de estado tipado. «Pon el coche blanco y añade llantas deportivas» activa dos reglas y produce dos eventos distintos. No es un modelo de lenguaje: es código que se ejecuta en el navegador, da el mismo resultado cada vez y se puede leer línea por línea.

02

Voz con retorno a texto

El reconocimiento de voz usa `webkitSpeechRecognition` del navegador, con el idioma fijado en `ro-RO`. Donde la interfaz no existe — o el usuario prefiere el teclado — la barra de comandos sigue funcionando, con las mismas reglas. No enviamos audio a ningún sitio.

03

Escena 3D determinista

Un vehículo construido procedimentalmente a partir de primitivas Three.js (carrocería, cabina de cápsula de cristal, cuatro ruedas con llantas, faros, puertas, maletero), sobre una plataforma con anillo, rejilla y tres luces. Renderizado con tone mapping ACES Filmic, relación de píxeles limitada a 1,75 y parada completa de la animación cuando el sistema solicita menos movimiento.

04

Riel de procedencia

Cada mutación de estado produce un evento con una de cuatro etiquetas: Catalog, User command, Creative layer o System. La etiqueta “Creative layer” se muestra literalmente como “Capa creativa / simulada”. La ficha de oferta aparece con el detalle “Datos ficticios marcados — no es una oferta comercial”.

05

Contrato de runtime para voz y herramientas visuales

Existe un runtime normalizado con ocho herramientas visuales (`visual.inspect`, `visual.highlight`, `visual.move`, `visual.create`, `visual.delete`, `world.query`, `ui.navigate`, `ui.open_panel`) y un registro de eventos con números de revisión del mundo. Una llamada con revisión obsoleta se rechaza con `STALE_REVISION`; una llamada repetida con el mismo `actionId` devuelve el recibo original marcado como repetición. El adaptador de voz informa por sí mismo `NOT_CONNECTED` — el contrato está implementado, el proveedor no está conectado.

06

Registro honesto de motores de mundo

Seis bandas, cada una con su estado declarado: API documentada para integrar, componentes ejecutables abiertos, investigación abierta para evaluar, proveedor por contactar, vista previa de investigación sin API pública, y una banda marcada como bloqueada para la UE donde las licencias examinadas no autorizan el lanzamiento. Genie 3 está explícitamente en la categoría de vista previa de investigación — no integración.

Datos y funcionamiento

Qué entra en el sistema. Qué hay que verificar.

Qué es motor de escena y qué sería un modelo generativo
Aquí está la frontera que se confunde con más frecuencia. World Agent es un motor de escena: los objetos existen de antemano, las acciones permitidas están enumeradas, y el comando elige entre ellas. Un modelo generativo de mundo produciría geometría y dinámica nunca vistas antes, a pedido. Lo segundo no está conectado, y la interfaz lo dice: no existe un modelo de base que genere mundos en esta versión.
El vocabulario es finito, y eso es una propiedad, no una carencia
Una solicitud fuera del vocabulario no desencadena una suposición: el sistema responde que puede controlar el color, las llantas, el entorno, el clima, la cámara, las puertas, el maletero y la ficha demostrativa, y registra un evento «Solicitud no ejecutada — no encontré una acción segura en el vocabulario demo». En una demostración para un cliente, el límite del vocabulario debe ser visible, no ocultado.
Qué es conceptual en la escena
El vehículo y el catálogo son conceptuales — cuatro colores con nombres inventados, dos juegos de llantas, dos interiores. No existe un modelo 3D de un fabricante de automóviles ni derechos para uno. Los precios están indisponibles deliberadamente: la ficha de oferta lleva la etiqueta de datos ficticios.
Qué no está conectado
Sin CRM, sin catálogo del fabricante, sin precio en vivo, sin acciones externas autónomas. Los conectores personales (correo, mensajería) aparecen en la interfaz con la etiqueta NOT CONNECTED. El despliegue sirve un build estático: no tiene estado de servidor, así que tampoco datos de usuario.
El estado persiste solo en la sesión
La configuración «guardada» permanece en la memoria de la página, con procedencia System y el detalle «Estado guardado localmente en demo». Una recarga la pierde. No es una base de datos.

De la exploración a la implementación

Cómo preparamos un proyecto con World Agent.

01

1. Elegimos el objeto y qué debe poder explorar el visitante

Un producto físico configurable, un espacio, una máquina. La pregunta inicial es qué decisión toma el visitante después de ver la escena.

02

2. Enumeramos las acciones permitidas, luego escribimos las reglas

Se parte de la lista de acciones seguras, no de la lista de frases. Cada acción recibe las reglas de lenguaje que la activan, en el idioma del público, y la etiqueta de procedencia correcta.

03

3. Probamos el límite, no el centro

Las solicitudes válidas son la parte fácil. Se prueban las solicitudes ambiguas, las que están fuera del escenario y las que combinan varias acciones, para que la respuesta «no puedo hacer eso, pero sí puedo hacer esto» sea útil.

04

4. Publicamos como build estático

El resultado es un paquete estático servido por nginx en un servidor propio, con certificado Let's Encrypt y posibilidad de volver a la versión anterior mediante el cambio de un enlace simbólico. No necesita un proceso de servidor.

Preguntas que vale la pena aclarar.

¿Cuál de los tres directorios con World Agent es el real?

Solo uno: `world-agent`, en la rama `main`. `world-agent-v2` y `world-agent-provenance-atlas` son copias de trabajo git (`git worktree`) del mismo repositorio, usadas para que existan varias variantes de diseño al mismo tiempo. `main` y `v2/world-generator` están hoy en el mismo commit, así que la «versión V2» no es otro proyecto, es lo que está en ejecución.

¿Es un modelo generativo de mundo, como Genie o Sora?

No. Es un motor de escena: los objetos y las acciones existen antes, y el comando elige entre ellos. Genie 3 aparece en nuestro registro de motores exactamente con su estado real: vista previa de investigación, sin API pública para lanzar, sin pesos publicados. Lo que hacemos nosotros, en cambio, es menos espectacular y más fácil de garantizar: el mismo comando da el mismo resultado, y cada cambio tiene una etiqueta de procedencia.

¿Cómo entiende el comando — usan un modelo de lenguaje?

No, y es una elección. El compilador es un conjunto de aproximadamente 22 reglas de coincidencia sobre texto en rumano, ejecutadas en el navegador, que producen cambios tipificados de estado. La ventaja: es determinista, no cuesta nada por solicitud, no envía el texto a ningún lado y se puede auditar línea por línea. La desventaja: el vocabulario es finito, y cuando una solicitud sale de él el sistema lo dice en lugar de improvisar.

¿Con qué funciona la voz?

Con el reconocimiento de voz del navegador — `webkitSpeechRecognition`, con el idioma fijado en `ro-RO`. Eso significa en la práctica navegadores con motor Chromium. Por lo demás, la barra de texto hace exactamente lo mismo, con las mismas reglas: la voz es una comodidad, no una dependencia.

¿Los precios de la ficha de oferta son reales?

No, y están marcados como tales en el mismo evento que los muestra: «Datos ficticios marcados — no es una oferta comercial». No existe integración con un catálogo de fabricante ni con un sistema de precios. En una implementación para un cliente, la fuente de precios sería su sistema, y la etiqueta de procedencia cambiaría de «Catálogo demo» a la fuente real.

¿Se conecta a nuestro CRM?

No en esta compilación. Los conectores aparecen en la interfaz con la etiqueta NOT CONNECTED, y el contrato de herramientas existe pero el adaptador del proveedor devuelve por sí solo `NOT_CONNECTED`. Sin embargo, ya está escrita la parte difícil: ocho herramientas visuales tipificadas, números de revisión del mundo, rechazo por revisión obsoleta y recibos idempotentes — es decir, exactamente las protecciones que necesitas para que un agente no aplique dos veces la misma acción sobre un estado que ha cambiado mientras tanto.

¿Puede usarse para otra cosa que no sea una máquina?

Sí, con el trabajo de configuración descrito arriba: la escena, la lista de acciones permitidas y las reglas de lenguaje se reescriben para el objeto respectivo. Lo que se reutiliza es la arquitectura — el compilador determinista, el rail de procedencia, el contrato de herramientas y la disciplina de revisión del estado.

Ejemplo ilustrativo

«Llévanos a los Alpes, de noche, con lluvia»

Un escenario de uso, sin datos de cliente ni resultados comerciales atribuidos.

Situación inicial

El visitante pronuncia o escribe la frase en la barra de comandos.

Cómo funciona

El texto pasa por las reglas de coincidencia en rumano: «alpi» activa el entorno alpino, «noapte» cambia la hora, «ploa» activa la capa de lluvia. Cada regla produce un evento separado con su propia etiqueta de procedencia, y la escena Three.js reajusta la cámara, la niebla y el color de fondo en consecuencia.

Rezultatul

La escena cambia de inmediato, y en la rail lateral aparecen tres entradas: «Medio compuesto — Capa creativa / simulada — Ruta alpina», «Tiempo simulado — Capa creativa / simulada — Iluminación nocturna» y «Clima simulado — Capa creativa / simulada — Capa de lluvia activa». El agente responde que ha aplicado 3 cambios y ha conservado la fuente de cada uno. Ninguna entrada afirma que sea un dato real.

Ce este necesar:Un browser cu WebGL. Pentru comandă vocală, un browser pe motor Chromium; altfel bara de text face același lucru.

Posibilidades de colaboración

World Agent, en el contexto de tu organización.

Flujos internos e información

La conexión de las fuentes autorizadas, la organización de la información y la revisión de las acciones por parte del equipo, con acceso separado por roles.

Empresas privadas

Definimos un piloto en torno a un proceso real: usuarios, datos, integraciones, costes y criterios de aceptación. La ampliación sigue después de evaluar el resultado.

Instituciones y empresas públicas

Establecemos los requisitos de accesibilidad, alojamiento, protección de datos e interoperabilidad. Cualquier conexión con servicios AGE o STISC requiere la validación de la elegibilidad, el acceso y las aprobaciones.

Estos son escenarios de adaptación, no declaraciones sobre contratos o colaboraciones existentes. Las funciones propuestas se confirman en el ámbito de trabajo del proyecto.

Habla de un piloto

Parte de un ecosistema.

¿Qué te gustaría que funcionara mejor?

Cuéntanos tu proceso. Juntos decidimos qué merece la pena construir, qué podemos conectar y cómo verificamos el resultado.

Vamos a hablar