Skip to main content
Contenido de la guía

Contenido de la guía

Tiempo de estudio: 30 min
#jev#typesafe-ai#system-one#decision-models#ai-agents#local-models#open-source#laya#typescript#python
NEWAvanzado30 min

Jev y System One AI: guía práctica completa del modelo de decisiones de TypeSafe

Análisis ingenieril profundo del modelo insignia Jev: arquitectura System One frente a LLM, primitivas Choice/Score/Noul, paralelismo de consultas, matemática de la confianza, casos de vídeo, código y revisión de alternativas open-weight locales (Laya, GLiNER2.5, CLM-8B).

Publicado:
PARA AGENTE IAChatGPTClaude

La industria moderna de la inteligencia artificial ha avanzado durante mucho tiempo por la vía de escalar modelos generativos. Nos hemos acostumbrado a utilizar grandes modelos de lenguaje (LLM) del nivel de GPT-6.1 Sol, Claude Opus 5.5, Claude Fable o Gemini 3.8 Flash para cualquier tarea: desde redactar ensayos hasta parsear estados de pedidos. Sin embargo, cuando se trata de construir software fiable, la generación de texto se convierte en un cuello de botella: los modelos dedican segundos a desplegar tokens paso a paso, alucinan con JSON no válido, requieren expresiones regulares interminables y resultan demasiado costosos para una arquitectura de microservicios.

Jev, del laboratorio TypeSafe AI, es el primer modelo del mundo de una nueva clase conocida como System One AI. No genera texto en absoluto. Jev está diseñada exclusivamente para decisiones instantáneas, tipificadas y estructuradas dentro de sistemas de software: clasificación, enrutamiento, evaluación por rúbricas, verificación de hipótesis y firewalls para agentes, con una latencia aproximada de 100 ms y un coste de $0.042 por 1 millón de tokens.

En esta guía, como profesionales, analizaremos la tecnología Jev hasta el más mínimo detalle: la diferencia fundamental entre System One y System Two, tres primitivas clave, la matemática de la confianza calibrada, patrones de arquitectura, pipelines listos en TypeScript y Python, y también estudiaremos 10 casos reales pioneros con recibos de coste reales y demostraciones en vídeo.

Nota

Herramientas prácticas de Yuriy (@yuriisams):
Para usar Jev de forma práctica en Claude Code, descarga el archivo del autor con hooks UserPromptSubmit listos para el enrutamiento automático de modelos (jev-router) y la selección dinámica de skills (jev-skills):
Descargar el archivo completo JEV-Guide.zip (28 KB) →

Demostración de la velocidad de TypeSafe Jev: verificación instantánea de afirmaciones con latencia de 69–83 ms y confianza calibrada ЗбільшитиDemostración de la velocidad de TypeSafe Jev: verificación instantánea de afirmaciones con latencia de 69–83 ms y confianza calibradaDemostración de la velocidad de TypeSafe Jev: verificación instantánea de afirmaciones con latencia de 69–83 ms y confianza calibrada

1. Cambio de paradigma: System One frente a los LLM clásicos (System Two)

El nombre del concepto proviene de la psicología cognitiva y de la obra fundamental del laureado con el Premio Nobel Daniel Kahneman, «Pensar rápido, pensar despacio».

Kahneman divide el pensamiento humano en dos sistemas:

  • Sistema 1 (System One): Reacción rápida, intuitiva, automática y casi instantánea ante patrones conocidos (por ejemplo, identificar la expresión facial del interlocutor, detectar un peligro en la carretera o distinguir spam de un correo importante en una fracción de segundo).
  • Sistema 2 (System Two): Trabajo lento, consciente y analítico que requiere concentración de esfuerzo y pasos secuenciales (resolver una ecuación, redactar un documento de arquitectura o demostrar lógicamente un teorema).
mermaid
flowchart TD subgraph Classic["Класичний LLM-підхід (System Two)"] direction TB Input1["Промпт + Неструктуровані дані"] --> Autoreg["Авторегресивна генерація токен за токеном (1500–4000 мс)"] Autoreg --> Prose["Текстова відповідь або JSON у Markdown-паркані"] Prose --> Parser{"Парсинг JSON / Regex"} Parser -->|Синтаксична помилка / Зламаний JSON| Retry["Повторний запит / Retry Loop (+$0.03)"] Parser -->|Валідно| App1["Бізнес-логіка програми"] end subgraph SystemOneFlow["Підхід TypeSafe Jev (System One)"] direction TB Input2["State (Контекст) + Набір типізованих питань"] --> JevEngine["Оцінка логітів і ймовірностей у паралелі (~100 мс)"] JevEngine --> DirectOutput["Типізовані значення + Розподіл ймовірностей + Confidence"] DirectOutput --> App2["Детермінований код (if / switch / weights)"] end

Por qué los LLM generativos rompen los pipelines de software

La mayoría de las decisiones en servicios backend no son ensayos filosóficos, sino elecciones discretas y concretas:

  • «¿Esta transacción pertenece a las sospechosas?» (true o false).
  • «¿A qué departamento dirigir este ticket: facturación, soporte técnico o ventas?» (billing | tech | sales).
  • «¿Qué tan irritado está el cliente en una escala de 1 a 5?» (1..5).

Cuando un ingeniero obliga a un modelo generativo pesado como GPT-6.1 Sol, Claude Opus 5.5 o Claude Fable a responder a estas preguntas, surge una incompatibilidad fundamental con la naturaleza de la herramienta:

  • Latencia autorregresiva: El modelo debe generar tokens secuencialmente, uno tras otro. Incluso una respuesta breve tarda 1.5–3 segundos debido a la espera de red y a la cuantización de la generación.
  • Fragilidad del modo JSON: Los modelos generativos a menudo añaden comentarios, omiten comillas o envuelven la respuesta en ```json ... ```, obligando a los desarrolladores a escribir sanitizadores complejos y mecanismos de reintento.
  • Ineficiencia económica: Se paga el costo completo de los tokens de salida (output tokens), que en las API comerciales cuestan entre 3 y 5 veces más que los de entrada.
  • Degradación de atención (Context Rot): Si se hacen varias preguntas consecutivas al mismo modelo en un chat, el contexto creciente diluye la atención y aumenta la probabilidad de error.
Nota

Principio Jev: Jev no tiene un mecanismo de generación autorregresiva de texto para el usuario. El modelo lee el estado de entrada (state), lo pasa por un transformer y calcula distribuciones de probabilidad normalizadas sobre categorías predefinidas en un único paso directo. El resultado se devuelve inmediatamente como una estructura de datos estrictamente tipada.


