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:
| Arquitectura | Quien controla | Problema |
|---|---|---|
| Software tradicional | El código | - |
| Agentes LLM | El modelo decide el siguiente paso | Cada 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:
| Via | Que hace | Resultado |
|---|---|---|
| RLHF | Reinforcement Learning from Human Feedback | Chatbots; aprende a producir respuestas que la gente prefiere |
| RLVR | RL with Verifiable Rewards | Modelos de razonamiento fuertes en matematicas, lentos y caros |
| RLCD | RL for Calibrated Decisions | TypeSafe: 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 para | Ejemplo |
|---|---|---|
| String | Un mensaje, articulo o pasaje | "My card was charged twice." |
| Objeto | Campos con nombre, registros, estado de app | {"message": "...", "order_id": "A-104"} |
| Array | Secuencia 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.
confidencecolapsa 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
probabilitiescompletas 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
| Rango | Comportamiento |
|---|---|
| Alta | Actuar automáticamente |
| Media | Proceder con cautela: confirmar, marcar para revisión o pedir más información |
| Baja | No 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 mediaPropiedades 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.