2,000 行の file 全体を貼ると token を浪費し、answer quality も下がります。目的は、AI が問題について reasoning するためにちょうど必要な context を与え、それ以外は渡さないことです。
db は Postgres pool」。# Bad: paste the whole 800-line user-service.ts
# → AI が無関係な code を読み、wrong function に anchor する可能性がある
# 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?
2 つ目は function、return type(User)、db についての 1 行 note を与えています。precise に答えるには十分で、irrelevant code はありません。
cost だけの問題ではありません。余分な code は distraction です。model が無関係な function に引っ張られたり、file 内の別 bug を mirror したり、何千 token の無関係情報に attention を薄めたりします。focused prompt は focused で accurate な answer を生みます。
token budget は有限で、大きな dump は speed と quality の両方を劣化させます。target function、types、context summary、file paths という最小の relevant slice を送ることで、token を節約し、distraction を取り除いて answer を鋭くできます。context を curate することは、AI と効果的に働く core skill です。情報を隠すのではなく、重要なものへ attention を向けているのです。