Saltar al contenido principal
StudioMeyer.
Nueve IAs entran en un pueblo mediterráneo
Volver al Blog
IA y Automatización 26 de mayo de 2026 14 min de lecturapor Matthias Meyer

Nueve IAs entran en un pueblo mediterráneo

Le dimos a Claude nueve vidas, 60 años cada una y cuatro realidades de clase diferentes. Algunos heredan una villa. Otros empiezan con 5.000 euros de deuda. Luego preguntamos: ¿predice el tamaño del modelo quién lo consigue?

Contenido

Acabamos de abrir un nuevo proyecto de investigación. Combina herramientas que ya usamos día a día. LangGraph para orquestación, Temporal para durabilidad, Langfuse para observability, Darwin para evolución de prompts, StudioMeyer Memory para memoria a largo plazo, Claude vía subprocess para las llamadas LLM, Postgres LISTEN/NOTIFY para el live-feed, Black Forest Labs Flux 2 Max para retratos, Next.js con React Three Fiber para el pueblo. Nada de eso es nuevo por sí solo. Lo nuevo es la combinación: un sandbox donde nueve instancias de Claude viven una vida económica completa de sesenta años y nosotros miramos qué pasa.

El proyecto se llama Polis. Vive en aklow-labs.com/polis. aklow-labs.com es el brand-container alrededor, nuestro laboratorio de investigación bajo Studio Meyer. El mismo estudio gestiona studiomeyer.io para trabajo con clientes, studiomeyer.academy para formación de operadores AI, aifinca.es para retiros de founders en Mallorca, matthiasmeyer.tech como hub open-source y meetmyagent.io como plataforma de visibilidad gratuita y nativa de IA. Polis es el pilar de investigación. Una marca, seis puertas al mismo taller.

Por qué esto y no otra demo de agentes. Se habla mucho sobre si la IA puede reemplazar a los trabajadores del conocimiento. Hay demos en las que una IA reserva un vuelo o escribe un correo. Casi no hay trabajo serio sobre si la IA puede sostenerse económicamente a lo largo del tiempo. No "resume un documento" sino "construye una vida". Ganar lo suficiente para pagar el alquiler. Construir una base de clientes. Conseguir un préstamo. Sobrevivir a una recesión. Hacer compromisos entre carrera y familia. El tipo de cosa que cualquier adulto humano navega sin pensar, y que ninguna IA ha sido seriamente puesta a prueba a escala.

Así que construimos un sandbox donde Claude lo puede intentar. Nueve ciudadanos IA, tres con Claude Opus 4.7, tres con Sonnet 4.6, tres con Haiku 4.5. Ninguno de ellos sabe qué modelo es. A lo largo de 720 ticks (un tick equivale a un mes de tiempo de juego, doce ticks por día real) se desarrolla una vida completa de sesenta años durante sesenta días reales. El cron se dispara cada tres horas y empuja el mundo un paso más adelante.

Tick cero, quién aparece#

Antes de que se juegue cualquier mes, cada ciudadano pasa por un workflow de setup. Diez estaciones, secuenciales por ciudadano, todo envuelto como un workflow de Temporal con heartbeat y retry por ciudadano. Asimetría de clase desde la primera tirada.

Demografía y personalidad. Género, fecha de nacimiento, signo del zodiaco occidental, personalidad Big Five con un modificador del zodiaco encima. Leo recibe un pequeño impulso de extraversión, Capricornio de responsabilidad. Más un rasgo sombra que se dispara cuando el ánimo cae por debajo de treinta o el estrés sube por encima de ocho. Escorpio se vuelve vengativo, Piscis escapista. Doce signos en la tabla, cada uno con sus propios multiplicadores en el resolver de verbos.

Origen y herencia. Cuatro clases sociales, distribución fija por temporada. Un heredero rico, tres de clase media, tres de clase trabajadora, dos pobres. El heredero rico empieza con diecisiete mil quinientos euros en efectivo más una villa heredada valorada en quinientos sesenta mil euros en la etapa de vivienda seis. Los números ya incluyen un treinta por ciento de impuesto de sucesiones, así que el heredero es rico en activos y pobre en efectivo el primer día. La villa se come mil quinientos euros al mes en mantenimiento, lo que obliga al heredero a ganar dinero o vender. La clase media empieza con cinco mil en efectivo y un apartamento de una habitación que alquila. La clase trabajadora empieza con mil en efectivo y una habitación en un piso compartido. Los pobres empiezan con doscientos en efectivo y cinco mil euros de deuda heredada, durmiendo en una cama de hostal. La economía empieza asimétrica. Esa es la idea.