2. Economía, velocidad y benchmarks: $0.042 por 1M de tokens y 100 ms

La economía de Jev cambia las reglas del juego para servicios de alta carga. En lugar de pagar por cada palabra de salida, los desarrolladores pagan exclusivamente por los tokens de entrada.

Tabla comparativa de costos y características

CaracterísticaTypeSafe Jev 1.13OpenAI GPT-6.1 SolAnthropic Claude Opus 5.5Google Gemini 3.8 Flash
Clase de arquitecturaSystem One (Decisión)System Two (Generativa)System Two (Generativa)System Two (Generativa)
Costo de tokens de entrada (1M)$0.042$3.00$5.00$0.10
Costo de tokens de salida (1M)$0.00 (¡Gratis!)$12.00$25.00$0.40
Latencia típica (P50)~90–120 ms1200–2400 ms1400–2800 ms400–700 ms
Límites de throughput100K tok/s, 40 RPSDepende del TierDepende del TierDepende del Tier
Ventana de contexto de la solicitud64 000 tokens256 000 tokens500 000 tokens2 000 000 tokens
Necesidad de parseo de respuestasNinguna (Tipos nativos)JSON.parse / RegexJSON.parse / RegexJSON.parse / Regex
Importante

Tokens de salida gratuitos: Dado que Jev no genera texto libre, TypeSafe factura únicamente el contexto de entrada (state + pregunta). 1 000 millones de tokens de procesamiento cuestan solo $42. Para comparación, el mismo volumen en GPT-6.1 Sol o Claude Opus 5.5 costaría al menos $3,000 – $7,500.

Benchmark real: MotherDuck (SQL Text Classification)

El equipo de la base de datos analítica en la nube MotherDuck integró la función prompt_jev() directamente en el dialecto SQL para clasificar registros de texto a escala industrial.

Resultados de la prueba sobre un conjunto de 100 000 filas:

  • LLM frontier clásico: tiempo de ejecución — 32 minutos, costo de cómputo — $37.00.
  • TypeSafe Jev: tiempo de ejecución — 40 segundos, costo de cómputo — $0.50.
  • Resumen: Jev completó la tarea 48 veces más rápido y 74 veces más barato, demostrando paridad total en la calidad de clasificación.

3. Anatomía de la solicitud: Structured State y direccionamiento puntual Dot-Path

La solicitud a Jev consta de dos componentes fundamentales:

  1. state (estado): El contexto de la tarea en forma de texto simple, cadena o documento JSON anidado (registro de eventos, transacción, perfil de usuario, código, contenido de página).
  2. questions (conjunto de preguntas): Un diccionario de preguntas que el modelo debe evaluar simultáneamente sobre el estado proporcionado.

Principio de aislamiento del contexto y prevención de Context Rot

Un error clásico al trabajar con modelos grandes es enviar todo el historial de diálogos previos y los prompts de servicio. En Jev rige una regla estricta de higiene del contexto: proporcione en state solo los datos necesarios para tomar las decisiones específicas. El modelo recibe el estado una vez y calcula en paralelo todas las preguntas.

Direccionamiento puntual mediante Dot-and-Index Paths

Cuando su state es un objeto JSON estructurado complejo, puede referirse a campos específicos y elementos de arrays directamente en el texto de la pregunta usando backticks:

json
{ "state": { "account": { "id": "acc_8921", "tier": "enterprise", "risk_score": 12 }, "transaction": { "id": "tx_441", "amount_usd": 12500, "country": "UA", "merchant": "Cloud Infrastructure Ltd" }, "security_policy": "Транзакції понад $10,000 для акаунтів enterprise дозволені, якщо risk_score нижче 20." }, "questions": { "policy_allows_tx": { "type": "noul", "instructions": "Чи дозволяє `security_policy` проведення транзакції `transaction.amount_usd` з огляду на `account.tier` та `account.risk_score`?" }, "country_anomaly": { "type": "noul", "instructions": "Чи є `transaction.country` неочікуваною або підозрілою локацією для постачальника `transaction.merchant`?" } } }

El modelo Jev está optimizado específicamente para navegar por el árbol JSON. Cuando ve `transaction.amount_usd`, su capa de atención se enfoca exactamente en la clave indicada, eliminando ambigüedad y previniendo interpretaciones erróneas.


4. Tres primitivas de IA: análisis detallado de Choice, Score y Noul

TypeSafe construyó el sistema en torno a tres primitivas mínimas y complementarias. Cada una está diseñada para un tipo matemático específico de decisión. En cada subsección siguiente se ha integrado una demo interactiva independiente, donde puede seleccionar un prompt predefinido y probar el funcionamiento de la primitiva en acción.

4.1. Primitiva Choice: selección desde una lista discreta de categorías

Choice se aplica cuando la respuesta debe ser una categoría de un listado fijo y no ordenado de opciones.

typescript
import { choice } from "@typesafe-ai/sdk"; const departmentQuestion = choice("До якого відділу направити запит?", { billing: "Питання повернення коштів, рахунків, підписок або помилок оплати", technical: "Баги в API, збої 500, проблеми з інтеграцією, падіння сервісу", sales: "Корпоративні тарифи, запити на демо, знижки від обсягу", other: "Будь-які інші запити, що не підпадають під перелічені категорії" });

Qué devuelve Jev para Choice:

  • choice: Clave de la categoría seleccionada (por ejemplo, "technical").
  • probabilities: Distribución completa de probabilidades sobre todas las opciones: {"billing": 0.04, "technical": 0.92, "sales": 0.02, "other": 0.02}.
  • confidence: Número entre 0.0 y 1.0 que mide la claridad del dominio de la opción líder sobre las demás.
Consejo

Regla de oro de Choice: Añada siempre la categoría other o none_of_the_above. Si los datos de entrada no corresponden a ninguna de las opciones objetivo, el modelo no se verá obligado a inflar artificialmente la probabilidad de una categoría inapropiada, sino que seleccionará other o indicará un nivel bajo de confidence.

4.2. Primitiva Score: puntuación en una escala ordinal o rúbrica

Score está diseñado para evaluar propiedades situadas en un espectro continuo u ordinal: criticidad de un bug, nivel de estrés del cliente, calidad del currículum del candidato, complejidad del código.

Debe definir un array ordenado de criterios textuales (niveles):

