JEV - conceptos y modelo

La tesis: Machine Native Intelligence

TypeSafe parte de una apuesta: la automatización a gran escala estara dominada por interacciones IA-a-IA y IA-a-software, no por chat. Estiman una proporción de 99% máquina-a-máquina y 1% humano. Por eso la interfaz máquina importa más que la interfaz conversacional.

Machine Native Intelligence = IA con propiedades tipo software: estructura, fiabilidad, observabilidad, testeabilidad, velocidad, consistencia y bajo coste.

Lema: “build prod, not God”. No buscan un modelo que haga todo, sino decisiones estrechas, inspeccionables y componibles.

System One vs LLM vs Agentes

Tres arquitecturas de software:

ArquitecturaQuien controlaProblema
Software tradicionalEl código-
Agentes LLMEl modelo decide el siguiente pasoCada bucle es una oportunidad de descarrilar
AI-powered software (TypeSafe)El código conserva el control; la IA solo juzga-

Un modelo System One no genera texto, no escribe código, no explica su razonamiento. Entiende lenguaje natural como un LLM, pero devuelve decisiones tipadas y probabilidades.

Que hace y que no

  • Hace: evalua un estado contra preguntas tipadas y devuelve respuestas estructuradas con probabilidades calibradas.
  • No hace: generar texto, código, explicaciones. No es un agente. No elige su siguiente acción.
  • Entrada: solo texto (string, objeto JSON o array). Nada de imagen, audio o video (todavía).
  • Salida: valores acotados a las opciones que tu definas + distribución de probabilidad.

Entrenamiento: RLCD

Tres vias de post-entrenamiento de modelos preentrenados:

ViaQue haceResultado
RLHFReinforcement Learning from Human FeedbackChatbots; aprende a producir respuestas que la gente prefiere
RLVRRL with Verifiable RewardsModelos de razonamiento fuertes en matematicas, lentos y caros
RLCDRL for Calibrated DecisionsTypeSafe: decisiones y probabilidades calibradas, no texto

Dato: Diogo Almeida, cofundador de TypeSafe, es co-inventor de RLHF (usado en InstructGPT/ChatGPT).

Problemas de RLHF que TypeSafe evita

  • Premia la sycophancy y las alucinaciones que suenan seguras.
  • Causa mode dropping: el modelo favorece un estilo (p.ej. seguir instrucciones) y reduce la probabilidad de otras salidas.
  • Mode dropping es una versión suave de mode collapse (fallo clasico de GANs).

Advertencia de la doc: una salida puede ser convincente para una persona sin ser fiable para automatización desatendida. Preferencia humana y fiabilidad máquina son objetivos distintos.

Calibración

En un modelo bien calibrado, agrupando predicciones:

  • Las asignadas con probabilidad 0.2 ocurren ~20% de las veces.
  • Las asignadas con 0.8 ocurren ~80%.
  • Las asignadas con 1.0 ocurren ~100%.

Aviso explicito: la calibración se mide sobre grupos de predicciones, no garantiza que una respuesta individual sea correcta.

State (el estado)

El state es el contenido a evaluar. Puede ser:

FormatoÚtil paraEjemplo
StringUn mensaje, articulo o pasaje"My card was charged twice."
ObjetoCampos con nombre, registros, estado de app{"message": "...", "order_id": "A-104"}
ArraySecuencia de mensajes o registros["Hi", "My customer number is TS1337."]

Recomendaciones:

  • Usar objeto en la mayoría de casos, con nombres descriptivos.
  • Separar contenido (state) de preguntas (questions).
  • Referenciar campos concretos con ruta entre backticks en las instrucciones, p.ej. `ticket.messages[0].text`.
  • Incluir solo el contexto relevante para las preguntas: el estado grande con ruido baja la precisión (context rot).

Un estado puede contener una conversación, un pedido y una política a la vez; es un único estado si la decisión requiere comparar esas partes.

Confidence (confianza)

Toda respuesta Choice y Score incluye probabilities (distribución) y confidence (0 a 1). Noul no lleva confidence.

  • confidence colapsa la forma de la distribución en un número: pico concentrado = alta, plano = baja.
  • No estas atado a su definición: te dan las probabilities completas por si quieres tu propia metrica.
  • El “no lo se” honesto es una señal utilizable: si el sistema no puede expresar incertidumbre, no es fiable.

Tres rutas segun confianza

RangoComportamiento
AltaActuar automáticamente
MediaProceder con cautela: confirmar, marcar para revisión o pedir más información
BajaNo actuar: escalar a humano, pedir aclaración o usar otro sistema

Los umbrales escalan con el riesgo: una operación destructiva exige más confianza que una de solo lectura.

action = response.answers["action"]
confidence = action.confidence
 
if confidence < 0.5:
    route_to_human(user_message)          # modelo genuinamente inseguro
elif action.choice == "check_balance":
    show_balance(account_id)              # bajo riesgo, recuperable
elif action.choice == "approve_transfer":
    if confidence > 0.9:
        confirm_then_execute(account_id)  # alto riesgo, alta confianza
    else:
        ask_user_to_confirm(account_id)   # alto riesgo, confianza media

Propiedades de las respuestas

  • Acotadas: el modelo devuelve una distribución sobre tus opciones, nunca un valor fuera del esquema.
  • Independientes: la respuesta de una pregunta no es contexto oculto de otra. Se pueden anadir/quitar preguntas sin alterar las demas.
  • Comparables: ordenables, sirven para if, umbrales y comparaciones.

Relacionado