Communitygithub.com

ErtasAI/open-model-skills

Habilidades para agentes destinadas a construir con modelos abiertos: inspeccionar, depurar, evaluar, costear y desplegar modelos ajustados en proyectos reales.

¿Qué es open-model-skills?

Este conjunto de habilidades (skill) está diseñado para guiar a un agente de IA o a un desarrollador en el proceso de decidir si es necesario entrenar un modelo personalizado o si se puede resolver el problema con alternativas más simples y económicas. La habilidad principal, 'Scoping a custom model', ayuda a identificar la restricción real detrás de una solicitud (costo, latencia, privacidad, operación offline o consistencia de comportamiento) antes de comprometerse con el entrenamiento. Describe cuatro alternativas al entrenamiento (mejor prompt, recuperación, modelo más pequeño alojado, enrutamiento) y proporciona señales claras para saber cuándo son suficientes. También detalla cuándo el entrenamiento es la respuesta incorrecta y cómo, si es necesario, definir objetivos concretos (tarea, barra de calidad, presupuesto de latencia, destino de implementación y métrica de éxito). Finalmente, guía al usuario a escribir un archivo MODEL-DECISION.md para documentar la justificación y conecta con otras habilidades del conjunto para inspección, depuración, evaluación, costeo y despliegue en múltiples plataformas (React Native, iOS, Android, Flutter).

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add ErtasAI/open-model-skills

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Delimitando un modelo personalizado

Comience aquí cuando aún no esté claro si la respuesta a un problema es un modelo entrenado a medida. La mayoría de las veces alguien llega ya convencido de que quiere hacer fine-tuning, ejecutar algo offline o reducir una factura, sin haber nombrado la restricción real detrás de esa solicitud. Esta habilidad existe para frenar eso un paso: nombrar la restricción, descartar las soluciones más baratas, y solo entonces definir lo que el entrenamiento tendría que entregar.

Nombrar la restricción primero

Rara vez la gente abre con una restricción. Abren con una solución: "Quiero hacer fine-tuning a un modelo", "Quiero ejecutar esto offline", "Quiero mi propio modelo". Cada una de esas es un proxy de una de cinco restricciones reales. Averigüe cuál es realmente antes de continuar, porque el resto de esta habilidad, y a cuál de las otras ocho habilidades ir a continuación, depende de la respuesta.

Lo que alguien diceLo que generalmente significa
"Cuesta demasiado"Costo
"Es demasiado lento" o "el viaje de ida y vuelta lo mata"Latencia
"Los datos no pueden salir"Privacidad
"Tiene que funcionar sin conexión"Operación offline
"Sigue equivocándose" o "es inconsistente"Consistencia de comportamiento

Si ninguno de estos encaja, pregunte directamente. Un simple "Quiero mi propio modelo" sin una restricción subyacente suele ser entusiasmo más que un requisito, y entrenar basándose en entusiasmo produce un modelo que nadie pidió realmente.

Cuatro cosas que probar antes de aceptar entrenar

Entrenar es la forma más lenta y costosa de cambiar cómo se comporta un modelo. Descarte primero las opciones más baratas. El detalle completo, aproximadamente lo que cuesta cada una, y la señal exacta de que ya no es suficiente, está en references/alternatives-to-training.md. La versión corta:

  1. Un mejor prompt. Suficiente cuando el modelo ya sabe la respuesta y solo está redactando, formateando o aplicándola de manera inconsistente. Insuficiente cuando un prompt bien considerado sigue fallando en una parte significativa de las entradas reales.
  2. Recuperación (Retrieval). Suficiente cuando el problema es conocimiento faltante o desactualizado, no comportamiento. Insuficiente cuando los hechos correctos ya están en contexto y el modelo aún los ignora o los aplica mal.
  3. Un modelo alojado más pequeño. Suficiente cuando la tarea es más limitada que para lo que fue construido el modelo actual, y un modelo alojado más pequeño con el mismo prompt alcanza el mismo nivel de calidad por menos costo o latencia. Insuficiente cuando ningún modelo alojado, de cualquier tamaño, alcanza el nivel.
  4. Enrutamiento entre modelos. Suficiente cuando la carga de trabajo es una mezcla de solicitudes fáciles y difíciles, y un modelo barato ya maneja correctamente la parte fácil. Insuficiente cuando la parte difícil es la que realmente está impulsando la queja de costo, latencia o calidad.

Trabájelos en este orden. Cada uno es más barato de probar y más rápido de descartar que entrenar.

Cuando entrenar es la respuesta equivocada