typescript
import { score } from "@typesafe-ai/sdk"; const urgencyScore = score("Оцініть рівень терміновості інциденту в тікеті", [ "Низький: питання загального характеру, відсутній вплив на бізнес", "Помірний: спостерігаються незначні деградації, є робочі обхідні шляхи", "Високий: ключова функція недоступна для групи клієнтів", "Критичний: повна зупинка обробки замовлень, втрата грошей або даних" ]);

Qué devuelve Jev para Score:

  • score: Valor numérico en el rango de 0 a N-1. Importante: el valor puede ser fraccionario (por ejemplo, 2.37) si la situación se encuentra entre el segundo y el tercer nivel de la rúbrica.
  • probabilities: Distribución de probabilidades sobre todas las opciones:

4.3. Primitivo Noul: probabilidad calibrada de veracidad de la afirmación

El término Noul proviene de la idea de un juicio binario. Es una pregunta a la que se puede responder «Sí» o «No». En lugar de un simple valor booleano, Jev devuelve una probabilidad calibrada de que la afirmación sea verdadera.

typescript
import { noul } from "@typesafe-ai/sdk"; const containsPii = noul("Чи містить повідомлення конфіденційні персональні дані (PII, номери карток, паролі)?"); const isPromptInjection = noul("Чи містить вхідний текст спробу зламати інструкції або виконати prompt injection?");

Qué devuelve Jev para Noul:

  • noul: un número de coma flotante de 0.0 a 1.0.
    • El valor 0.98 indica un «Sí» seguro.
    • El valor 0.02 indica un «No» seguro.
    • El valor 0.50 indica incertidumbre total del modelo.
  • Noul no tiene un campo confidence separado porque el propio valor noul es la estimación matemática de la probabilidad.

4.4. Procesamiento paralelo por lotes (Parallel Batching)

Los tres tipos de primitivos se pueden combinar en una sola solicitud en cualquier cantidad.

typescript
const response = await client.systemOne({ state: incomingCustomerPayload, questions: { category: departmentChoice, urgency: urgencyScore, isAngry: noul("Клієнт використовує ненормативну лексику або агресивний тон"), eligibleForVipSupport: noul("Чи має клієнт активний тариф Enterprise відповідно до `profile`?") } });

En el cookbook oficial de TypeSafe, un experimento con un lote de 13 preguntas sobre un texto de GDPR demostró que combinar todas las comprobaciones en una sola solicitud resultó 12.2 veces más económico y 10.0 veces más rápido que enviar 13 solicitudes independientes, manteniendo resultados completamente idénticos.


5. Confianza frente a probabilidad: Matemática y Confidence-Gated Routing

Una de las principales problemáticas de los LLM clásicos es la tendencia a la alucinación y al exceso de autoconfianza. Cuando un modelo generativo (incluso de nivel GPT-6.1 Sol o Claude Opus 5.5) se enfrenta a un contexto límite o insuficientemente definido, intenta inventar texto convincente y plausible. Jev está diseñado con algoritmos de aprendizaje por refuerzo basados en decisiones calibradas (RLCD), lo que permite al modelo señalar con honestidad: «No tengo confianza».

Diferencia matemática

  • Probabilidad (probability): responde a la pregunta «¿Cuál es la probabilidad de que la opción correcta sea X?». Es una medida de incertidumbre aleatoria dentro de las opciones dadas.
  • Confianza (confidence): responde a la pregunta «¿Con qué claridad una opción domina sobre todas las demás?». Es una medida de la confianza epistémica del modelo en su elección.

Para $K$ opciones en una pregunta Choice, la fórmula de cálculo normalizado de confianza TypeSafe tiene el siguiente aspecto:

$$\text{Confidence} = \max\left(0, \min\left(1, \frac{K \cdot p_{\max} - 1}{K - 1}\right)\right)$$

donde:

  • $K$ — número total de categorías disponibles.
  • $p_{\max}$ — probabilidad más alta entre todas las categorías.

Ejemplo de interpretación para 3 opciones ($K = 3$):

  • Si las probabilidades se distribuyen como [0.90, 0.06, 0.04], entonces $p_{\max} = 0.90$.

    $\text{Confidence} = \frac{3 \cdot 0.90 - 1}{2} = \frac{1.7}{2} = 0.85$ (Alta confianza).

  • Si las probabilidades son uniformes [0.34, 0.33, 0.33], entonces $p_{\max} = 0.34$.

    $\text{Confidence} \approx \frac{3 \cdot 0.34 - 1}{2} = \frac{0.02}{2} = 0.01$ (El modelo no tiene una opción dominante; incertidumbre total).

Plantilla de enrutamiento de tres niveles (Confidence-Gated Routing)

Gracias a la métrica confidence, los ingenieros pueden construir sistemas de automatización confiables con tres circuitos de seguridad:

