Įklijuoti visą 2000 eilučių failą yra švaistomi žetonai ir kenkia atsakymo kokybei. Tikslas yra duoti AI tiksliai kontekstą, kurio jam reikia, kad samprotautų dėl jūsų problemos — ir nieko daugiau.
Įklijuoti visą 2000 eilučių failą yra švaistomi žetonai ir kenkia atsakymo kokybei. Tikslas yra duoti AI tiksliai kontekstą, kurio jam reikia, kad samprotautų dėl jūsų problemos — ir nieko daugiau.
db yra Postgres baseinas".# 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?
Antroji versija duoda AI funkciją, jos grąžinimo tipą (User) ir vienos eilutės pastabą apie db — pakankamai tiksliai atsakyti be nereikalingo kodo, kuris ją blaškytų.
Tai ne tik apie išlaidas. Papildomas kodas yra blaškantis: modelis gali minti susijusią funkciją, atspindėti klaidą kitur failą arba praskiesti dėmesį tūkstančiams nereikalingų žetonų. Sutelktas prašymas duoda sutelktą, tikslų atsakymą.
Žetonų biudžetai yra baigtiniai, o dideli išmetimai pablogina ir greitį, ir kokybę. Siųsti minimalią svarbią dalį — tikslinę funkciją, jos tipus, konteksto santraukojimą ir failų kelius — sutaupo žetonų ir paaštrinti atsakymą pašalinus blaškančius dalykus. Konteksto kuracija yra pagrindinė veikla, kai efektyviai dirbi su AI: jūs neposlėpiate informacijos, jūs nukreipiate dėmesį į tai, kas svarbu.