~/series/
LLM Engineering in 30 Days
29 lessons published · new lesson added daily.
1
Day 1
How a Prompt Can Run Without Errors and Still Be Wrong
2
Day 2
Why Valid JSON Can Still Contain Wrong Data
3
Day 3
Why JSON mode hides when an LLM gets worse
4
Day 4
Why JSON schemas don't catch every agent tool error
5
Day 5
Why we removed a reviewer agent and quality went up
6
Day 6
Why an agent's reasoning text isn't a reliable log
7
Day 7
How context rot makes agents break rules even with free tokens
8
Day 8
Why a better embedding model didn't improve retrieval recall
9
Day 9
When you don't need a vector database like Pinecone
10
Day 10
How bad chunking breaks retrieval before embeddings run
11
Day 11
Why RAG Ranks the Right Answer Too Low to Use
12
Day 12
Why RRF beats hand-tuned fusion weights that overfit test queries
13
Day 13
How RAG cites deleted documents when the index isn't kept fresh
14
Day 14
How stale eval fixtures pass green while the agent has already changed
15
Day 15
How stale eval labels keep a passing score while quality drops
16
Day 16
How self-preference bias makes an LLM judge favor its own style
17
Day 17
How an agent obeyed 'never merge' and force-pushed to prod anyway
18
Day 18
Validating your LLM judge
19
Day 19
Prompt Cache Invalidation
20
Day 20
Model routing in agent loops
21
Day 21
Streaming vs batching in agent systems
22
Day 22
Token budgets per decision
23
Day 23
Cost per accepted change
24
Day 24
Retries and timeouts in agent loops
25
Day 25
LLM fallback models
26
Day 26
Fine-tuning vs prompting vs RAG
27
Day 27
Prompt injection defenses
28
Day 28
Observability for LLM apps
29
Day 29
Prompt layout and TTFT