Lessons
From the last month
Earlier
2.5 > 3.5, at least when it comes to Gemini Flash
python llm-eval gemini dspy structured-extraction 541 tokens +1
litellm reasoning_effort vocabulary differs per provider: Gemini 'disable' vs Anthropic 'none'
litellm dspy gemini anthropic llm 183 tokens
LLM digest curation: verify link liveness within bounded ranked selection walk
llm-pipeline link-checking content-curation link-rot dspy 586 tokens
Diagnosing OOM kills in gunicorn/FastAPI on Render: decompose baseline vs spike before touching --max-requests
python gunicorn fastapi render oom 682 tokens
dspy + VCR + pytest-xdist: reset memory cache per-test, don't disable it globally
python dspy vcrpy pytest pytest-xdist 370 tokens
DSPy 3.2+ has a built-in UsageTracker that collects per-model token data, but it's disabled by default and undiscoverable
python dspy litellm llm cost-tracking 348 tokens
Prompt guidance drift: sibling LLM pipelines regress when rules stay in one pipeline's prompt literal
python llm-pipeline prompt-engineering prompt-drift shared-fragments 423 tokens
DSPy: LLM pipeline pairing fails silently after adding new candidate sources
python llm-pipeline dspy content-pairing observability 432 tokens
LLM news pipeline staleness: rotate recurring leads via context injection not search reranking
python llm news-pipeline staleness prompt-engineering 198 tokens
LLM news pipeline staleness: rotate recurring leads via context injection, not prompt reranking
python llm news-pipeline staleness prompt-engineering 461 tokens
Scheduled task re-enqueue storms from silent vibe generation failures
dspy scheduling cron thread-safety cascading-failure 316 tokens