2000-లైన్ ఫైల్ మొత్తాన్ని పేస్ట్ చేయడం టోకెన్లను낭비 చేస్తుంది మరియు సమాధానం గుణనీయతను చెడుపరుస్తుంది. లక్ష్యం AI్కు మీ సమస్య గురించి తర్కించడానికి అవసరమైన సరిగ్గా సందర్భం — మరియు ఏమీ లేదు.
2000-లైన్ ఫైల్ మొత్తాన్ని పేస్ట్ చేయడం టోకెన్లను낭비 చేస్తుంది మరియు సమాధానం గుణనీయతను చెడుపరుస్తుంది. లక్ష్యం AI్కు మీ సమస్య గురించి తర్కించడానికి అవసరమైన సరిగ్గా సందర్భం — మరియు ఏమీ లేదు.
db 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?
రెండవ సంస్కరణ AI్కు ఫంక్షన్, దాని రిటర్న్ రకం (User), మరియు db గురించిన ఒక-లైన్ నోట్ — సరిగ్గా సమాధానం ఇవ్వటానికి సరిపోతుంది, సంబంధం లేని కోడ్కు దృష్టిభ్రంశం చేయకుండా.
ఇది ఖర్చు గురించి మాత్రమే కాదు. అదనపు కోడ్ దృష్టిభ్రంశం: మోడల్ సంబంధం లేని ఫంక్షన్కు పట్టుకోవచ్చు, ఫైల్ ఎక్కడైనా ఎక్కడైనా బగ్ను ప్రతిబింబిస్తుంది లేదా సేల్కు ఆయిల్ పంపిణీ చేయవచ్చు. ఫోకస్డ్ ప్రాంప్ట్ ఫోకస్డ్, ఖచ్చితమైన సమాధానం ఇస్తుంది.
టోకెన్ బడ్జెట్లు పరిమితమైనవి మరియు పెద్ద డంప్లు వేగం మరియు గుణనీయత రెండింటినీ క్షీణ చేస్తాయి. కనిష్ట సంబంధితమైన స్లైస్ పంపడం — టార్గెట్ ఫంక్షన్, దాని రకాలు, సందర్భం సారాంశం, మరియు ఫైల్ పాతలు — టోకెన్లను సేవ్ చేస్తుంది మరియు దృష్టిభ్రంశం తీసివేయడం ద్వారా సమాధానం తీక్ష్ణమైనది. సందర్భం క్యూరేటింగ్ AI్ తో ప్రభావవంతంగా కూడా సారూప్య నైపుణ్యం: మీరు సమాచారం దాచుకుంటారు కాదు, ఆ విషయానికి దృష్టిని నిర్దేశిస్తున్నారు.