Coller un fichier entier de 2 000 lignes gaspille des tokens et dégrade la qualité de la réponse. L'objectif est de donner à l'IA exactement le contexte dont elle a besoin pour raisonner sur votre problème — et rien de plus.
Coller un fichier entier de 2 000 lignes gaspille des tokens et dégrade la qualité de la réponse. L'objectif est de donner à l'IA exactement le contexte dont elle a besoin pour raisonner sur votre problème — et rien de plus.
db est un pool Postgres ».# Bad: paste the whole 800-line user-service.ts
# → AI wades through unrelated code, may anchor on the wrong function
# Good: send only what matters
// file: src/services/user-service.ts
// context: called from POST /users; `db` is a Postgres pool (pg)
type User = { id: number; email: string };
async function createUser(email: string): Promise<User> {
const { rows } = await db.query( // <-- the function I need help with
"INSERT INTO users (email) VALUES ($1) RETURNING id, email",
[email],
);
return rows[0];
}
// Question: how do I handle a duplicate-email conflict here?
La deuxième version donne à l'IA la fonction, son type de retour (User), et une note d'une ligne sur db — suffisant pour répondre avec précision, sans code non pertinent pour la distraire.
Ce n'est pas seulement une question de coût. Le code supplémentaire est une distraction : le modèle peut se focaliser sur une fonction sans rapport, reproduire un bogue ailleurs dans le fichier, ou diluer son attention sur des milliers de tokens non pertinents. Une requête ciblée produit une réponse ciblée et précise.
Les budgets de tokens sont finis et les gros fichiers dégradent à la fois la vitesse et la qualité. Envoyer la tranche minimale pertinente — la fonction cible, ses types, un résumé du contexte et les chemins de fichiers — économise des tokens et affûte la réponse en supprimant les distractions. La curation du contexte est une compétence fondamentale du travail efficace avec l'IA : vous ne cachez pas d'informations, vous dirigez l'attention vers ce qui compte.