El problema fundamental que Clairic aborda es la ineficiencia de los Large Language Models (LLMs) en tareas de extracción y cálculo de valores estructurados a partir de datos no estructurados. Si bien los LLMs son potentes para el razonamiento y la generación de texto (modelos System Two), su naturaleza generativa los hace lentos, costosos y propensos a "alucinaciones" o errores de formato cuando se les pide extraer datos específicos como números, fechas o listas. Esto obliga a construir complejas tuberías de post-procesamiento para validar y limpiar sus salidas.
Clairic, como modelo System One, se posiciona como una alternativa especializada que resuelve este desafío mediante un enfoque de "paso único" (single forward pass) que no genera tokens. Esto permite una extracción, cálculo, estimación y pronóstico de valores con una velocidad y precisión significativamente mayores, y a un costo inferior, para casos de uso donde la salida es un valor tipado y no texto libre. La necesidad de este tipo de modelos surge de la proliferación de tareas de automatización que requieren datos estructurados fiables de fuentes no estructuradas, como correos electrónicos, documentos o imágenes, donde la latencia y la fiabilidad son críticas.
Arquitectura del Sistema
Clairic opera como un modelo de regresión y extracción, contrastando con los LLMs generativos. Su arquitectura está optimizada para un "single forward pass" sobre los tokens de entrada, lo que significa que no hay un proceso iterativo de generación de tokens de salida. Esto lo hace intrínsecamente más rápido y eficiente en términos de cómputo y memoria.
La entrada al modelo consiste en un 'state' (el texto o hasta cuatro imágenes a procesar) y un 'map' de campos tipados. Cada campo se define con un nombre, un tipo (ej. 'text', 'number', 'date', 'duration', 'list', 'estimate', 'forecast') e instrucciones opcionales en lenguaje natural. Clairic procesa esta entrada en paralelo para todos los campos solicitados. Si el número de campos excede la capacidad de un solo pase, el servidor los divide en pases paralelos que ven la entrada completa y luego fusiona las respuestas. Las salidas incluyen el valor extraído/calculado/estimado/pronosticado, su tipo, un 'p_null' (probabilidad de que el valor no esté presente), un 'confidence score', y para extracciones de texto, 'span offsets' para localizar el valor en la entrada original. Para estimaciones y pronósticos, se proporcionan distribuciones (mediana, intervalos p10/p90). La ausencia de generación de tokens elimina la posibilidad de "alucinaciones" en el formato de salida y garantiza que los valores sean siempre del tipo declarado o nulos, lo que simplifica enormemente el post-procesamiento y la integración en sistemas downstream.
Flujo de Extracción de Datos con Clairic
- 1 Cliente/Worker AI Envía una solicitud con 'state' (texto/imagen) y 'fields' (tipos y instruccio...
- 2 Clairic Model Procesa la entrada en un 'single forward pass' para todos los campos.
- 3 Clairic Output Devuelve valores tipados (texto, número, fecha, etc.), 'span offsets', 'p_nul...
- 4 Sistema Downstream Consume los datos estructurados, usa 'confidence' para automatización o revis...
Flujo de Trabajo Agéntico con Modelos System One y System Two
- 1 Clairic (System One: Extract) Extrae valores tipados de entrada no estructurada (ej. email a hechos).
- 2 Clef (System One: Decide) Toma decisiones basadas en los valores extraídos y políticas (ej. qué acción ...
- 3 LLM (System Two: Act) Genera texto libre (ej. respuesta al cliente) basado en la decisión y los hec...
| Capa | Tecnología | Justificación |
|---|---|---|
| compute | Workers AI | Plataforma de inferencia para ejecutar modelos de IA, proporcionando un entorno serverless y distribuido para baja latencia. |
| data-processing | Clairic Model | Modelo de extracción System One especializado en convertir datos no estructurados (texto, imágenes) en valores estructurados y tipados (números, fechas, listas, estimaciones, pronósticos). vs Large Language Models (LLMs) para extracción Single forward pass, sin generación de tokens de salida. |
| data-processing | Clef Model | Modelo de decisión System One que clasifica entradas en opciones predefinidas con probabilidades calibradas. vs Large Language Models (LLMs) para decisiones Clasificación de opciones, salida de probabilidades. |
| data-processing | GLM-5.3 (ejemplo de LLM) | Modelo System Two para razonamiento y generación de texto libre, utilizado en el flujo agéntico para redactar respuestas. |
Trade-offs
Ganancias
- ▲ Latencia de inferencia
- ▲ Costo por inferencia
- ▲ Precisión en extracción de valores tipados
- ▲▲ Fiabilidad de formato de salida
- ▲▲ Reducción de alucinaciones
Costes
- ▲ Capacidad de razonamiento complejo
- ▲▲ Generación de texto libre
- △ Aritmética multi-paso
- △ Pronóstico de series temporales a largo plazo
const { answers } = await env.AI.run("@cf/cloudflare/clairic", {
state: email,
fields: {
order_id: { type: "text", instructions: "Order number" },
delivered_on: { type: "date", instructions: "Delivery date" },
amount_paid: { type: "number", decimals: 2, unit: "USD", instructions: "Total paid including tax" },
days_since_delivery: { type: "duration", unit: "days", integer: true,
instructions: "Days from delivery to the date the customer wrote" },
damage: { type: "list", items: "text", instructions: "Each kind of damage described" },
tracking_number: { type: "text" },
},
});// 1. Clairic turns the email into values
const facts = (await env.AI.run("@cf/cloudflare/clairic", {
state: email,
fields: {
customer_name: { type: "text", instructions: "Customer's first name" },
order_id: { type: "text", instructions: "Order number" },
amount_paid: { type: "number", decimals: 2, unit: "USD", instructions: "Total paid including tax" },
days_since_delivery: { type: "duration", unit: "days", integer: true,
instructions: "Days from delivery to the date the customer wrote" },
damage: { type: "list", items: "text", instructions: "Each kind of damage described" },
repair_cost: { type: "estimate", unit: "USD", min: 10, max: 5000, scale: "log", step: 1,
instructions: "Cost to repair the damage described" },
},
})).answers;
const { customer_name, order_id, amount_paid, days_since_delivery, damage, repair_cost } = facts;
// 2. Clef decides from Clairic's values and the policy, not from the raw email
const options = {
refund: "Full refund of the amount paid",
repair: "Free repair, with a prepaid shipping label",
};
const { choice } = (await env.AI.run("@cf/cloudflare/clef", {
state: `Damage claim for order ${order_id.value}.
Paid: $${amount_paid.value.toFixed(2)}. Delivered ${days_since_delivery.value} days ago.
Damage reported: ${damage.value.join(", ")}.
Estimated repair cost: $${repair_cost.median} (80% range $${repair_cost.p10}-$${repair_cost.p90}).
Policy: refunds within 30 days of delivery. Prefer repair when it costs less than 60% of the price and the damage doesn't stop the product from working.`,
questions: {
resolution: { type: "choice", instructions: "What should we offer?", criteria: options },
},
})).answers.resolution;
// 3. An LLM writes the reply, from the decision and the facts it needs
const { response } = await env.AI.run("@cf/zai-org/glm-5.3", {
messages: [{
role: "user",
content: `Write a short, warm reply to ${customer_name.value}. Use only these facts: order ${order_id.value}; ` +
`damage: ${damage.value.join(", ")}; what happens next: ${options[choice]}. Under 60 words.`,
}],
});Fundamentos Teóricos
El concepto de modelos "System One" y "System Two" se deriva directamente del trabajo del psicólogo Daniel Kahneman, especialmente popularizado en su libro "Thinking, Fast and Slow" (2011). Kahneman describe el Sistema 1 como un pensamiento rápido, intuitivo y automático, mientras que el Sistema 2 es lento, deliberado y requiere esfuerzo. En el contexto de la inteligencia artificial, los modelos System One como Clairic emulan la velocidad y especificidad del pensamiento intuitivo para tareas bien definidas, como la extracción o clasificación de datos. Esto contrasta con los LLMs, que, aunque pueden realizar tareas de System One, son inherentemente modelos System Two debido a su naturaleza deliberativa y generativa, que implica un razonamiento paso a paso y la construcción de respuestas token a token.
La optimización para tareas específicas de regresión y clasificación, en lugar de generación generalista, conecta con principios fundamentales de Machine Learning. Mientras que los LLMs se basan en arquitecturas de transformadores para tareas de secuencia a secuencia, los modelos como Clairic se centran en la eficiencia de la inferencia para producir salidas estructuradas y tipadas. Esto recuerda a enfoques más tradicionales de PNL y visión por computador donde modelos especializados (ej. redes neuronales convolucionales para visión, modelos de clasificación para texto) se entrenan para tareas concretas, logrando mayor precisión y eficiencia en su dominio específico que un modelo generalista.