Concepts

Les notions qui reviennent le plus souvent dans notre pratique

Pas un cours, pas un "must know". Les termes qu'on emploie sur ce site, avec juste ce qu'il faut pour que la lecture ne bute pas. Chaque terme est court, on ne fait pas semblant d'expliquer.

Les modèles

Ce qui sort d'un labo (Anthropic, Google, Alibaba, Moonshot, Zhipu, DeepSeek). Un modèle n'agit pas seul : il faut lui donner un harnais (voir plus bas).

LLM (Large Language Model)

Modèle entraîné à prédire le token suivant sur un corpus massif. Tout le reste (raisonnement, code, dialogue) émerge de cet objectif à très grande échelle.

Frontier

Les modèles au sommet du classement du moment (Claude, GPT, Gemini, GLM 5.2, Kimi K3). Le sommet bouge tous les mois.

Open-weight

Modèle dont les poids sont téléchargeables et exécutables sur ta machine ou ton cloud. Gemma, Qwen, Kimi, DeepSeek : pas nécessairement open-source au sens code, mais poids ouverts.

Dense vs MoE

Un modèle dense utilise tous ses paramètres à chaque token (Llama 405B = 405 milliards lus par token, intenable). Un MoE (Mixture of Experts) découpe en experts et n'en réveille que quelques-uns par token. C'est ce qui rend le quasi-frontier jouable en local.

Paramètres actifs

Sur un MoE, la part réellement lue par token. C'est ça qui gouverne la vitesse de décode, pas la taille totale. DeepSeek 671B / 37B actifs, Qwen 35B / 3B actifs.

Distribution & format

Où on trouve les modèles ouverts et sous quelle forme on les fait tourner.

Hugging Face

Le hub central des modèles open-weight, en safetensors (poids bruts) ou GGUF (quantizé pour llama.cpp). C'est là qu'on télécharge Gemma, Qwen, Kimi, Ornith, la plupart des variantes communautaires. La CLI huggingface-hub gère les téléchargements résumables.

GGUF

Le format binaire quantizé de la famille llama.cpp. Un seul fichier .gguf contient les poids compressés + les métadonnées. Notre banc utilise des GGUF Q8 pour ornith et aganta1.

Quantization (Q4, Q8)

Compression des poids : le modèle est entraîné en 16 bits par paramètre ; on les stocke sur 8 bits (quasi sans perte) ou 4 bits (perte légère). Divise la mémoire et le débit nécessaires : un 35B passe de ~70 Go (fp16) à ~37 Go (Q8) à ~20 Go (Q4).

safetensors

Format concurrent de GGUF, natif Hugging Face, plutôt utilisé côté PyTorch / vLLM. GGUF domine côté llama.cpp et matos modeste.

Inférence & matériel

Ce qui se passe quand un modèle génère un token, et pourquoi la vitesse dépend plus du tuyau mémoire que de la puissance de calcul.

Inférence

Phase d'utilisation d'un modèle entraîné (générer des réponses), par opposition à l'entraînement. C'est ce que fait une API ou un llama-server local.

Prefill vs décode

Prefill = lire tout le prompt d'un coup, borné par la puissance de calcul (le GPU excelle). Décode = écrire token par token, borné par la bande passante mémoire (le tuyau, pas les cœurs). Deux régimes différents.

VRAM

La mémoire embarquée sur la carte graphique. La 2060 en a 6 Go. Très rapide, très chère, c'est la denrée rare de tout le sujet.

Bande passante mémoire

Le débit auquel on lit la mémoire (Go/s). LA grandeur qui gouverne le décode. Échelle : DDR4 laptop ~40 Go/s, RTX 3090 ~940 Go/s, RTX 5090 ~1790, H100 ~3350.

Offload / --cpu-moe

Astuce llama.cpp pour faire tenir un MoE trop gros : les experts vont en RAM (lus par le CPU), l'attention et les couches partagées restent en VRAM. C'est comme ça qu'un 35B tient sur 6 Go de VRAM + 64 Go de RAM.

llama.cpp / llama-server

Le moteur d'inférence de référence pour du matos modeste. Roi du GGUF et de l'offload CPU/GPU. Le mode llama-server expose une API OpenAI-compatible sur :8080.

KV cache

