Saltar al contenido
Páginas

Conceptos

Cómo funciona la optimización

El contrato de ejecución y puntuación, los tipos de artefacto y los motores para cada tipo.

Skynet es Optimize Anything: un solo producto que mejora cualquier artefacto con tus datos y tu métrica. Todas las ejecuciones usan el mismo contrato de ejecución y el mismo contrato de métrica. El tipo de artefacto decide qué motores pueden trabajar con él.

El contrato común

Cada ejecución tiene dos archivos. run.py ejecuta el artefacto sobre un caso. metric.py puntúa la salida.

from skynet import llm


def run(artifact, input):
    return llm(artifact, input=input)
  • artifact es la versión actual que propone el optimizador.
  • input es un dict que contiene los campos de entrada de un caso.
  • expected es el valor esperado del caso, o None cuando el caso no tiene ninguno.
  • score devuelve un par: un número y un dict con una cadena "feedback".

El módulo auxiliar skynet ofrece llm, Image y log. Una llamada a llm desde el código de ejecución va al modelo de tarea. Una llamada a llm desde la métrica va al modelo de la métrica.

Lee Métricas y evaluadores para conocer el contrato completo de la métrica.

Tipos de artefacto y motores

Tipo de artefactoMotores
PromptAuto, GEPA, Best-of-N, AutoResearch, Meta-Harness, AutoSaddler, ShinkaEvolve
CódigoLos mismos que Prompt
TextoLos mismos que Prompt
Programa DSPyAuto, DSPy GEPA, DSPy MIPROv2, DSPy BootstrapFewShot

Los motores se agrupan en dos familias:

  • Los motores nativos tratan el artefacto como una caja negra. Trabajan con artefactos de tipo Prompt, Código y Texto.
  • Los optimizadores de DSPy trabajan dentro de un programa DSPy. Solo trabajan con artefactos de tipo Programa DSPy.

DSPy MIPROv2 y DSPy BootstrapFewShot necesitan pares (casos con salidas esperadas). Con una única entrada, un programa DSPy solo puede usar Auto y DSPy GEPA.

Artefactos de tipo Prompt, Código y Texto

Los motores nativos tratan el artefacto como una caja negra. Un motor propone una versión nueva, ejecuta run(artifact, input) sobre los casos y lee la puntuación y los comentarios.

Los seis motores nativos usan métodos de búsqueda distintos:

  • GEPA hace evolucionar las versiones mediante reflexión y mantiene un frente de Pareto.
  • Best-of-N pide al modelo de reflexión propuestas independientes y conserva la mejor.
  • AutoResearch, Meta-Harness, AutoSaddler y ShinkaEvolve usan un agente de código para proponer versiones.

Lee Motores para conocer cada motor y sus ajustes.

Artefactos de tipo Programa DSPy

Un programa DSPy es un tipo de artefacto. Tu run.py construye un dspy.Module a nivel de módulo y lo llama dentro de run. Si el archivo tiene más de un módulo, llama program al que quieres optimizar.

Qué ocurre cuando se ejecuta un optimizador de DSPy:

  1. Skynet encuentra tu módulo y envuelve tu función run a su alrededor. Cada caso pasa por tu propio run.
  2. El optimizador de DSPy compila el programa con los casos de entrenamiento.
  3. Selecciona con los casos de validación.
  4. El ganador es el texto de las instrucciones de cada predictor, más el estado compilado completo del módulo. El estado incluye las demostraciones few-shot.

Las puntuaciones finales miden el mismo programa que guarda Skynet.

OptimizadorLee el texto de los comentarios
DSPy GEPASí
DSPy MIPROv2No, solo la puntuación
DSPy BootstrapFewShotNo, solo la puntuación

DSPy BootstrapFewShot no usa un modelo de reflexión.

Auto

Auto es la opción predeterminada en el asistente.

  • En un artefacto de tipo Prompt, Código o Texto, Auto explora con cinco motores nativos y luego continúa con GEPA desde la mejor versión.
  • En un programa DSPy, Auto ejecuta DSPy GEPA.

Las dos formas de Auto leen el texto de los comentarios de tu métrica.

Qué motor elegir

Tu situaciónUsa
Tienes un prompt que ejecuta un modeloUn artefacto de tipo Prompt. Empieza con Auto.
Tienes código que quieres más rápido, barato o correctoUn artefacto de tipo Código. Empieza con Auto.
Tienes un documento o una configuraciónUn artefacto de tipo Texto. Empieza con Auto.
Tienes un programa DSPyUn artefacto de tipo Programa DSPy. Empieza con Auto.
Quieres demostraciones few-shot elegidas de tus datosUn artefacto de tipo Programa DSPy con DSPy BootstrapFewShot o DSPy MIPROv2

Páginas relacionadas