mermaid
flowchart TD Result["Відповідь Jev + Confidence"] --> Check{Рівень впевненості} Check -->|Confidence >= 0.85| Auto["Tier 1: Автономна дія (Виконати транзакцію, закрити тікет)"] Check -->|0.50 <= Confidence < 0.85| Verify["Tier 2: М'яка перевірка (Запитати підтвердження у юзера / Soft Warning)"] Check -->|Confidence < 0.50| Fallback["Tier 3: Ескалація (Передати людині-оператору або важкій reasoning LLM)"]
typescript
const actionAnswer = response.answers.selected_action; if (actionAnswer.confidence >= 0.85) { // Висока впевненість: автономне виконання await executeAutomatedWorkflow(actionAnswer.choice); } else if (actionAnswer.confidence >= 0.50) { // Помірна впевненість: дія з підтвердженням користувача await requestUserConfirmation({ suggestedAction: actionAnswer.choice, confidence: actionAnswer.confidence, distribution: actionAnswer.probabilities }); } else { // Низька впевненість: модель не знає, що робити await routeToHumanOperator({ reason: "Low confidence decision", state: incomingPayload }); }

6. Patrones de arquitectura de nivel de producción (Production Patterns)

La experiencia de cientos de proyectos en Jev ha permitido cristalizar cinco patrones arquitectónicos clave para el diseño de sistemas inteligentes.

6.1. Abanico especulativo (Speculative Fan-Out)

En el código clásico, los desarrolladores primero evalúan una condición y luego invocan la siguiente función. En el mundo de Jev, las preguntas se calculan en paralelo, y añadir nuevas preguntas apenas modifica el tiempo de respuesta.

Patrón: en la primera solicitud, envíe no solo las preguntas obligatorias, sino también preguntas hipotéticas cuyas respuestas solo serán necesarias en determinadas ramas del código.

typescript
// Надсилаємо одночасно і загальну класифікацію, і специфічні запитання const response = await client.systemOne({ state: incomingBugReport, questions: { isBugReport: noul("Чи є цей документ повідомленням про помилку в софті?"), // Спекулятивні запитання: backendComponent: choice("Який компонент постраждав?", { auth: null, payments: null, database: null, other: null }), securityVulnerability: noul("Чи містить звіт опис потенційної вразливості безпеки?"), estimatedSeverity: score("Серйозність інциденту", ["Косметична", "Середня", "Блокуюча"]) } }); // У коді просто ігноруємо специфічні поля, якщо це не баг: if (response.answers.isBugReport.noul > 0.8) { if (response.answers.securityVulnerability.noul > 0.7) { await alertSecurityTeam(response.answers.estimatedSeverity.score); } else { await assignTicket(response.answers.backendComponent.choice); } }

6.2. Puntuación compuesta (Composite Scoring)

En lugar de solicitar al modelo que evalúe de forma abstracta un lead del 1 al 100, descomponga la puntuación en factores atómicos y objetivos. Combine estos factores en una puntuación final mediante una fórmula matemática determinista en su código:

$$\text{LeadScore} = 0.40 \cdot \text{BudgetConfirmed} + 0.35 \cdot \text{DecisionMakerRole} + 0.25 \cdot \text{Urgency}$$

typescript
const answers = response.answers; const compositeScore = 0.40 * answers.budget_mentioned.noul + 0.35 * answers.decision_maker_role.noul + 0.25 * answers.urgency.noul;

Si las prioridades empresariales de la compañía cambian, no es necesario reescribir un prompt de sistema extenso ni volver a probar alucinaciones; simplemente se modifican los coeficientes numéricos 0.40, 0.35 y 0.25 en el código TypeScript.

6.3. Cascada de extracción estructurada (SDE Cascade)

Cuando necesite extraer datos complejos de texto no estructurado, construya un pipeline de dos etapas:

  1. Etapa 1: Un analizador rápido o expresiones regulares identifican entidades potenciales (fechas, importes, referencias, correo electrónico).
  2. Etapa 2 (Jev): Una serie de preguntas Choice o Noul verifica y selecciona entre los candidatos aquellos que se ajustan al contexto.
  3. Etapa 3 (solo para el 2–3 % de colisiones): Si Jev devuelve confidence < 0.5, la solicitud se envía a un modelo pesado de razonamiento profundo (GPT-6.1 Sol o Claude Opus 5.5).

Este enfoque reduce la factura total por LLM en la nube en un 90–95 %.

6.4. Cortafuegos de invocación de herramientas (Tool-Call Firewall)

Los agentes de IA con acceso a consola o invocación de herramientas (MCP, bash, SQL) implican un riesgo enorme de eliminación irreversible de datos o ejecución de código malicioso.

Con Jev se crea un cortafuegos rápido: cada comando generado por el agente se envía a Jev antes de su ejecución con 5–7 preguntas de seguridad:

  • «¿Este comando modifica archivos del sistema?»
  • «¿Se transmiten variables de entorno confidenciales a hosts externos?»
  • «¿La acción corresponde a la solicitud inicial del usuario?»

Una latencia de 100 ms es imperceptible para el agente, pero protege de forma fiable el sistema frente a operaciones peligrosas.


7. Programación práctica: pipelines listos en TypeScript y Python

A continuación se presentan ejemplos listos para producción de un servicio de procesamiento de solicitudes entrantes de clientes y de puntuación de riesgo financiero mediante los SDK TypeSafe oficiales para TypeScript y Python.

7.1. Pipelines industriales: procesamiento de solicitudes de clientes

typescript
import { TypeSafeClient, choice, score, noul } from "@typesafe-ai/sdk"; // 1. Ініціалізація клієнта (бере TYPESAFE_API_KEY зі змінних середовища) const client = new TypeSafeClient(); interface SupportState { ticketId: string; userEmail: string; accountAgeDays: number; messageText: string; attachedLogs?: string; } export async function processCustomerMessage(ticket: SupportState) { try { // 2. Виклик System One з паралельними питаннями const response = await client.systemOne({ state: { ticket_id: ticket.ticketId, user_tier: ticket.accountAgeDays > 365 ? "vip" : "standard", content: ticket.messageText, logs: ticket.attachedLogs ?? "Немає логів" }, questions: { // Категоризація запиту (Choice) topic: choice("Яка основна тема звернення користувача?", { billing: "Проблеми з оплатою, картками, підпискою, запит на повернення грошей", bug_report: "Повідомлення про збій у додатку, помилку в інтерфейсі або API", feature_request: "Побажання щодо покращення функціоналу, нові інструменти", account: "Проблеми зі входом, зміна пошти або скидання пароля", other: "Питання, які не підпадають під жодну з попередніх категорій" }), // Оцінка за шкалою роздратування (Score) frustration_level: score("Наскільки користувач роздратований у `content`?", [ "Спокійний: діловий, нейтральний тон, виклад фактів", "Стурбований: відчувається легке невдоволення або нетерпіння", "Розлючений: агресія, погрози піти до конкурентів, скарги", "Екстремальний: ненормативна лексика, caps lock, вимога негайного дзвінка керівництва" ]), // Перевірка на терміновість (Noul) is_urgent: noul("Чи вказує користувач у `content`, що його продакшен зупинений або проблема критична для бізнесу?"), // Перевірка на наявність витоку секретів у тексті (Noul) contains_leaked_secrets: noul("Чи містить `content` або `logs` приватні API-ключі, токени доступу чи паролі?") } }); const { topic, frustration_level, is_urgent, contains_leaked_secrets } = response.answers; // 3. Детермінована логіка маршрутизації console.log(`[Ticket ${ticket.ticketId}] Тема: ${topic.choice} (Впевненість: ${topic.confidence.toFixed(2)})`); console.log(`[Ticket ${ticket.ticketId}] Рівень стресу: ${frustration_level.score.toFixed(2)}/3.00`); // Безпековий контур if (contains_leaked_secrets.noul > 0.85) { console.warn(`[SECURITY ALERT] Виявлено можливий витік ключів у тікеті ${ticket.ticketId}. Автоматичне маскування!`); } // Маршрутизація на основі впевненості if (topic.confidence < 0.50) { return { status: "manual_triage", reason: "Model uncertain about topic" }; } if (is_urgent.noul > 0.80 || frustration_level.score > 2.0) { return { status: "escalated_p1", department: topic.choice, priority: "CRITICAL", confidence: topic.confidence }; } return { status: "routed", department: topic.choice, priority: "NORMAL", confidence: topic.confidence }; } catch (error) { console.error("Помилка під час виклику Jev API:", error); throw error; } }

8. Análisis de los 10 mejores casos de uso mundiales con demostraciones en video (Receipts)

La comunidad de ingenieros en las plataformas shipwithjev.com, jevbest.com y jevable.com ha demostrado decenas de aplicaciones revolucionarias de Jev. A continuación se presenta un análisis detallado de los 10 casos de uso líderes a nivel mundial: a la izquierda se muestra un reproductor interactivo de una demostración real o de telemetría, y a la derecha, un análisis estructurado del problema, de la solución arquitectónica con Jev y del comprobante confirmado de velocidad y costo.

8.1. Browser Use + Jev: Agente autónomo de búsqueda de boletos de avión

8.2. Toolgate: Firewall de llamadas a herramientas MCP y Claude Code

8.3. Astra + Jev en Minecraft: Agente en tiempo real System One + Two

8.4. Jev Driver: Conducción autónoma de vehículos en el navegador

8.5. 2048Jev: Jev juega al 2048 en tiempo real

8.6. Semantic Jev: Consultas en lenguaje natural mediante SQL

8.7. MotherDuck: Clasificación con prompt_jev() directamente en SQL

8.8. Jev Swap: Búsqueda de llamadas a LLM que deben reemplazarse por Jev

8.9. ElevenLabs: Detección de estafadores telefónicos en tiempo real

8.10. Softlint: AI-linter en CI para reglas semánticas de código


9. Integración en pipelines de agentes: Claude Code, Codex y MCP Toolgate

Los agentes de codificación autónomos modernos (Claude Code, OpenAI Codex, Antigravity, Cursor) se enfrentan a tres cuellos de botella críticos: el hinchazón de contexto (Context Bloat) debido a decenas de herramientas conectadas, el uso irracional de modelos insignia ultracostosos para tareas triviales y el riesgo de acciones destructivas incontroladas en la terminal.

Jev System One actúa como una capa refleja ultrarrápida (L0/L1) del sistema de agentes: toma decisiones discretas en ~80–90 ms a un coste inferior a $0.0003, optimizando todo el ciclo de trabajo del agente.

9.1. Enrutamiento dinámico de modelos según tipos de tareas (Model Tier Routing)

En los pipelines de agentes clásicos, los desarrolladores fijan rígidamente un único modelo (por ejemplo, Claude 3.7 Sonnet o GPT-4.5) para todas las subtareas, o invocan una LLM pesada para analizar la solicitud, lo que añade 2–4 segundos de latencia y gastos innecesarios en cada paso.

Jev clasifica la intención y la complejidad de la tarea en ~85 ms, dirigiendo la solicitud al nivel de modelos correspondiente:

  • Fast Tier (microtareas rápidas): Formateo de código, escritura de pruebas unitarias simples, generación de validadores y documentación. Se dirige a Gemini 2.5 Flash o GPT-4o-mini ($0.05–$0.15 por 1M de tokens).
  • Balanced Tier (codificación estándar): Implementación de funcionalidades, refactorización de funciones, integración de API y corrección de bugs de complejidad media. Se dirige a Claude 3.5 Sonnet o DeepSeek V3 ($3.00 por 1M de tokens).
  • Deep Reasoning Tier (arquitectura crítica): Análisis profundo de condiciones de carrera, diseño de bases de datos y auditoría criptográfica integral. Se dirige a Claude 3.7 Sonnet Thinking u OpenAI o3-mini ($12.00–$15.00 por 1M de tokens).
typescript
import { TypeSafeClient } from "@typesafe/sdk"; const client = new TypeSafeClient({ apiKey: process.env.TYPESAFE_API_KEY }); export async function routeTaskToOptimalModel(taskDescription: string, codeDiff: string) { // Jev за ~85 мс класифікує складність завдання та повертає оптимальний тир моделі const response = await client.systemOne({ state: `Завдання: ${taskDescription}\nЗміни в коді:\n${codeDiff.slice(0, 3000)}`, questions: { model_tier: { type: "choice", instructions: "Determine the minimum model capability tier required to solve this programming task reliably.", categories: { fast: "Trivial task: boilerplate, comments, formatting, simple regex, single unit test", balanced: "Standard coding: feature implementation, bug fix, API handler, refactoring 1-2 files", reasoning: "Complex logic: multi-file architecture, distributed concurrency, deep debugging, security audit", }, default: "balanced", }, needs_web_search: { type: "noul", instructions: "Is this task referencing fresh 2026 libraries, breaking API changes, or unknown external documentation?", }, }, }); const tier = response.answers.model_tier.category; const isSearchNeeded = response.answers.needs_web_search.probability > 0.75; return { model: tier === "fast" ? "gemini-2.5-flash" : tier === "reasoning" ? "claude-3.7-sonnet" : "claude-3.5-sonnet", enableWebSearch: isSearchNeeded, latencyMs: response.telemetry?.latencyMs, }; }
Consejo

Resultado del enrutamiento mediante Jev: el ahorro en los costes de la API del agente va del 65% al 82%, y la primera respuesta a tareas pequeñas aparece 4 veces más rápido que al utilizar un único modelo pesado.

9.2. Ranqueamiento y carga de skills bajo demanda (Dynamic Skill Selection)

Un desarrollador moderno puede tener en su entorno 30–80 skills de agente (skills/*), plugins y herramientas. Si se pasan las especificaciones e instrucciones completas de todos los skills al prompt de sistema del agente:

  • Se consumen 15,000 a 35,000 tokens en cada iteración del diálogo.
  • El modelo comienza a confundirse entre herramientas similares (Tool Hallucination / Overload).
  • La velocidad de la primera respuesta del agente cae a 5–10 segundos.

Jev implementa una arquitectura de On-Demand Skill Ingestion. El agente mantiene en memoria solo descripciones ligeras de una línea de los skills disponibles, y Jev, en cada paso, los ranquea en ~80 ms y selecciona los 1–2 más necesarios:

typescript
export async function selectActiveAgentSkills( userPrompt: string, availableSkills: Array<{ name: string; triggerDescription: string }> ) { // Формуємо словник доступних скілів для примітиву Choice const categories = Object.fromEntries( availableSkills.map((s) => [s.name, s.triggerDescription]) ); categories["none"] = "No specialized skill required, general programming knowledge is sufficient"; const response = await client.systemOne({ state: `Поточний запит користувача: "${userPrompt}"`, questions: { primary_skill: { type: "choice", instructions: "Identify the single most relevant skill needed to accomplish this specific request.", categories, default: "none", }, secondary_skill_needed: { type: "noul", instructions: "Does this task explicitly require combining two distinct workflows (e.g., database audit + security hardening)?", }, }, }); const selectedSkill = response.answers.primary_skill.category; const isComposite = response.answers.secondary_skill_needed.probability > 0.8; return { loadSkills: selectedSkill !== "none" ? [selectedSkill] : [], isCompositeTask: isComposite, confidence: response.answers.primary_skill.confidence, }; }
Nota

Por qué funciona más rápido: En lugar de pasar 30k tokens, el agente envía a Jev solo la solicitud del usuario (~200 tokens). Al obtener el nombre del skill necesario, el agente carga directamente el archivo SKILL.md correspondiente antes de su ejecución. Esto mantiene la ventana de contexto limpia para el código del proyecto.

9.3. Firewall de seguridad toolgate para MCP y terminal

El proyecto de código abierto toolgate añade una capa intermedia de verificación (middleware) para cualquier llamada al protocolo Model Context Protocol (MCP). Cada vez que un agente autónomo inicia un comando de terminal (bash, npm run, git reset) o sobrescribe archivos, Jev calcula en paralelo 7 probabilidades de riesgo destructivo Noul:

  1. Eliminación peligrosa de archivos: Probabilidad de acciones destructivas (rm -rf, borrado de directorios fuera del repositorio).
  2. Fuga de datos sensibles: Intento de mostrar variables de entorno (.env, AWS_SECRET_ACCESS_KEY, claves SSH privadas).
  3. Escalada de privilegios: Uso de sudo, modificación de archivos de sistema en /etc/ o ~/.ssh/.
  4. Destrucción del historial de Git: Llamadas a git push --force o reset de ramas sin confirmación.
  5. Anomalías de red: Apertura no autorizada de sockets o envío de datos a IP externas.
  6. Desviación de la tarea inicial (Scope Drift): Intento del agente de modificar archivos sin relación con la tarea asignada.
  7. Coste financiero de la operación: Ejecución de scripts pesados en la nube o despliegue sin consentimiento del usuario.

Si el índice de riesgo agregado supera el umbral 0.85, la acción se bloquea inmediatamente y el operador recibe una notificación con una descripción precisa de la amenaza.

9.4. Matriz comparativa: agente clásico frente a agente con Jev System One

Parámetro de operaciónEnfoque clásico (Full Context / Heavy LLM)Agente con integración Jev System OneBeneficio para el proyecto
Selección de modelo por tareaModelo insignia fijo o enrutador LLM pesado (2–4 s, ~$0.02)Enrutador Choice de Jev System One (~85 ms, $0.0003)-98% de latencia, -98,5% de coste
Selección y carga de skillsTodos los 40–80 skills en el prompt (25.000+ tokens por paso)Clasificación en 80 ms y carga de 1–2 skills bajo demandaAhorro de hasta el 90% del contexto
Control de seguridad de herramientasReglas regex simples o ausencia total de protección7 comprobaciones Noul paralelas antes de cada llamada a herramientaProtección frente a acciones no autorizadas
Velocidad de inicio del agente4–9 segundos de espera hasta el primer token600–900 ms hasta el inicio de la ejecución del pasoInicio 5–7 veces más rápido
Coste medio de 100 pasos del agente~$4.50 – $8.00~$0.85 – $1.40Ahorro de costes del 75–85%

9.5. Instalación del skill oficial para agentes

TypeSafe ofrece plugins de integración listos para usar con agentes:

9.6. Conjunto de herramientas listo para Claude Code creado por Yuriy (@yuriisams)

El desarrollador y practicante Yuriy (@yuriisams) creó una automatización lista para usar basada en Jev directamente para el agente de terminal Claude Code. Son dos herramientas autónomas que se integran como hooks UserPromptSubmit y se activan automáticamente con cada mensaje del usuario, manteniendo el control completo en manos del desarrollador.

De forma predeterminada, ambas herramientas están desactivadas: mientras no se activen, Claude Code funciona en modo estándar y no envía datos a ningún destino. Si el servicio Jev no está disponible o la confianza del modelo es baja, Claude continúa la ejecución habitual de forma transparente.

Herramienta en el archivoPropósitoCómo funciona internamenteUbicación
jev-router.zipEnrutador de modelosJev clasifica la tarea (tiny, everyday, large, hardest), tras lo cual Claude responde por sí mismo o invoca a Haiku, Sonnet u Opus.~/.jev-router/router.py
jev-skills.zipSelector de skillsJev revisa las skills en ~/.claude/skills/; con una confianza $\ge 60%$ sugiere a Claude la skill adecuada en lugar de adivinar.~/.jev-skills/hook.py
Jev-README.mdGuíaGuía paso a paso completa en ucraniano y configuración.Raíz del archivo

Instalación paso a paso en la máquina de trabajo

bash
# Створюємо тимчасову теку та завантажуємо авторський архів mkdir -p ~/jev-setup && cd ~/jev-setup curl -L -o JEV-Guide.zip https://gotburnout.io/downloads/JEV-Guide.zip unzip JEV-Guide.zip

Conexión de los hooks en ~/.claude/settings.json

En el archivo de configuración ~/.claude/settings.json, agregue los hooks al arreglo hooks.UserPromptSubmit (sin eliminar otros hooks existentes):

json
{ "hooks": { "UserPromptSubmit": [ { "type": "command", "command": "python3 ~/.jev-router/router.py", "timeout": 5, "statusMessage": "Jev sizing up your message..." }, { "type": "command", "command": "python3 ~/.jev-skills/hook.py", "timeout": 8, "statusMessage": "Jev picking a skill..." } ] } }
Consejo

Instrucción para el modelo: Agregue el contenido del archivo claude-md-snippet.md del ZIP a su archivo global ~/.claude/CLAUDE.md. Esto enseñará a Claude a reaccionar correctamente a las etiquetas de servicio del enrutador y del selector de skills.

Control y comandos rápidos en la terminal

Después de reiniciar Claude Code, puede activar o desactivar las herramientas en cualquier momento:

  • Control del enrutador de modelos: jev router on / jev router off / jev router status.

  • Control del selector de skills: jev skills on / jev skills off / jev skills status.

  • Comprobación puntual sin activar los hooks:

    bash
    python3 ~/.jev-skills/picker.py "налаштувати nginx для reverse proxy з ssl"

Descargar el archivo JEV-Guide.zip preparado por Yuriy (@yuriisams) →


10. Trampas, limitaciones de Jev 1.13 y lista de verificación de implementación

Jev es una herramienta potente, pero no es una solución universal. Comprender sus límites permite evitar errores críticos durante la fase de diseño.

Bordes irregulares conocidos (Jagged Edges) de la versión actual jev-1.13.0

  • Límites de contexto: el tamaño máximo de solicitud es de 64k tokens, pero el estado (state) más la pregunta más larga no deben superar los 32k tokens. Al acercarse al límite de 32k, la precisión del modelo comienza a degradarse de forma gradual.
  • Solo texto: Jev no admite la ingesta directa de imágenes, vídeo ni audio. Todos los datos multimedia deben transcribirse (por ejemplo, mediante Whisper) o convertirse en texto estructurado antes de pasarse a state.
  • Especificidad lingüística: el modelo se entrenó principalmente con un corpus en inglés. Es capaz de procesar ucraniano, polaco o español, pero la precisión más alta se alcanza con el siguiente esquema:
    Consejo

    Consejo para proyectos localizados: pase el texto local del usuario (por ejemplo, en ucraniano) en el campo state, pero escriba las instrucciones (instructions) y los criterios (criteria) de las preguntas en inglés. Jev correlaciona muy bien las reglas en inglés con el contexto en ucraniano.

Lista de verificación de preparación para el despliegue en producción

  • En el cuerpo del artículo y del servicio no hay prompts de sistema superfluos; solo se transmite state limpio.
  • Todas las preguntas Choice contienen una categoría predeterminada (other o none_of_the_above).
  • Las preguntas relacionadas se agrupan en una única llamada paralela a client.systemOne.
  • Se implementa un enrutamiento de tres niveles basado en confidence (Tier 1 / Tier 2 / Tier 3).
  • Los umbrales de confianza están diferenciados: más altos para operaciones destructivas ($>0.90$) y moderados para operaciones read-only ($>0.60$).
  • Se configura un retry automático con backoff exponencial para gestionar posibles errores HTTP 429 Rate Limit.
  • Las constantes de las preguntas y los valores de umbral se han extraído a un archivo de configuración independiente.
  • Se verifica el tamaño del estado de entrada (no supera 32k tokens por pregunta).
  • Se prevé una ruta de fallback a un LLM de razonamiento clásico para confianza anormalmente baja.
  • Se registran los valores de response.model y answers.*.confidence para el análisis posterior de la distribución de decisiones.

11. Alternativas locales de pesos abiertos: Laya, GLiNER2.5-Decide y CLM-8B

Aunque el Jev en la nube de TypeSafe ofrece tarifas extremadamente asequibles ($0.042 por 1M de tokens), para muchos sistemas corporativos es crítico mantener control total sobre los datos (On-Premise, GDPR, HIPAA, secreto bancario) o tener cero dependencia de API de terceros y de latencias de red.

La comunidad open-source adoptó rápidamente el paradigma System One y publicó modelos de decisión de pesos abiertos (Open-Weight Decision Models) que pueden ejecutarse localmente en un servidor propio, una GPU o incluso un portátil con Apple Silicon.

11.1. Laya de Convai Innovations: gemelo open-source directo de Jev

Laya es el primer análogo abierto directo de Jev, construido bajo la misma filosofía: un modelo de decisión no autorregresivo que nunca genera texto libre, sino que evalúa preguntas tipificadas en una sola pasada directa del transformador (~33 ms en GPU).

El modelo se entrenó mediante aprendizaje por refuerzo basado en reglas de evaluación estrictamente correctas (RLCD — Reinforcement Learning for Calibrated Decisions), lo que garantiza un calibrado probabilístico matemáticamente honesto.

  • Stack y arquitectura: encoder ModernBERT-large (421M de parámetros) para inglés y mmBERT-base (322M de parámetros) para más de 100 idiomas.
  • Soporte de primitivas: soporte nativo de choice, score y noul con el mismo formato de solicitud y respuesta que TypeSafe Jev.
  • Contexto de documentos: admite hasta 1024 tokens por defecto y hasta 8192 tokens en la versión laya-multilingual (max_len=8192).
  • Servidor compatible laya-serve: incluye un proxy integrado que implementa el endpoint POST /v1/systemone. Puede sustituir el Jev en la nube en sus aplicaciones existentes simplemente cambiando baseURL a http://localhost:8000.
  • Velocidad y coste: aproximadamente 33 ms en GPU (de 6 a 8 veces más rápido que una llamada de red al Jev en la nube) y coste de $0 bajo licencia Apache 2.0.
python
from laya import Router # Preload моделей у пам'ять для миттєвої маршрутизації (<35 мс) router = Router(preload=True) state = "Користувач скаржиться на подвійне списання коштів за підписку і вимагає повернення." questions = { "department": { "type": "choice", "instructions": "Which department should handle this request?", "criteria": { "billing": "invoices, payments, refunds", "tech_support": "bugs, outages, system errors", "other": "everything else" } }, "churn_risk": { "type": "noul", "instructions": "Does the user threaten to cancel or express high churn risk?" } } result = router.predict(state, questions) print("Відділ:", result["answers"]["department"]["choice"]) print("Ризик відтоку:", result["answers"]["churn_risk"]["noul"])
Consejo

Multilingüismo: Router detecta automáticamente el idioma del texto (incluido el ucraniano) y dirige las consultas no en inglés al checkpoint laya-multilingual, garantizando una clasificación de alta calidad en más de 45 idiomas sin cambio manual de pesos.

Abrir repositorio en Hugging Face: convaiinnovations/laya →


11.2. GLiNER2.5-Decide de Fastino: clasificador orientado a esquemas de 340M

GLiNER2.5-Decide es un modelo especializado del laboratorio Fastino, diseñado para clasificación operativa, filtros de seguridad y enrutamiento de tareas sin necesidad de escribir prompts ni parsear tokens de salida.

El modelo se basa en la arquitectura DeBERTa-v3-large (340M de parámetros) y supera al comercial JevK5 en el benchmark fast-decisions (60.2% de precisión frente a 57.6% en Jev).

  • Conjunto de etiquetas dinámico: la lista de categorías se pasa directamente en la llamada a la función durante la ejecución, sin reentrenamiento (Zero-Shot).
  • Compatibilidad con Multi-Label: puede devolver varias etiquetas simultáneamente (por ejemplo, identificar varios aspectos de una reseña o problemas del cliente) según el umbral cls_threshold.
  • Etiquetas con descripciones (Label Descriptions): si el nombre de una etiqueta es ambiguo, se le puede pasar una descripción detallada; el modelo la considera al tomar la decisión.
  • Escalas ordinales y QA: admite niveles numéricos de urgencia (por ejemplo, de "0" a "5"), evaluación del tono y preguntas binarias (yes / no) sobre el fragmento de texto proporcionado.
  • Requisitos mínimos de hardware: 340M de parámetros permiten que el modelo funcione con latencias de pocos milisegundos incluso en una CPU convencional.
python
from gliner2 import AutoExtractor # Завантаження екстрактора рішень Fastino model = AutoExtractor.from_pretrained("fastino/GLiNER2.5-Decide") # Оцінка одразу трьох параметрів (намір, терміновість, маршрут) за один прохід result = model.classify_text( "Збій на стадії білінгу: платіж завис, клієнт не може завершити покупку.", { "intent": ["refund", "payment_failure", "account_access", "general_inquiry"], "urgency": ["low", "medium", "high", "critical"], "route": ["finance", "devops", "customer_support"] } ) print(result) # Виведе: {'intent': 'payment_failure', 'urgency': 'high', 'route': 'finance'}

Abrir repositorio en Hugging Face: fastino/GLiNER2.5-Decide →


11.3. CLM-v0.1-8B de Contrastive-LM: puntuación contrastiva de acciones basada en Qwen3

CLM-v0.1-8B (Contrastive Language Model) es un desarrollo de investigadores de Stanford y NVIDIA (septiembre de 2026), creado para una selección ultrarrápida de acciones dentro de pipelines de agentes (Computer Use, Tool Calling y verificación de pasos).

En lugar de una generación de texto paso a paso lenta, el modelo funciona según un principio contrastivo: proyecta el estado actual (state) y una lista de acciones posibles o llamadas a herramientas en un espacio vectorial común, tras lo cual las ordena por similitud coseno.

  • Stack y arquitectura: un codificador Qwen3-8B congelado combinado con cabezales de proyección contrastiva ligeros y entrenados (~20M de parámetros).
  • Aceleración de agentes: ofrece hasta 9 veces menos latencia (latency) en comparación con LLM generativos al seleccionar la herramienta adecuada entre una gran lista de funciones.
  • Action Caching (caché de acciones): dado que el estado y las acciones se codifican por separado, los embeddings vectoriales de herramientas estáticas o funciones del sistema pueden calcularse una sola vez y almacenarse en memoria RAM.
  • Soporte para hardware local: pesos abiertos bajo licencia Apache 2.0 y optimizaciones oficiales para Apple MLX permiten desplegar el modelo en estaciones de trabajo y Mac con memoria unificada.
python
# Концептуальний приклад верифікації та вибору дії в CLM from clm import ContrastiveDecisionModel model = ContrastiveDecisionModel.from_pretrained("Contrastive-LM/CLM-v0.1-8B") current_state = "Користувач просить знайти файл звіту за вчора та надіслати його в Slack." candidate_actions = [ "run_bash_command: ls -la /reports", "search_database: SELECT * FROM reports WHERE date = yesterday", "send_slack_notification: text='Report not found'", "request_human_approval: action='delete_report'" ] # Розрахунок контрастивної відповідності дій за частки мілісекунд ranked_actions = model.rank_actions(state=current_state, candidates=candidate_actions) print("Найкраща дія:", ranked_actions[0].action) print("Впевненість сумісності:", ranked_actions[0].score)

Abrir repositorio en Hugging Face: Contrastive-LM/CLM-v0.1-8B →


11.4. Tabla resumida: Jev frente a alternativas System 1 de código abierto

ModeloDesarrollador / OrganizaciónArquitectura y tamañoLatencia (P50)Enfoque principal y característicasCompatibilidad drop-in con JevLicencia
TypeSafe Jev 1.13TypeSafe AIArquitectura propietaria propia~90–120 msModelo System One en la nube, 3 primitivas, confianza calibradaAPI oficialComercial ($0.042/1M)
LayaConvai InnovationsModernBERT-large (421M) / mmBERT (322M)~33 ms (GPU)Compatibilidad 1:1 con Choice/Score/Noul, 100+ idiomas, calibración RLCDSí (laya-serve)Apache 2.0 (código abierto)
GLiNER2.5-DecideFastino AIDeBERTa-v3-large (340M)~15–40 msClasificación multi-etiqueta, descripciones de etiquetas, excelente rendimiento en CPUNo (SDK propio gliner2)Apache 2.0 (código abierto)
CLM-v0.1-8BContrastive-LM (Stanford / NVIDIA)Frozen Qwen3-8B + Heads (~8B)~50–80 msPuntuación contrastiva de acciones de agentes, Action Caching, Apple MLXNo (router contrastivo)Apache 2.0 (código abierto)

11.5. Cómo elegir un modelo local para su stack

Consejo

Regla práctica para elegir el motor local de System 1:

  • Elija Laya (convaiinnovations/laya), si ya diseñó un pipeline para las primitivas TypeSafe Jev (choice, score, noul), necesita procesamiento multilingüe (incluidos textos en ucraniano) o desea migrar una implementación existente en producción a un servidor propio sin reescribir código mediante laya-serve.
  • Elija GLiNER2.5-Decide (fastino/GLiNER2.5-Decide), si su tarea consiste en clasificación rápida de mensajes, admite categorías multi-label (varias etiquetas simultáneamente), trabaja con etiquetas descriptivas complejas o necesita desplegar el servicio en servidores con recursos limitados sin GPU discretas.
  • Elija CLM-v0.1-8B (Contrastive-LM/CLM-v0.1-8B), si está construyendo un agente de IA autónomo con un conjunto amplio de herramientas (MCP / Tool Calling) y busca la máxima velocidad de verificación de acciones y protección contra errores mediante caché de embeddings de herramientas.
Esta guía es completamente gratuita. Si te ahorró una noche, puedes apoyar el crecimiento del proyecto.
Apoyar al autor