Вставка целого файла из 2000 строк впустую расходует токены и ухудшает качество ответа. Цель — дать ИИ ровно тот контекст, который нужен ему, чтобы рассуждать о вашей проблеме — и ничего больше.
Вставка целого файла из 2000 строк впустую расходует токены и ухудшает качество ответа. Цель — дать ИИ ровно тот контекст, который нужен ему, чтобы рассуждать о вашей проблеме — и ничего больше.
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?
Второй вариант дает ИИ функцию, ее тип возврата (User) и однострочное примечание о db — достаточно, чтобы ответить точно, без ненужного кода, который отвлекает.
Дело не только в стоимости. Дополнительный код — это отвлечение: модель может зацикиться на несвязанной функции, воспроизвести ошибку в другом месте файла или распылить внимание на тысячи ненужных токенов. Сосредоточенный запрос дает сосредоточенный, точный ответ.
Бюджеты токенов конечны, а большие дампы снижают как скорость, так и качество. Отправка минимального релевантного фрагмента — целевой функции, ее типов, резюме контекста и путей к файлам — экономит токены и улучшает ответ, убирая отвлечения. Курирование контекста — это основной навык эффективной работы с ИИ: вы не скрываете информацию, вы направляете внимание на то, что имеет значение.