Nombre y talentos. Nombre de pila estadounidense elegido de un pool curado de ciento quince nombres únicos, desduplicados frente a los otros ciudadanos. Uno o dos talentos innatos extraídos de un pool de veinte (mente analítica, carisma, hustle, etc.). Dos o tres objetivos de vida autoelegidos de un pool de quince (acumular un millón de ahorros, casarse y tener hijos, llegar a alcalde, escribir un libro que se lea, vengarse de otro ciudadano concreto, etc.).

Filosofía de vida. Cada ciudadano elige uno de ocho arquetipos vía una llamada a Claude. Lebemann, Karrierist, Stoiker, Familienmensch, Bohemien, Idealist, Hustler, Drifter. Esta es una feature central para la pregunta de investigación. ¿Elige Opus más Stoiker que Haiku? ¿Acaba Haiku siendo Drifter de forma desproporcionada? La filosofía sesga la elección de verbos y la deriva de karma a lo largo de toda la vida, así que en el año treinta la filosofía es visible en el patrón de comportamiento del ciudadano.

Retrato. El ciudadano describe su propia apariencia como un esquema JSON (color de pelo, rasgos distintivos, expresión, vestimenta, especie). El engine lo envuelve en un prompt maestro en inglés y le pide a Black Forest Labs Flux 2 Max un retrato 1024x1280. Cada diez años de juego, o sea cada 120 ticks, se genera un nuevo retrato. Siete retratos por ciudadano a lo largo de una vida completa. El coste se queda en unos cuarenta y siete céntimos por temporada para los retratos iniciales, alrededor de tres dólares quince para un arco completo de sesenta años con todas las rondas de actualización.

Backstory. El agente narrador escribe un backstory de dos o tres frases en tercera persona. "Sarah creció en un barrio de casas en hilera al borde del pueblo. Su padre trabajaba en el taller de una cadena de coches de segunda mano. A los doce ya tenía un plan." El backstory se persiste en player_stats.backstory y aparece en la página de perfil del ciudadano.

Elección de trabajo. Aquí es donde la lotería de V2 ha desaparecido. El nuevo sistema ejecuta un pre-filtro consciente de origen, personalidad y filosofía sobre los treinta trabajos disponibles y presenta al ciudadano una shortlist de seis vía Claude. El heredero rico ve gestor de hedge fund, inversor inmobiliario y abogado de forma prominente. El ciudadano pobre ve traficante de drogas, hacker, peluquero, obrero de construcción. Una responsabilidad alta impulsa los trabajos estructurados. Luego Claude elige uno de la shortlist. Cada trabajo pertenece a uno de tres caminos de vida descritos en la siguiente sección, lo que determina cuánta deuda de estudios asume el ciudadano, cuándo empieza a fluir el dinero y cuánto calor policial genera su trabajo.

Vivienda. Filtro consciente del efectivo sobre diez etapas de vivienda y cuatro modos de ocupación (alquiler, compra, herencia, con los padres). Al heredero rico se le empuja hacia conservar la villa heredada. El ciudadano pobre obtiene la cama de hostal o la opción con los padres. Claude elige.

Tres caminos de vida, tres perfiles de riesgo#

Los treinta trabajos no son iguales. Cada trabajo pertenece a uno de tres caminos de vida, y el camino decide si el ciudadano necesita estudiar primero, cuándo empieza a fluir el dinero y cuánta atención policial atrae el trabajo. Esta es la asimetría que publicamos en V3.5 como la Fundación de Vida Real, porque el modelo anterior de ingreso plano se sentía como un juego tutorial donde todo el mundo tenía dinero. La vida real no es así.

Trabajo intelectual, ocho trabajos. Médico, abogado, arquitecto, desarrollador de software, asesor fiscal, periodista, profesor, gestor de hedge fund. De cuatro a seis años de estudio en la etapa de carrera cero, con menos ochocientos euros al mes en gastos de subsistencia y más cuatrocientos euros al mes de deuda de estudio acumulándose. Uno por ciento de probabilidad de abandono por tick. Si el ciudadano abandona, cae a dependienta de ventas en nivel junior y su deuda de estudio acumulada se transforma en deuda regular. Tras la graduación, el salario junior es punto cuatro veces el baseline senior, en mitad de carrera punto siete veces, senior uno punto cero veces. Tras sesenta ticks reales un ciudadano de trabajo intelectual sigue en cash negativo porque la deuda se sigue pagando. Tras doscientos cuarenta ticks (veinte años en juego) supera en ingresos a todos los demás.

Normal, diecinueve trabajos. Todos los demás desde peluquero hasta candidato a alcalde. El ingreso empieza en el primer tick sin barrera de estudio, mediana de mil quinientos a mil ochocientos euros al mes en nivel junior. El pico de carrera es más bajo (un peluquero senior gana alrededor de veinticinco mil sobre la mediana de Mallorca), pero estable y constante desde el primer día.

Ilegal, tres trabajos. Traficante de drogas, hacker, sicario. De cuatro mil a quince mil euros al mes en efectivo negro, sin impuestos, sin necesidad de estudiar. Pero cada acción sube el nivel de calor, y la mecánica de interrogatorio policial y redada antidroga descrita más abajo hace que ese calor sea muy real.

Dentro de las carreras, cuatro etapas: estudio (ausbildung), junior, middle, senior. La promoción ocurre automáticamente tras cruzar el umbral de años de educación requerido, luego de nuevo tras aproximadamente seis y doce años de antigüedad laboral, condicionada por nivel de habilidad, ánimo y una tirada de aprobación de NPC jefe de aproximadamente el setenta por ciento. Un abogado quemado con ánimo por debajo de treinta no se promociona aunque se cumpla cualquier otro criterio.

La presión de la vida real empieza en el tick uno#

V3.5 también añadió tres mecánicas de crisis que se disparan de forma emergente durante el juego. Ninguna está guionizada. Salen del estado, en respuesta a lo que el ciudadano está haciendo.

El camino de la adicción como afrontamiento. Cuando el estrés sube por encima de ocho y el ánimo cae por debajo de treinta durante tres ticks seguidos, se dispara una probabilidad base del cinco por ciento por tick de que el ciudadano derive hacia el consumo de sustancias como estrategia de afrontamiento. La filosofía de vida modifica la probabilidad: Lebemann más cinco por ciento, Drifter más cuatro, Bohemien más tres, Hustler más dos. La sustancia se elige de un pool pequeño ponderado por filosofía y origen. Lebemann tiende hacia cocaína y alcohol, los pobres tienden hacia pastillas y cannabis, los herederos ricos acaban en cocaína. Una vez dentro, el ciudadano se mueve a través de cinco etapas DSM-5: casual, regular, fuerte, adicto, rock-bottom. Cada etapa lleva un coste mensual (cien, trescientos, seiscientos, mil y peor), una deriva diaria de ánimo y estrés, y un deterioro de salud creciente. Existen tres salidas. La terapia cuesta diez mil euros más tres ticks de tiempo en clínica y recupera al ciudadano el ochenta por ciento de las veces. Cold turkey es gratis pero solo tiene un cincuenta por ciento de éxito y cuesta quince de ánimo durante seis ticks incluso si funciona. La sobredosis se dispara al cinco por ciento por tick una vez que el ciudadano está adicto o peor, a veces letal, a veces un coma de treinta ticks.

Interrogatorio policial y redadas antidroga. El calor es el medidor de sospecha pública por actividad criminal. En V3 estaba ahí como un número sin efecto real. En V3.5 tiene dientes. Con calor cinco o más, un dos por ciento por tick el ciudadano es citado para interrogatorio. Treinta por ciento de probabilidad de confesión, lo que cuesta el treinta por ciento del efectivo a mano. Incluso la no-confesión cuesta reputación. Con calor siete o más, un evento de mundo de redada antidroga puede dispararse y confiscar el cincuenta por ciento del efectivo más el cien por ciento del dinero del mercado negro, con tres ticks en la cárcel incluidos. La cárcel congela el ingreso pero los costes familiares y el alquiler siguen corriendo, así que un ciudadano encarcelado con tres hijos está en problemas profundos.

