Software Engineer

Alexis Alulema

Ingeniero de Software · Builder

Ingeniero de Software con más de 20 años convirtiendo problemas complejos en soluciones escalables — en software, cloud, IA y hardware.

Pruébalo en vivo

Proyectos de IA reales que puedes levantar bajo demanda — cada uno con su propio entorno efímero.

Ver todos los proyectos →
Demo en vivo

Planificador de Viajes (Cadena de Agentes)

Escribe un pedido de viaje y mira cómo una cadena de agentes especializados se pasa el trabajo en tiempo real hasta entregar un itinerario día a día verificado contra tu presupuesto. Un orquestador en LangGraph controla el flujo; un Qwen 2.5 local solo redacta la prosa, mientras las decisiones tipadas y la aritmética resuelven el resto. Si el plan se pasa del presupuesto, un agente de resolución de conflictos lo renegocia sin intervención humana. LLM local (Qwen 2.5 vía Ollama), sin API keys; datos en vivo de clima, lugares y tipo de cambio desde fuentes abiertas.

PythonFastAPILangGraph
Probar el demo en vivo →
Demo en vivo

Agentic Racing

Seis autos idénticos corren un circuito cerrado en el navegador. Cada auto es un agente de dos capas: un piloto que conduce cada frame, y un jefe de equipo LLM independiente que lee la telemetría en vivo y radía una estrategia — atacar, defender, conservar — al estilo de la radio de equipo en F1, en pantalla. La carrera nunca espera al modelo: una heurística fija toma el control apenas está lento, apagado, o responde un JSON inválido. Totalmente autohospedado: un llama3.2:3b local detrás de un proxy con su propio circuit breaker, rate limit y control de concurrencia.

Unity WebGLPythonFastAPI
Probar el demo en vivo →
Demo en vivo

Chatbot RAG sobre Posts del Blog

Un chatbot interactivo de generación aumentada por recuperación que responde preguntas usando mis posts del blog como base de conocimiento. Totalmente autohospedado: búsqueda vectorial semántica (pgvector) con embeddings multilingües y un LLM Qwen 2.5 local servido por Ollama — sin APIs de LLM externas.

PythonFastAPIpgvector
Probar el demo en vivo →
16 min de lectura

El agente que sueña: memoria en tres niveles con un modelo pequeño (y un RAG ingenuo que le ganó)

Llevé a un demo la arquitectura de memoria de LightMem: un agente que guarda hechos mientras conversa y que, cuando le pides que "sueñe", consolida su memoria —fusiona, actualiza, promueve y olvida— con un diff visible. Todo local, con modelos de 3B y 7B. Lo medí contra un RAG ingenuo con tres corridas por condición, y perdió: 79 contra 88 % con 7B, 58 contra 93 % con 3B. Este post cuenta qué construí, dónde se rompe y por qué, con modelos pequeños, la mejor memoria resultó ser la que menos reescribe.

agentsllmmemoryragollamapythonfastapiembeddings
19 min de lectura

¿Qué hacemos cuando el agente no aprende? RL debugging explicado desde cero

Octava parte de la serie Reinforcement Learning desde cero con Agentic Racing. Cómo convertir "el agente no aprende" en hipótesis comprobables, contado con la depuración real del piloto RL del proyecto: al menos seis bugs de tubería antes de la primera corrida, ocho corridas de PPO con la fracción de vuelta clavada, una línea base que también tenía un bug, promedios engañosos, terminación y truncamiento en ML-Agents, y los errores de proceso que más tiempo costaron.

reinforcement-learningmachine-learningagentsunity
20 min de lectura

¿Qué debería poder ver un agente? Observation design explicado desde cero

Séptima parte de la serie Reinforcement Learning desde cero con Agentic Racing. Cómo se decide qué información recibe un agente, revisando una por una las 42 observaciones reales del piloto del proyecto: escalas, anticipación, memoria, lo que puede llevar a memorizar un circuito, lo que no ve (los rivales), los bugs que mandaron observaciones vacías, y por qué el piloto, el experto y el estratega LLM ven a propósito cosas distintas.

reinforcement-learningmachine-learningagentsunity