Vkládání celého souboru o 2 000 řádcích plýtvá tokeny a zhoršuje kvalitu odpovědi. Cílem je poskytnout AI přesně ten kontext, který potřebuje, aby důkladně zvážila váš problém — a nic víc.
Vkládání celého souboru o 2 000 řádcích plýtvá tokeny a zhoršuje kvalitu odpovědi. Cílem je poskytnout AI přesně ten kontext, který potřebuje, aby důkladně zvážila váš problém — a nic víc.
db je Postgres pool."# 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?
Druhá verze dává AI funkci, její návratový typ (User) a jednolineární poznámku o db — dost na to, aby odpověděla přesně, bez nějakého nesouvisejícího kódu, který by ji rozptyloval.
Ne jenom kvůli nákladům. Dodatečný kód je rozptylování: model se může zachytit na nesouvisející funkci, zrcadlit chybu jinde v souboru nebo rozptýlit svou pozornost tisíci nesouvisejícími tokeny. Zaměřená výzva vytváří zaměřenou, přesnou odpověď.
Budgety tokenů jsou omezené a velké výpisy snižují rychlost i kvalitu. Odeslání minimálního relevantního řezu — cílové funkce, jejích typů, shrnutí kontextu a cest souborů — šetří tokeny a zpřesňuje odpověď odstraněním rozptylování. Kurátování kontextu je základní dovedností pro efektivní práci s AI: neskrýváte informace, nasměřujete pozornost na to, co je důležité.