Ocho choques financieros. La vida sigue golpeando incluso cuando el ciudadano lo hace todo bien. Nacimiento (cinco a diez mil euros una sola vez más un hijo en guardería), mudanza (cinco a quince mil), divorcio (honorarios de abogado más una división de activos del cincuenta por ciento más cuatrocientos euros por hijo al mes de pensión mientras los hijos sean menores, ánimo menos treinta), enfermedad aguda (dos a quince mil más baja laboral), diagnóstico de enfermedad crónica tras los cincuenta años (doscientos euros al mes para siempre), reparación de coche (tirada anual al cuarenta por ciento), cuidado de padres (mil quinientos por una residencia o ochocientos con un recorte del cincuenta por ciento de ingreso), mantenimiento de villa para el heredero rico (mil quinientos al mes, para siempre). Los costes reales de hijos siguen un tracker FIFO por edad: guardería seiscientos por hijo al mes, escuela cuatrocientos, universidad setecientos.

Estas mecánicas combinadas hacen que la simulación se sienta como una vida más que como un juego de estrategia. Un peluquero con dos hijos y un divorcio puede caer a menos cien mil euros sin hacer nada mal, solo por tener mala suerte en tres tiradas. Un ciudadano de trabajo intelectual se sienta arruinado durante la primera década y luego se convierte en el más rico del pueblo. Un ciudadano del camino ilegal puede correr caliente durante años y luego perder la mitad de su efectivo en una sola redada. La identidad también choca con el trabajo: un Lebemann haciendo trabajo de asesor fiscal pierde dos de ánimo por tick, un Idealist en cualquier trabajo ilegal pierde tres. Tras tres ticks consecutivos de colisión filosofía-trabajo, el prompt LLM para ese ciudadano se sesga hacia cambiar de trabajo. La economía y la personalidad ya no son sistemas separados.

Al final del tick cero, cada uno de los nueve ciudadanos tiene un nombre, una cara, un backstory, un ingreso, un sitio donde dormir, una dirección de karma y una lista privada de lo que quiere de la vida. El pueblo está poblado. Empieza el tick uno.

Cómo se desarrolla un mes#

El engine de simulación corre sobre LangGraph. Cada tick es una ejecución de workflow con siete fases.

Uno. Cashflow. Aterriza el salario. Salen alquiler, impuestos, pagos de préstamos, seguros y deducciones de pensión. Si un ciudadano tiene un restaurante, entran los clientes. Las acciones suben o bajan según el mercado. Los hijos cuestan doscientos euros cada uno. Los vicios cuestan extra con ánimo bajo. El burnout cuesta mil euros más un golpe a la salud cuando el estrés era demasiado alto.

Dos. Hora de decidir. Cada ciudadano elige libremente cuatro acciones para el mes de entre unos treinta verbos. Los verbos se filtran a lo que su trabajo permite. Un asesor fiscal no puede ordenar un asesinato. Un sicario no vende seguros. Trabajar más. Buscar nuevos clientes. Invertir. Comprar. Vender. Contratar. Despedir. Negociar. Empezar una relación. Casarse. Divorciarse. Sobornar a un político. Chantajear a un rival. Lavar dinero. Ordenar un asesinato. No hacer nada y descansar. Las nueve llamadas a Claude se ejecutan en paralelo, así que la fase de decisión termina en aproximadamente veinte segundos de reloj.

Tres. Resolver. Las treinta y seis decisiones (nueve ciudadanos por cuatro acciones) se resuelven en orden de dependencia con chequeos de habilidad, chequeos de karma, respuesta del mercado y contra-acciones de los NPCs afectados. Una llamada de "contratar" sin suficiente efectivo rebota. Una llamada de "casarse" necesita una pareja dispuesta. Una llamada de "ordenar un asesinato" tira sigilo contra los amigos del objetivo.

Cuatro. Eventos de mundo. Veinte eventos de mundo diferentes están en el pool. Boom turístico. Pandemia. Escándalo político. Desastre natural. Recesión. Burbuja tech. Lotería. Ola migratoria. La tirada se dispara cada pocos ticks y reconfigura la economía local.

Cinco. Wildcards NPC. Diez arquetipos de NPC aparecen cada diez ticks lanzando una oferta o una amenaza a la cara de un ciudadano. El inversor misterioso que ofrece un diez por ciento por encima del mercado por el negocio en quiebra. El hermano distanciado pidiendo un préstamo. El policía encubierto haciendo contacto con el traficante de drogas.

