ਪੂਰੀ 2,000-ਲਾਈਨ ਫਾਇਲ ਨੂੰ ਪੇਸਟ ਕਰਨਾ ਟੋਕਨ ਬੰਦ ਕਰਦਾ ਹੈ ਅਤੇ ਉੱਤਰ ਦੀ ਗੁਣਵੱਤਾ ਨੂੰ ਨੁਕਸਾਨ ਦਿੰਦਾ ਹੈ। ਟੀਚਾ AI ਨੂੰ ਸਹੀ ਸਥਿਤੀ ਦਿਉ ਜੋ ਤੁਹਾਡੀ ਸਮੱਸਿਆ ਬਾਰੇ ਤਰਕ ਕਰਨ ਲਈ ਲੋੜ ਹੈ — ਅਤੇ ਹੋਰ ਕੁਝ ਨਹੀਂ।
ਪੂਰੀ 2,000-ਲਾਈਨ ਫਾਇਲ ਨੂੰ ਪੇਸਟ ਕਰਨਾ ਟੋਕਨ ਬੰਦ ਕਰਦਾ ਹੈ ਅਤੇ ਉੱਤਰ ਦੀ ਗੁਣਵੱਤਾ ਨੂੰ ਨੁਕਸਾਨ ਦਿੰਦਾ ਹੈ। ਟੀਚਾ AI ਨੂੰ ਸਹੀ ਸਥਿਤੀ ਦਿਉ ਜੋ ਤੁਹਾਡੀ ਸਮੱਸਿਆ ਬਾਰੇ ਤਰਕ ਕਰਨ ਲਈ ਲੋੜ ਹੈ — ਅਤੇ ਹੋਰ ਕੁਝ ਨਹੀਂ।
db ਇਕ 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?
ਦੂਜਾ ਸੰਸਕਰਣ AI ਨੂੰ ਫੰਕਸ਼ਨ, ਇਸ ਦੀ ਵਾਪਸੀ ਕਿਸਮ (User), ਅਤੇ db ਬਾਰੇ ਇਕ ਲਾਈਨ ਨੋਟ ਦਿੰਦਾ ਹੈ — ਸਹੀ ਜਵਾਬ ਦੇਣ ਲਈ ਕਾਫ਼ੀ, ਕੋਈ ਅਪ্ರাসंगिक ਕੋਡ ਬਿਨਾਂ ਇਸਨੂੰ ਵਿਭਾਜਿਤ ਕਰਨ ਲਈ।
ਇਹ ਸਿਰਫ ਲਾਗਤ ਬਾਰੇ ਨਹੀਂ ਹੈ। ਵਾਧੂ ਕੋਡ ਭਟਕਾਵ ਹੈ: ਮਾੱਡਲ ਇਕ ਅਪ੍ਰਾਸanguਿਕ ਫੰਕਸ਼ਨ ਉੱਤੇ ਲੌਕ ਕਰ ਸਕਦਾ ਹੈ, ਫਾਇਲ ਦੇ ਕਿਤੇ ਹੋਰ ਥਾਂ ਇਕ ਬਗ ਦਾ ਪ੍ਰਤੀਬਿੰਬ ਕਰ ਸਕਦਾ ਹੈ, ਜਾਂ ਹਜ਼ਾਰਾਂ ਅਪ੍ਰਾਸanguਿਕ ਟੋਕਨ ਦੁਆਰਾ ਧਿਆਨ ਖਿਲਾਰ ਸਕਦਾ ਹੈ। ਇਕ ਧਿਆਨ ਕੇਂਦਰਿਤ ਸਵਾਲ ਇਕ ਧਿਆਨ ਕੇਂਦਰਿਤ, ਸਹੀ ਜਵਾਬ ਦਿੰਦਾ ਹੈ।
ਟੋਕਨ ਬਜਟ ਸੀਮਤ ਹਨ ਅਤੇ ਵੱਡੇ ਡੱਬਾ ਗਤੀ ਅਤੇ ਗੁਣਵੱਤਾ ਦੋਨੋ ਨੂੰ ਘਟਾਉਂਦੇ ਹਨ। ਨਿਊਨਤਮ ਪ੍ਰਾਸanguਿਕ ਸਲਾਇਸ ਭੇਜ ਕੇ — ਟਾਰਗਟ ਫੰਕਸ਼ਨ, ਇਸ ਦੀਆਂ ਕਿਸਮਾਂ, ਇਕ ਸਥਿਤੀ ਸੰਖੇਪ, ਅਤੇ ਫਾਇਲ ਪਾਥ — ਤੁਸੀਂ ਟੋਕਨ ਬਚਾਉਂਦੇ ਹੋ ਅਤੇ ਵਿਭਾਜਨ ਨੂੰ ਹਟਾ ਕੇ ਜਵਾਬ ਨੂੰ ਤਿਖਾ ਕਰਦੇ ਹੋ। ਸਥਿਤੀ ਨੂੰ ਕਿਉਰੇਟ ਕਰਨਾ AI ਨਾਲ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਕਾਮ ਕਰਨ ਦਾ ਇਕ ਮੂਲ ਹੁਨਰ ਹੈ: ਤੁਸੀਂ ਜਾਣਕਾਰੀ ਨੂੰ ਲੁਕਾ ਰਹੇ ਨਹੀਂ, ਤੁਸੀਂ ਧਿਆਨ ਨੂੰ ਉਹ ਜੋ ਮਾਇਨੇ ਰਖਦਾ ਹੈ ਵੱਲ ਨਿਰਦੇਸ਼ਿਤ ਕਰ ਰਹੇ ਹੋ।