La mémoire de travail d'une conversation : pendant le prefill, le modèle calcule pour chaque token des vecteurs Key/Value. Les garder évite de tout recalculer au message suivant. C'est cette structure qu'on sauve/restaure entre les tours (Loom : slot save/restore sur llama.cpp).

Agents & harness

Ce qui transforme un modèle qui parle en un agent qui agit. Loop engineering, tool-use, sous-agents.

Agent

Un LLM placé dans une boucle avec des outils et un objectif. Il décide ses actions, observe les résultats, itère jusqu'à ce que la tâche soit faite (par opposition à un simple question→réponse).

Harness (harnais)

Tout le code non-IA autour du modèle : boucle, exécution des outils, gestion du contexte, permissions, erreurs. La qualité d'un agent dépend autant du harnais que du modèle. Un bon harnais outille, il ne pilote pas.

Tool-use / function calling

Le modèle reçoit un catalogue d'outils décrits en JSON Schema ; il répond par des appels structurés (nom + arguments) que le harnais exécute réellement. Le modèle décide quand et quoi appeler.

Loop engineering

L'art de concevoir la boucle agentic : quand s'arrêter, quand relancer, comment détecter une non-progression, quels garde-fous (plafond de tours, anti-répétition), comment injecter les résultats d'outils. La différence entre un agent qui converge et un agent qui boucle.

Boucle agentic

Le cycle fondamental : prompt → le modèle répond ou appelle un outil (stop_reason=tool_use) → le harnais exécute → le résultat est réinjecté → le modèle continue, jusqu'à end_turn.

Sous-agent (dispatch_agent)

Un agent enfant lancé avec un contexte isolé et une mission autonome. Il ne voit pas la conversation principale, ne renvoie que son résultat final. Protège le contexte du principal des gros chantiers.

MCP (Model Context Protocol)

Protocole ouvert d'Anthropic qui standardise la connexion entre applications IA et sources externes : un serveur MCP expose outils, ressources et prompts. Un peu "l'USB-C des applis IA". Voir notre pratique EDP en production.

Skills / plugins Claude Code

Format de capacités déclenchables par le modèle lui-même (fichiers SKILL.md avec frontmatter). Nos plugins open-source (legal, accounting, strategy, defensive-prompt-injection) suivent ce format ; Loom l'implémente aussi côté open-weight.

Contexte, mémoire, fiabilité

Ce qui permet à un agent de rester utile au-delà d'un tour et de ne pas hallucinier bêtement.

Fenêtre de contexte

Le nombre maximal de tokens que le modèle peut voir en une requête (prompt + réponse). Claude standard : 200 000 tokens. En local, la fenêtre se calibre par machine : pas de valeur figée.

Prompt caching / cache_control

Marquer les préfixes stables du prompt (system, gros documents, schémas d'outils) avec des points de cache. Les requêtes suivantes qui partagent ce préfixe coûtent ~10 % du prix et accélèrent. Modification du préfixe = invalidation cascade.

Compaction

Remplacer les vieux tours par un résumé dense pour libérer des tokens tout en préservant les faits décisifs. Risque : perdre un détail dont une étape future a besoin. Loom fait une compaction multi-étage avec force-fit déterministe.

Grounding / RAG

Faire répondre le modèle à partir de sources récupérées à la demande (via embeddings ou recherche), plutôt que de sa mémoire d'entraînement. Réduit les hallucinations à la source.

Hallucination

Le modèle affirme avec assurance quelque chose de faux (fait, citation, API inexistante). Se mitige par le grounding, les outils, la vérification déterministe (railguards) : pas par le prompt seul.

Railguards

Contrôles déterministes autour du modèle : validation des sorties, listes d'interdits, appels d'outils forcés sur les questions à risque, plafonds. Complément indispensable du prompt, qui n'est jamais une garantie.

Injection de prompt

Attaque où un contenu ingéré (URL, PDF, sortie d'outil) contient des instructions déguisées que le modèle risque d'exécuter. Défense : marquer tout contenu externe comme DONNÉE, pas comme instruction. C'est ce que fait notre plugin defensive-prompt-injection.

Envie d'aller plus loin ?

Les concepts prennent vie dans nos déploiements et notre banc R&D. Trois portes d'entrée :

Ce glossaire est adossé au glossaire technique de Loom, qui va plus dans le détail sur l'inférence locale.