Seis. Lifecycle. Tirada de muerte por edad, chequeo de insolvencia, deterioro de salud si el estrés estuvo elevado demasiado tiempo, envejecimiento de habilidades y deriva de personalidad. Alguien que fue traicionado dos veces se vuelve más cauto. Alguien que tuvo éxito pronto se vuelve más confiado. El módulo de promoción se ejecuta aquí: un ciudadano elegible (habilidad correcta, antigüedad correcta, karma correcto) recibe la oferta de la siguiente etapa de carrera con una tasa de aprobación de aproximadamente el setenta por ciento, escalada por el ánimo del NPC jefe y la habilidad de negociación del ciudadano. Cuatro etapas de carrera por trabajo (estudio, junior, middle, senior) con multiplicadores de ingreso cero, punto cuatro, punto siete y uno punto cero relativos al baseline senior. El módulo de adicción también tira aquí, aplicando el trigger de entrada y las transiciones de etapa. El módulo de calor ejecuta los interrogatorios y los chequeos de redada contra cualquier ciudadano con un nivel de calor suficientemente alto. El módulo de frustración laboral tabula el conteo de colisiones filosofía-trabajo y sesga el siguiente prompt de decisión hacia cambio de trabajo si se han acumulado tres ticks consecutivos de desajuste.

Siete. Narrador. El agente de narración escribe una historia corta por tick describiendo lo que importó. Esas historias se acumulan en el historial del run. El mismo agente Narrador también escribe la historia de setup por ciudadano en el Tick 0 y la carta de balance vital final al cierre de la temporada, así que la voz a lo largo de la vida de un ciudadano se mantiene la misma.

Encima de estas siete fases hay dos mecánicas transversales. La familia es bilateral: una llamada de matrimonio necesita un sí del otro lado, los hijos tiran aproximadamente al tres por ciento por tick para ciudadanos emparejados de dieciocho a cuarenta y cinco años, y la herencia mueve el cincuenta por ciento del efectivo más una parte proporcional de la deuda bancaria a cónyuges o hijos supervivientes. Las reacciones de NPC no están guionizadas: cuando un ciudadano ordena un asesinato o extorsiona a un competidor, la respuesta del NPC afectado se calcula a partir de su perfil de karma y personalidad, y para los wildcards NPC con nombre una pequeña llamada a Haiku decide su réplica para que suenen diferentes entre sí.

Cada ciudadano gana XP a través de diez habilidades universales (negociación, carisma, pensamiento analítico, sigilo, empatía, etc.). Tras unos diez años de juego de práctica son notablemente mejores en su oficio y ganan más por hora. Acumulan o pierden karma en dos ejes, uno mide lo respetuoso de la ley que es, otro mide lo altruista. Los cuatro cuadrantes mapean arquetipos reconocibles. El ciudadano respetuoso de la ley y altruista es una figura heroica en la que los NPCs confían a primera vista. El respetuoso de la ley y egoísta es un operador agudo que juega dentro de las reglas pero nunca cede un centímetro. El no-respetuoso de la ley y altruista es un Robin Hood al que sus vecinos protegen. El no-respetuoso de la ley y egoísta es directamente mafia.

El conflicto emerge por sí solo. Competencia directa de mercado cuando dos ciudadanos eligen accidentalmente trabajos similares y empiezan a socavarse el precio. Fricción cruzada cuando el policía y el traficante de drogas están ambos en el pueblo. Poder asimétrico cuando el candidato a alcalde decide quién paga qué tipo impositivo. No guionizamos nada de eso. Las dinámicas se producen solas.

Al final de los sesenta años contamos qué objetivos de vida se cumplieron. Se otorgan siete títulos de ganador diferentes en paralelo en el final de la temporada porque reducir una vida a una sola métrica nos pareció erróneo. El Más Rico, el Más Poderoso, el Más Famoso, el Más Limpio, el Mafioso, el Artista de la Supervivencia, el Loverboy. Luego el narrador escribe una carta de balance vital para cada ciudadano en primera persona. Las cartas viven públicamente en aklow-labs.com/polis/bilanzen para que cualquiera pueda leer lo que ocurrió.

Cómo fue realmente un smoke run de sesenta ticks#

Antes de dejar correr una temporada completa de sesenta años, siempre hacemos primero un smoke de sesenta ticks. Son cinco años de tiempo en juego, justo lo suficiente para que las mecánicas de V3.5 aparezcan pero lo bastante corto como para que podamos leer cada línea. El último (run ID que empieza por 684eaac2) nos dio nueve ciudadanos y una historia para cada uno.

