Simulando cueros 👩‍👩‍👦

Microsoft tiene un interesante proyecto open-source — TinyTroupe. ¿De qué se trata? La mayoría de los frameworks están orientados a asistencia — ayuda en la resolución de tareas. TinyTroupe está orientado a la simulación. La diferencia es fundamental: un asistente debe ser eficiente, mientras que un simulador debe ser creíble. Una persona creíble se equivoca, tiene sesgos, recuerda el desayuno y tiene carácter.

¿Qué hay dentro de este zoológico Python?
1. TinyPerson: El agente tiene mental_faculty (capacidades cognitivas) y dos tipos de memoria: EpisodicMemory (cadena de eventos) y SemanticMemory (base de conocimientos y hechos).
2. Action Correction: Si el agente LLM de repente "olvida" su personalidad (por ejemplo, un vegano comienza a recomendar un steakhouse), el sistema de validación TinyPersonValidator lo detecta, reprende al agente y lo obliga a regenerar la acción.
3. TinyWorld: El entorno. Aquí los agentes interactúan según las reglas que describes con código. Incluso se puede definir una red social con grafos de relaciones.
4. TinyFactory: Generador de multitudes. Si necesitas 50 médicos brasileños amantes del heavy metal y la ecología para probar tu nueva aplicación, la fábrica los produce según los parámetros demográficos.

¿Para qué sirve todo esto?
Datos sintéticos: En lugar de molestar a usuarios reales o comprar conjuntos de datos dudosos, ejecutas el proyecto a través de un grupo focal de 100 agentes con diferentes personalidades.
Pruebas de software: Puedes hacer que un agente "use" tu chatbot o motor de búsqueda y ver dónde rompe la lógica con sus expectativas humanas.
Marketing: Evaluación de anuncios en una audiencia simulada antes de gastar todo el presupuesto.

Internamente, es un stack Python moderno típico: llama-index para RAG, chevron para plantillas de prompts y muchas especificaciones JSON. La principal desventaja es que por defecto todo está orientado a OpenAI.

Y además de todo, es una prueba de que vivimos en Matrix 🌝

#buen_open_source