Posts
All the articles I've posted.
Building RAG: Chunking, HyDE and Caching
Updated:Most RAG failures happen before generation: the chunk that holds the answer is never retrieved. Eight ways to cut this blog into chunks, plus a control, measured on 150 questions by whether the answer's sentence comes back; HyDE, measured; an embedding cache keyed by model and text; a semantic cache's hits and wrong answers at six thresholds; and when RAG is the wrong tool.
Computer-Use Agents: Screens as Observations, the Mouse as a Tool
Updated:A computer-use agent operates software the way a person does: it looks at the screen, decides, and clicks or types. The perceive-think-act loop; screenshots versus accessibility trees, measured on real pages (a screenshot is 1,000 to 4,800 tokens; a raw accessibility tree 4,000 to 170,000, pruned 600 to 20,000); coordinate grounding; the action space; what a task costs as screenshots pile up; OSWorld and how far agents have come; and why safety, not reasoning, decides where these agents can be deployed.
Context Engineering: Compaction, Tool Clearing, and Memory
Updated:An agent's window fills with tool output, not with its own thinking. Three API primitives handle that differently: clearing replaces old tool results with stubs, compaction replaces the transcript with a summary, and memory moves notes outside the window. Each one measured on Claude Sonnet 5.5, with what it costs and what it loses.
Decoding: From a Distribution to Text
Updated:A language model outputs a probability for every possible next token; decoding is the policy that turns that into text. Greedy and beam search, temperature derived, top-k, top-p and min-p on a real model's distributions, the order the steps run in, repetition penalties, and why the same prompt can give different text. Each one measured with Qwen2.5-1.5B on twenty paragraphs of this blog, against what a person actually wrote next.