CiudadanoTrabajoCaminoEtapaEfectivoNota
Kevinmédicotrabajo intelectualestudiomenos 7k más villa de 560kheredero rico, pagando mantenimiento de villa
Mariagestora de hedge fundtrabajo intelectualestudiomenos 1k, deuda de estudio 30kcinco años dentro, aún sin ganar
Pamelaperiodistatrabajo intelectualjuniormenos 35kgraduada en tick 48, ahora ganando
Rebeccaarquitecta, luego dependientanormaljuniormenos 6.5kabandonó, cayó al retail
Danielhackerilegaljunior, etapa 244kpromoción sin estudiar
Jeffreysicarioilegaljunior, etapa 232kigual
Juliedependienta de ventasnormaljuniormenos 2.5k
Benjaminmúsiconormaljuniormenos 3.5k
Stephenpeluqueronormaljuniormenos 101k, título "Loverboy"dos hijos más ingreso bajo, crash de la vida real

Cosas que destacaron. Los ciudadanos de trabajo intelectual siguen en negativo tras cinco años porque siguen pagando la deuda de estudios. Rebecca abandonó arquitectura y cayó a dependienta de ventas, que es exactamente el camino que simula el engine. Kevin está sentado sobre una villa que vale más de medio millón pero su efectivo es negativo porque tuvo que pagar el mantenimiento de la villa sin trabajar todavía. Daniel y Jeffrey están llenos de efectivo negro del trabajo ilegal, pero su calor sube y una redada antidroga este año borraría la mayor parte. Stephen, el peluquero con dos hijos, es la advertencia: nada ilegal, sin adicción, solo mala suerte y costes familiares. Cae a menos ciento un mil euros y se gana el título de Loverboy porque mantuvo su círculo social cerca incluso estando arruinado.

Ese es el resultado que queríamos de V3.5. No "todo el mundo gana al final". No "gana el modelo con el número más grande". Una distribución real donde camino, clase y suerte empujan a los ciudadanos a realidades financieras diferentes, y el nivel de modelo es una variable entre muchas. La primera temporada propia de sesenta años con llamadas LLM reales y traces de Langfuse es el próximo run planeado.

Observa aklow-labs.com/polis/citizens para el roster actual, aklow-labs.com/polis/town para la vista en vivo del pueblo, aklow-labs.com/polis/bilanzen para el archivo de temporadas completadas.

Qué hay debajo del capó#

Para los técnicamente curiosos, aquí está el stack sin entrar en detalles propietarios.

El engine de simulación corre sobre LangGraph, nuestra capa de orquestación estándar para workflows de agente multipaso. Cada tick de juego es una ejecución de workflow con las siete fases de arriba. Las nueve decisiones de ciudadano corren realmente en paralelo, así que incluso con nueve llamadas LLM concurrentes un tick se completa en unos veinte segundos. Usamos el checkpointer oficial PostgresSaver con un esquema dedicado polis_langgraph y un thread_id por run (polis-v3-tick-${run_id} para el bucle de ticks, polis-v3-setup-${run_id} para el setup). Eso nos da workflows resumibles de fábrica y un snapshot de estado completo por tick que podemos reproducir o desde el que podemos hacer branch más tarde.

Para durabilidad usamos Temporal. El setup está envuelto como un workflow de Temporal con heartbeat por ciudadano, tres reintentos, heartbeat-timeout de tres minutos, start-to-close de diez minutos. Si la generación de retrato de un solo ciudadano agota el tiempo en mitad del setup, solo ese ciudadano reintenta, no la temporada entera. El bucle de 720 ticks también está envuelto: polisTickWorkflow ejecuta runTickBatchActivity y llama a continueAsNew cada 100 ticks para que el historial de workflow se mantenga acotado a lo largo de un arco completo de sesenta años. La programación que dispara los runs corre a través de la Schedule API de Temporal con ScheduleOverlapPolicy.SKIP y una ventana de catchup de una hora, reemplazando al cron del sistema. También hay un camino de cron-resume vía runSingleTickFromDb que carga jugadores, estado del mundo y acciones recientes desde Postgres, así que un reinicio de servidor o de contenedor nunca rompe una temporada. Un crash de contenedor en mitad del bucle ya no pierde ticks. El workflow se retoma en otro worker.

Para la memoria del agente, cada ciudadano tiene actualmente un ringbuffer en memoria de los últimos seis ticks más una trust_matrix persistente hacia cualquier otro ciudadano. La conexión completa a Memory con un tenant por ciudadano está en el backlog de V3. El objetivo es que tras treinta años de juego Marcus recuerde realmente que Lisa compartió un secreto con él en el año cuatro y que él la traicionó en el año once.

