freedzhost.cloud

Un petit juge local pour les petites décisions

Niveau IntermédiaireTemps estimé 45 minÀ lire avant Une passerelle pour tous vos modèles, et trois façons dont un modèle local gèle vos agentsUn mot inconnu ? Lexique

La plupart des décisions d'un réseau d'agents sont petites : ce mail est-il une facture ou une lettre d'information, lequel de ces quatre tutos répond à cette question, ce changement est-il risqué. Demander à un gros modèle à chaque fois est lent et coûteux. Un tout petit modèle entraîné à répondre à des questions typées le fait en un vingtième de seconde, sur le processeur, et dit à quel point il est sûr.

Votre codedécide de demanderQuestion typéeoui/non · choix · notePetit juge0,8B sur CPU, 0,05 sconfiance ≥ 0,8agir (38 % des cas, sans erreur)en dessousétape suivante : règles, modèle plus gros, ou vous
C'est le code, pas le prompt, qui envoie une décision au juge. Le juge répond à une question typée par une probabilité. Au-dessus du seuil le code agit ; en dessous, la question remonte la cascade au lieu d'être devinée.

1. Des questions typées, pas du texte libre

Un juge ne discute pas. Il répond selon l'une de trois formes, avec des probabilités :

Le format compte à la lettre. Avec l'API que nous utilisons, un choix prend ses options sous forme d'objet ({"a": "le certificat", "b": "la faute de frappe"}), et un oui/non prend une simple phrase instructions. La mauvaise forme renvoie une erreur HTTP, pas un diagnostic.

2. Ce qu'a fait un juge de 0,8 milliard, mesuré

Sur 77 vrais mails à trier, un juge de 0,8 milliard de paramètres sur le processeur a atteint 0,87 de précision dans son meilleur réglage, en 0,05 s par mail, sans un seul échec en 924 appels. Sa confiance est honnête : au-dessus de 0,8, il a tranché seul 38 % des mails, tous correctement. Faire remonter le reste vers un modèle plus gros a donné 0,96, mieux que le gros modèle seul.

3. C'est le code qui route, pas le prompt

Nous avons d'abord dit à notre agent 9B, dans ses instructions, de demander ses décisions au juge. Il l'a fait 0 fois sur 3. Avec un exemple travaillé, il a recopié l'exemple et raté chaque nouveau cas. Un routage déterministe doit être dans le code : le programme décide qu'une question va au juge, construit la question typée, et lit la réponse.

Si vous avez besoin qu'un modèle remplisse la question pour vous, imposez le format : llama.cpp ignore tool_choice, mais il impose response_format avec un schéma JSON, comme une grammaire. Le modèle ne peut alors pas répondre sous une autre forme.

Pièges

Trop d'options perdent le petit juge : prié de choisir un tuto parmi trente, il doutait ; parmi les quatre meilleurs présélectionnés par une règle de mots communs, il a choisi avec assurance. Préfiltrez avec des règles, puis laissez le juge choisir.

Le petit juge lit environ 2 000 jetons au plus. Donnez-lui les faits qui comptent pour la question, pas tout le contexte : en rajouter rend le verdict pire, pas plus sûr.

Un doute est une réponse. Ne transformez jamais un 0,55 en oui : faites-le remonter la cascade (voir Homelab 14).

Utile ? Dites-nous ce qu'il faut mesurer ensuite.