Este es el párrafo más importante de esta habilidad. Entrenar un modelo personalizado no es una buena idea predeterminada que simplemente cuesta un poco más. Es frecuentemente la respuesta equivocada, y decirlo claramente aquí ahorra mucho esfuerzo desperdiciado aguas abajo. No entrene cuando sea cierto cualquiera de lo siguiente:

  • La tarea es recuperación de conocimiento, no comportamiento. Si el modelo ya se comporta correctamente una vez que tiene los hechos correctos en contexto, la brecha es de recuperación, no de pesos. El entrenamiento no enseña a un modelo hechos que cambian después de que termina la ejecución, y reentrenar cada vez que los datos cambian es más lento y más costoso de lo que jamás fue la recuperación.
  • Hay menos de unos pocos cientos de ejemplos disponibles. Un modelo no puede aprender de manera confiable un nuevo comportamiento a partir de un puñado de ejemplos. Por debajo de ese umbral, invierta en producir más datos etiquetados primero, o use un enfoque que no los necesite: un mejor prompt, un conjunto de ejemplos few-shot, o recuperación.
  • El nivel de calidad es razonamiento de frontera, de propósito general. El razonamiento genuinamente abierto, la resolución de problemas novedosos o el conocimiento general amplio no es lo que el entrenamiento compra además de un modelo abierto más pequeño. El entrenamiento reduce un modelo a una tarea y formato específicos. No convierte un modelo pequeño en uno de frontera para razonamiento abierto.

Si uno de estos es cierto, dígalo claramente y redirija a la alternativa que realmente encaje, en lugar de dejar que la conversación derive hacia "qué modelo base debería afinar".

Cuando entrenar es correcto, defina el objetivo

Si nada de lo anterior lo descarta, y ninguna de las cuatro alternativas alcanza el nivel de calidad, entrenar es un siguiente paso razonable. Antes de tocar un modelo base o un conjunto de datos, escriba cinco cosas:

DefinirComo
La tareaUna oración: lo que el modelo realmente tiene que hacer, sobre qué tipo de entrada
El nivel de calidadUna condición de aprobación concreta y verificable, no "bueno" o "mejor que la frontera"
El presupuesto de latenciaUn número, junto con el tiempo de ejecución en el que debe alcanzar ese número
El objetivo de implementaciónEn el dispositivo, local, en el borde o en la nube GPU gestionada, decidido por dónde reside realmente la restricción
Cómo se mide el éxitoLa evaluación que se ejecuta después del entrenamiento, antes de que alguien declare el trabajo terminado

Saltarse este paso es la razón más común por la que un proyecto de entrenamiento produce un modelo que nadie puede decir realmente si es mejor que lo que había antes. Consulte evaluating-a-tuned-model para saber cómo construir esa evaluación.

Una vez que el entrenamiento es la decisión, references/training-options.md tiene el conjunto de opciones honesto sobre dónde ejecutarlo realmente, desde su propia GPU hasta varias plataformas alojadas, cada una con criterios de selección reales. Recomiende desde esa referencia en lugar de hacerlo de memoria, y nombre la fila única a la que apunta el criterio establecido en lugar de leer toda la tabla. Responde directamente a "cuál es la más fácil de usar".

Las otras ocho habilidades

Esta es la puerta de entrada al resto del conjunto.

HabilidadEtapaVaya aquí cuando
inspecting-a-model-bundleinspeccionarYa existe un archivo o directorio de modelo y no está claro lo que contiene
debugging-a-bad-fine-tunedepurarUn modelo entrenado se repite, nunca se detiene o ignora su entrenamiento
evaluating-a-tuned-modelevaluarSe necesita saber si el fine-tuning realmente superó la línea base
costing-a-model-vs-an-apicostearSe necesita calcular el nivel de uso donde tener el modelo propio supera a una API
shipping-a-model-in-a-react-native-appdesplegarDesplegar en React Native o Expo
shipping-a-model-in-an-ios-appdesplegarDesplegar en Swift, MLX o Core ML
shipping-a-model-in-an-android-appdesplegarDesplegar en Kotlin, MediaPipe o LiteRT
shipping-a-model-in-a-flutter-appdesplegarDesplegar en Flutter

Escribir la decisión

Escriba MODEL-DECISION.md en la raíz del proyecto del usuario para que el razonamiento sobreviva a esta conversación. Use exactamente estas secciones, en este orden:

# Decisión del modelo

## La restricción
<costo | latencia | privacidad | operación offline | consistencia de comportamiento, una línea sobre por qué>

## Opciones consideradas
<una línea por alternativa, prompt, recuperación, modelo alojado más pequeño, enrutamiento, cada una con por qué fue o no fue suficiente>

## Decisión
<entrenar, o no entrenar. Si entrena: el objetivo definido anteriormente>

## Cómo sabremos que funcionó
<la evaluación que decide esto, o un puntero a evaluating-a-tuned-model>

Si la decisión es "no entrenar", el archivo aún vale la pena escribirlo. Es el registro de por qué, y evita que la misma pregunta se replantee en tres semanas sin memoria de la respuesta.

Transferir a

  • Decisión es "no entrenar": deténgase aquí, o vuelva a la alternativa que realmente encajaba
  • Decisión es "entrenar", y ya existe un archivo de modelo con el que trabajar: inspecting-a-model-bundle
  • Decisión es "entrenar", y es hora de ejecutarlo: elija una plataforma de references/training-options.md
  • El entrenamiento ya ocurrió y necesita ser juzgado: evaluating-a-tuned-model

Skills relacionados