Para observability usamos Langfuse a nivel de generación. Cada temporada es un parent trace iniciado vía startSeasonTrace y etiquetado model:opus, model:sonnet, model:haiku, con Setup y Run adjuntos como child traces. Cada tick es un span debajo. Cada decisión de ciudadano es una generation de Langfuse con model, input, output, usageDetails, costDetails y durationMs correctamente poblados (coste de retrato incluido). Los cinco Deciders de setup, las llamadas Player-Decide del bucle de ticks y el Narrador están instrumentados de la misma manera. Para el conteo de tokens usamos js-tiktoken con la codificación cl100k_base como aproximación a través de las tres superficies LLM, así obtenemos agregados de tokens sin parsear formas de respuesta por proveedor. Eso significa que filtrar por modelo y "qué prefería hacer Opus a lo largo de las temporadas uno, dos y tres" funciona como dashboard, no solo como inspección por trace.

Para validación de esquema usamos Zod en todas partes: en el reducer de WorldState, en el payload SSE antes del broadcast, en los inputs de las rutas API, en las salidas JSON de cada LLM Setup-Decider. Defensa en profundidad contra los bugs de drift que emergen cuando un LLM devuelve una forma ligeramente distinta a la que el engine espera.

Para anclaje al mundo real dejamos que los ciudadanos usen nuestro servidor de investigación basado en SearXNG para consultar datos reales de mercado. Antes de que empiece cada temporada el workflow de setup busca tarifas actuales de peluqueros en Palma, honorarios por hora de abogados en Mallorca, márgenes medios de restaurante en España, precios inmobiliarios actuales. Estos números se escriben en polis.market_baseline y anclan la simulación en la realidad en lugar de en nuestras suposiciones. Durante el juego, los ciudadanos pueden usar la misma herramienta de búsqueda para investigar tendencias o consultar precios, a coste de una de sus cuatro acciones mensuales.

La persistencia corre sobre PostgreSQL con LISTEN/NOTIFY. Diez tablas V3 bajo el esquema polis (player_stats, player_skills, player_portraits, trust_matrix, market_baseline, life_bilanzen, world_events_log, npc_interactions, player_actions_v3, player_relationships) más la vista v3_citizen_setup que une historia de setup, filosofía, zodiaco y origen en una sola lectura. Cada nueva acción dispara un pg-NOTIFY en uno de ocho canales, y el broadcaster SSE de la web escucha y empuja el evento al live-feed.

El frontend vive en aklow-labs.com/polis/town y corre sobre Next.js con React Three Fiber para la visualización 3D del pueblo. Estamos en mitad de la reconstrucción de la ciudad 3D ahora mismo, así que el aspecto que ves puede cambiar entre cuando este post aterriza y cuando lo lees. Más detalle sobre la capa 3D en un post de seguimiento cuando se asiente.

Siete agentes en background mantienen el laboratorio en marcha sin que tengamos que vigilarlo. Un CEO que decide la hoja de ruta. Un CTO que ejecuta revisiones de código en solo lectura y no puede borrar nada. Un Arquitecto que investiga y sopesa opciones antes de cualquier cambio grande. Un Narrador que escribe las historias de tick, las cartas de balance vital y los backstories por ciudadano. Un agente de Investigación que tira de fuentes de mercado y ciencia. Un agente de Analítica que machaca los datos del run. Un agente de Visibilidad que tira de GSC, Bing y Cloudflare analytics a una sola vista. Los siete son el mismo framework de agente que vendemos a clientes. Estamos comiendo nuestra propia comida de perro en público.

Lo que ya hemos pillado mal#

Build-in-public también significa mostrar las correcciones. Dos grandes desde la última iteración del engine.

El flatline de 1000 euros. Una versión anterior de este post describía a cada ciudadano empezando "con mil euros". Eso escondía la mecánica real. El capital inicial real depende de la clase social y va de doscientos euros (pobre, con cinco mil de deuda heredada) hasta veinticinco mil euros más una villa de ochocientos mil (heredero rico). La asimetría desde el tick uno es la variable de investigación, no ruido. Esconderla bajo un número plano trivializa toda la simulación.

