Latence et TTFT

IA / LLM 🟡 Mid

Définition

La latence est le délai entre l'envoi du prompt et la réponse complète. Le TTFT (Time To First Token) mesure le temps jusqu'au premier token produit : c'est ce que perçoit l'utilisateur d'une interface en streaming. Il dépend de la taille du modèle, de la longueur du prompt (prefill) et de la réflexion ; le débit en tokens/seconde gouverne ensuite le reste.

Analogie

Au restaurant, le TTFT est le temps avant l'entrée ; la latence totale, le temps avant l'addition.

Exemple de code

const t0 = performance.now();
let ttft: number | null = null;

const stream = client.messages.stream({
  model: 'claude-sonnet-5', max_tokens: 1024,
  messages: [{ role: 'user', content: prompt }],
});
stream.on('text', () => {
  if (ttft === null) ttft = performance.now() - t0;   // premier token
});
const final = await stream.finalMessage();
const total = performance.now() - t0;
console.log({ ttftMs: ttft, totalMs: total,
  tokensParSec: final.usage.output_tokens / ((total - ttft!) / 1000) });

Cas d'usage

Fixer des SLO pour un chatbot : TTFT < 1 s perçu comme réactif ; choisir Haiku vs Opus selon le budget latence.

Anti-pattern

Mesurer la latence sans streaming et conclure que « l'IA est lente » alors que le TTFT est bon.
#ia#performance#interview

En entretien

  1. Quelle différence entre latence totale et TTFT ?

    La latence est le délai entre l'envoi du prompt et la réponse complète, alors que le TTFT (Time To First Token) mesure le temps jusqu'au premier token produit, ce que perçoit l'utilisateur en streaming. Au restaurant, le TTFT est le temps avant l'entrée, la latence totale le temps avant l'addition.

  2. Quelle erreur de mesure fausse souvent le diagnostic de lenteur ?

    Mesurer la latence sans streaming et conclure que l'IA est lente, alors que le TTFT est en réalité bon et que c'est juste la génération complète qui prend du temps. Il faut mesurer le TTFT séparément pour fixer un SLO pertinent, par exemple moins d'une seconde pour un chatbot réactif.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre