Перейти к содержимому

Контекст близок к лимиту

Большинство багов в долгих сессиях с AI-агентом начинается ровно тогда, когда context-window забит на 90%+. Модель начинает «терять» инструкции системного промпта и инструменты. Сигнал — usage.input_tokens относительно лимита модели:

LIMITS = {
"claude-sonnet-4-5": 200_000,
"claude-opus-4-5": 200_000,
"gpt-4.1": 1_000_000,
"gpt-4o": 128_000,
}
def observe(model, used_tokens):
limit = LIMITS.get(model, 200_000)
ratio = used_tokens / limit
flag = f"/tmp/ctx-{model}.flag"
if ratio >= 0.85 and not os.path.exists(flag):
push(f"🧠 Контекст {int(ratio*100)}% у {model}",
f"Использовано {used_tokens:,} из {limit:,} токенов.\n"
"Сделайте summary или начните новый thread.",
priority=7)
open(flag, "w").close()
elif ratio < 0.5 and os.path.exists(flag):
os.unlink(flag) # сбросили flag после summary

Удобно вызывать observe() в общем wrapper-е поверх SDK — этот контроль тогда работает на любой долгий диалог автоматически.