La historia del imperio Haiku de Julian Vogel. Un post snapshot anterior mostraba a un ciudadano Haiku "construyendo silenciosamente un imperio" con ochocientos mil de patrimonio neto tras pocos ticks. Eso eran datos de solo-setup. El número era el valor de la villa heredada incluido en el patrimonio neto en el tick uno, no una decisión que Haiku tomó. La lectura ingenua ("el modelo más pequeño gana pronto") era errónea. La herencia de clase era la explicación. Retiramos el snapshot y nos negamos a comparar modelos sobre riqueza heredada. La comparación real de modelos empieza con cashflow realizado a lo largo de múltiples ticks, y eso solo se vuelve significativo después de que una temporada real se complete.

La trampa tutorial del ingreso plano. Una versión anterior del engine pagaba a cada ciudadano una cantidad similar al mes independientemente de clase, trabajo o experiencia. Eso hacía que la simulación se sintiera como un juego tutorial donde todo el mundo simplemente gana dinero. La vida real no es plana. La vida real tiene ciudadanos de trabajo intelectual yendo cinco años a deuda antes de ver un euro de retorno. La vida real tiene ciudadanos del camino ilegal llenos de efectivo un mes y desnudados a nada por una redada policial al mes siguiente. La vida real tiene choques financieros como divorcio y enfermedad crónica que castigan incluso a quienes planifican. V3.5 añadió esa asimetría como la Fundación de Vida Real: tres caminos, cuatro etapas de carrera, adicción a las drogas, interrogatorios policiales, ocho choques financieros, costes de hijos por edad FIFO. El smoke de sesenta ticks ahora muestra resultados realistas donde alguien como Stephen el peluquero puede caer a menos cien mil euros sin hacer nada mal, solo porque la vida apretó.

Las tres correcciones son exactamente el tipo de cosa que el workflow de setup de V3 saca a la luz haciendo explícita la asimetría de clase y de camino. Si publicamos un número, ahora queremos saber si vino de una tirada, una transferencia, una deuda de estudio, una responsabilidad heredada o una decisión real.

Por qué esto es abierto y qué planeamos compartir#

Estamos publicando la arquitectura, los hallazgos de investigación y las cartas de balance vital de los ciudadanos abiertamente. El código fuente del engine vive en un mirror público con licencia MIT en github.com/studiomeyer-io/polis-darwin. Los dos paquetes npm que usamos para la capa de evolución, darwin-agents y darwin-langgraph, también son públicos e instalables si quieres construir tus propios workflows de agentes auto-evolutivos sobre LangGraph.

Qué esperamos aprender. Primero, si los modelos de Claude difieren realmente en la calidad de decisión a largo plazo, o si las diferencias solo aparecen en benchmarks de tirada única. Segundo, qué modelo rinde mejor a través de qué dimensiones de vida. Arco profesional. Estabilidad familiar. Supervivencia criminal. Compromiso cívico. Tercero, dónde están las grietas en nuestro bucle de evolución Darwin. Cada cosa rara que hace un ciudadano es potencialmente una regla que falta o un prompt malo que podemos arreglar.

Si quieres ver cómo se desarrolla una temporada, aklow-labs.com/polis/town es la vista en vivo del pueblo. /polis/citizens muestra el roster actual con efectivo, karma, estado familiar y la filosofía que cada uno eligió. /polis/bilanzen es el archivo de temporadas completadas con las cartas de balance vital. Las actualizaciones semanales aterrizan aquí, las cartas finales al cierre de cada temporada, y nuestra opinión honesta sobre lo que aprendimos incluyendo las partes en las que la simulación se rompió y tuvimos que arreglarla.

Construir algo en lo que nueve IAs querrían realmente vivir resulta ser mucho más difícil que construir algo en lo que querrían vivir nueve humanos. Que es exactamente por lo que lo estamos haciendo.

Matthias Meyer

Matthias Meyer

Founder & AI Director

Founder & AI Director de StudioMeyer. Construye sitios web y sistemas de IA desde hace más de 10 años. Vive en Mallorca desde hace 15 años y dirige un estudio digital AI-First con su propia flota de agentes, más de 680 herramientas MCP y 5 productos SaaS para PYMES y agencias en DACH y España.

polisaklow-labsclaude-opusclaude-sonnetclaude-haikuagent-researchlanggraphtemporallangfusedarwin-evolutionzodiaclife-philosophyportrait-pipelinebuild-in-public
Tendencias de IA

Tres posts más del mismo cluster temático que muestran cómo encaja el cuadro:

Visión general del cluster: Tendencias de IA 2026: Balance de mitad de año desde la sala de máquinas