Wklejanie całego pliku z 2000 linii marnuje tokeny i pogarsza jakość odpowiedzi. Celem jest danie AI dokładnie kontekstu, którego potrzebuje, aby rozumować na temat twojego problemu — i nic więcej.
Wklejanie całego pliku z 2000 linii marnuje tokeny i pogarsza jakość odpowiedzi. Celem jest danie AI dokładnie kontekstu, którego potrzebuje, aby rozumować na temat twojego problemu — i nic więcej.
db to 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?
Druga wersja daje AI funkcję, jej typ zwracania (User) i jednolinijkową notatkę na temat db — wystarczy, aby odpowiedzieć precyzyjnie, bez nieistotnego kodu rozpraszającego.
To nie tylko o koszcie. Dodatkowy kod to rozproszenie: model może skupić się na niepowiązanej funkcji, odzwierciedlić błąd w innym miejscu w pliku lub rozproszyć uwagę na tysiące nieistotnych tokenów. Skupiona prośba daje skoncentrowaną, dokładną odpowiedź.
Budżety tokenów są ograniczone, a duże zrzuty danych degradują zarówno szybkość, jak i jakość. Wysłanie minimalnego odpowiedniego fragmentu — funkcji docelowej, jej typów, streszczenia kontekstu i ścieżek plików — oszczędza tokeny i poprawia odpowiedź, usuwając rozproszenia. Kurowanie kontekstu jest kluczową umiejętnością efektywnej pracy z AI: nie ukrywasz informacji, kierujesz uwagę na to, co ma znaczenie.