Aller au contenu
SkynetDocumentation
Pages

Concepts

Fonctionnement de l'optimisation

Le contrat d'exécution et de score, les types d'artefacts et les moteurs pour chaque type.

Skynet, c'est Optimize Anything : un seul produit qui améliore n'importe quel artefact à partir de vos données et de votre métrique. Chaque exécution suit le même contrat d'exécution et le même contrat de métrique. Le type d'artefact détermine les moteurs qui peuvent travailler dessus.

Le contrat commun

Chaque exécution comporte deux fichiers. run.py exécute l'artefact sur un cas. metric.py note la sortie.

from skynet import llm


def run(artifact, input):
    return llm(artifact, input=input)
  • artifact est la version actuelle que propose l'optimiseur.
  • input est un dict qui contient les champs d'entrée d'un cas.
  • expected est la valeur attendue du cas, ou None si le cas n'en a pas.
  • score renvoie une paire : un nombre, et un dict contenant une chaîne "feedback".

Le module d'aide skynet fournit llm, Image et log. Un appel à llm depuis le code d'exécution va au modèle de tâche. Un appel à llm depuis la métrique va au modèle de la métrique.

Lisez Métriques et évaluateurs pour le contrat complet de la métrique.

Types d'artefacts et moteurs

Type d'artefactMoteurs
PromptAuto, GEPA, Best-of-N, AutoResearch, Meta-Harness, AutoSaddler, ShinkaEvolve
CodeLes mêmes que pour Prompt
TexteLes mêmes que pour Prompt
Programme DSPyAuto, DSPy GEPA, DSPy MIPROv2, DSPy BootstrapFewShot

Les moteurs se répartissent en deux familles :

  • Les moteurs natifs traitent l'artefact comme une boîte noire. Ils fonctionnent sur les artefacts Prompt, Code et Texte.
  • Les optimiseurs DSPy travaillent à l'intérieur d'un programme DSPy. Ils ne fonctionnent que sur les artefacts Programme DSPy.

DSPy MIPROv2 et DSPy BootstrapFewShot ont besoin de paires (des cas avec des sorties attendues). Avec une entrée unique, un programme DSPy ne peut utiliser qu'Auto et DSPy GEPA.

Artefacts Prompt, Code et Texte

Les moteurs natifs traitent l'artefact comme une boîte noire. Un moteur propose une nouvelle version, exécute run(artifact, input) sur les cas, puis lit le score et le retour.

Les six moteurs natifs utilisent des méthodes de recherche différentes :

  • GEPA fait évoluer les versions par réflexion et conserve un front de Pareto.
  • Best-of-N demande au modèle de réflexion des propositions indépendantes et conserve la meilleure.
  • AutoResearch, Meta-Harness, AutoSaddler et ShinkaEvolve utilisent un agent de code pour proposer des versions.

Lisez Moteurs pour le détail de chaque moteur et de ses paramètres.

Artefacts Programme DSPy

Un programme DSPy est un type d'artefact. Votre run.py construit un dspy.Module au niveau du module et l'appelle dans run. Si le fichier contient plus d'un module, nommez program celui à optimiser.

Voici ce qui se passe quand un optimiseur DSPy s'exécute :

  1. Skynet trouve votre module et enveloppe votre fonction run autour de lui. Chaque cas passe par votre propre run.
  2. L'optimiseur DSPy compile le programme sur les cas d'entraînement.
  3. Il sélectionne sur les cas de validation.
  4. Le gagnant est le texte d'instruction de chaque prédicteur, plus l'état compilé complet du module. Cet état inclut les démonstrations few-shot.

Les scores finaux mesurent le programme même que Skynet enregistre.

OptimiseurLit le texte de retour
DSPy GEPAOui
DSPy MIPROv2Non, le score uniquement
DSPy BootstrapFewShotNon, le score uniquement

DSPy BootstrapFewShot n'utilise pas de modèle de réflexion.

Auto

Auto est le choix par défaut dans l'assistant.

  • Sur un artefact Prompt, Code ou Texte, Auto explore avec cinq moteurs natifs, puis poursuit avec GEPA à partir de la meilleure version.
  • Sur un programme DSPy, Auto exécute DSPy GEPA.

Les deux formes d'Auto lisent le texte de retour de votre métrique.

Quel moteur choisir

Votre situationÀ utiliser
Vous avez un prompt qu'un modèle exécuteUn artefact Prompt. Commencez avec Auto.
Vous avez du code à rendre plus rapide, moins cher ou plus correctUn artefact Code. Commencez avec Auto.
Vous avez un document ou une configurationUn artefact Texte. Commencez avec Auto.
Vous avez un programme DSPyUn artefact Programme DSPy. Commencez avec Auto.
Vous voulez des démonstrations few-shot choisies dans vos donnéesUn artefact Programme DSPy avec DSPy BootstrapFewShot ou DSPy MIPROv2

Pages associées