Ещё раз про Context Engineering и Feedback Loop
Возможно, вы знаете, что при работе с моделями типа Sonnet, я советую держать контекстное окно в пределах 100к токенов, а ещё лучше до 80к, потому что дальше – больно. Качество ухудшается, лимиты в Claude Code тратятся заметно быстрее.
Я тут на просторах интернета наткнулся на такое же мнение и обрадовался, что я не один это заметил.
Тут автор пишет про тесты и советует убирать "TESTS PASSED" строки из вывода инструментов, которые запускают тесты.
Обычно, когда мы запускаем
Таким образом, мы сэкономим большое количество токенов.
Можно использовать такую обёртку:
Сделайте
Результат:
Ещё автор советует врубить fail-fast, т. е. если у вас 10 ошибок в тестах, то тесты будут показывать по 1-й ошибке за раз, до тех пор, пока не пофиксятся все 10.
Если ошибки не тривиальные (не фиксятся one-shot исправлением по нескольким файлам), то это поможет модельке хорошо подумать над каждой ошибкой по-очереди и не распыляться разом на все ошибки, что может вести к более худшему качеству исправления этих ошибок
#ai_coding@the_ai_architect
✔️ Timur Khakhalev про AI Coding, подписывайтесь!
⭐️ Консультации по AI Coding
Возможно, вы знаете, что при работе с моделями типа Sonnet, я советую держать контекстное окно в пределах 100к токенов, а ещё лучше до 80к, потому что дальше – больно. Качество ухудшается, лимиты в Claude Code тратятся заметно быстрее.
Я тут на просторах интернета наткнулся на такое же мнение и обрадовался, что я не один это заметил.
Тут автор пишет про тесты и советует убирать "TESTS PASSED" строки из вывода инструментов, которые запускают тесты.
Обычно, когда мы запускаем
npm run test команды, то видим несколько экранов строк, которые говорят о том, что тесты успешно пройдены. Модели же знать об этом незачем, так что можно сократить эти строки до простого "✓ Utils tests". Если же тесты зафейлятся, то появится сообщение об ошибке.Таким образом, мы сэкономим большое количество токенов.
Можно использовать такую обёртку:
run_silent() {
local description="$1"
local command="$2"
local tmp_file=$(mktemp)
if eval "$command" > "$tmp_file" 2>&1; then
printf " ✓ %s\n" "$description"
rm -f "$tmp_file"
return 0
else
local exit_code=$?
printf " ✗ %s\n" "$description"
cat "$tmp_file"
rm -f "$tmp_file"
return $exit_code
fi
}
run_silent "Simple tests" "pnpm test:run"
Сделайте
chmod +x ./run-silent.sh
Результат:
./run-silent.sh
✓ Simple tests
Ещё автор советует врубить fail-fast, т. е. если у вас 10 ошибок в тестах, то тесты будут показывать по 1-й ошибке за раз, до тех пор, пока не пофиксятся все 10.
Если ошибки не тривиальные (не фиксятся one-shot исправлением по нескольким файлам), то это поможет модельке хорошо подумать над каждой ошибкой по-очереди и не распыляться разом на все ошибки, что может вести к более худшему качеству исправления этих ошибок
#ai_coding@the_ai_architect