Este artículo presenta un método novedoso para mejorar la capacidad de inferencia de código complejo de los modelos de lenguaje a gran escala (LLM). Si bien los LLM tienen un buen rendimiento en tareas rutinarias de codificación, pueden fallar en tareas complejas que requieren inferencias significativas sobre la semántica del programa. Para abordar este problema, este estudio explora un método para generar sintéticamente datos de entrenamiento de inferencia de código basado en el Juego de Inequidad Semántica (SInQ). Un agente generador genera variantes de programa semánticamente distintas, derivadas de un conjunto de datos de tareas de programación del mundo real, y un agente de evaluación identifica ejemplos de entrada que causan diferencias en el comportamiento del programa original y las variantes generadas. Los dos agentes se entrenan mutuamente de forma semi-antagónica, y demostramos que esta configuración puede, en teoría, mejorar infinitamente mediante auto-juego, asumiendo recursos computacionales infinitos. Validamos la eficacia del método propuesto mediante experimentos en diversos benchmarks de generación y comprensión de código, incluyendo la detección de vulnerabilidades multilingües y el benchmark de intercambio de identificadores integrado en Python. A pesar de estar entrenado exclusivamente en código Python, el método propuesto mejora la detección de vulnerabilidades en código C/C++ y logra mejoras significativas de rendimiento en el benchmark de intercambio de identificadores integrado en Python, un benchmark donde los LLM existentes presentan dificultades. Hemos publicado el código necesario para reproducir el experimento y los datos sintéticos generados, lo que permite a otros investigadores perfeccionar el LLM.