Archive

1290 posts · Page 28 of 108. ← Blog

Pratik Dhanave · ·5 min read

Delivery Semantics and Exactly-Once

"Exactly-once" is the most misunderstood phrase in streaming — it is real in Kafka, but only within a specific boundary, and outside that boundary the honest and usually-correct answer is at-least-once plus idempotent consumers.

'Exactly-once' is the most misunderstood phrase in streaming — it's real in Kafka, but only within a specific boundary, and outside it the honest answer is at-least-once plus idempotent consumers.

Pratik Dhanave · ·5 min read

Reflective Optimizers: Learning in Language

What if the optimizer's update step were not a numeric gradient but a paragraph of natural-language reflection? That is the bet behind reflective optimizers — and one of them rivals reinforcement learning while using a fraction of the rollouts.

What if the optimizer's update step were not a numeric gradient but a paragraph of natural-language reflection? That is the bet behind reflective optimizers — one of which rivals RL with a fraction of the rollouts.

Pratik Dhanave · ·5 min read

Optimizers: Letting DSPy Write Your Prompts

This is the payoff of the whole framework: you hand an optimizer your program, your metric, and some examples, and it searches for the instructions and demonstrations that make the program measurably better — the prompts you never had to write.

The payoff of the framework: hand an optimizer your program, metric, and examples, and it searches for the instructions and demonstrations that make the program measurably better — the prompts you never had to write.

Pratik Dhanave · ·5 min read

Observability, Reliability, and Incident Response

You cannot operate what you cannot see, and AI systems fail in ways ordinary monitoring misses — quality silently degrades, cost silently climbs, and inputs silently drift — so observability has to watch the things that don't throw exceptions.

AI fails in ways ordinary monitoring misses — quality degrades, cost climbs, inputs drift, all silently. Phase 8: observability that watches the signals that don't throw exceptions, plus runbooks and a kill-switch.

Pratik Dhanave · ·5 min read

Multi-Hop and Iterative Retrieval

Some questions cannot be answered by any single search because the answer is assembled from facts that must be found in sequence, each retrieval informed by the last — and that is what iterative, multi-hop retrieval provides.

Some questions cannot be answered by any single search because the answer is assembled from facts found in sequence, each retrieval informed by the last — that is iterative, multi-hop retrieval.

Pratik Dhanave · ·5 min read

RAG, Fine-Tuning, and Self-Hosting Trade-offs

Some of the biggest cost decisions are architectural — whether to feed knowledge through retrieval or bake it into a model, whether to prompt a big model or fine-tune a small one, and whether to rent tokens or run your own — and each trade turns on your volume and your task.

Some of the biggest cost decisions are architectural — retrieval versus long context, prompting a big model versus fine-tuning a small one, and renting tokens versus self-hosting — each turning on your volume.

Pratik Dhanave · ·5 min read

Compaction, Summarization, and Long Context

When context threatens to overflow, you compress it; and when you have a huge window to spend, you still should not fill it — because a long context is not used as well as a short, focused one.

When context threatens to overflow you compress it; and when you have a huge window you still should not fill it — because a long context is not used as well as a short, focused one.

Pratik Dhanave · ·6 min read

Shipping MCP Securely to Production

An MCP server can run code and see context on the model's behalf, which makes it powerful and dangerous in equal measure — this is how to deploy one without handing attackers the keys.

An MCP server can run code and see context on the model's behalf. Authentication, prompt-injection and tool-poisoning risks, human-in-the-loop, sandboxing, and a production checklist.

Pratik Dhanave · ·6 min read

Building a Self-Evolving Agent

The pieces from this series — memory, self-refinement, a skill library, and an evaluation gate — combine into one modest architecture that actually gets better as it runs, without the hype and without the footguns.

Memory, grounded self-refinement, a verified skill library, and an evaluation gate combine into one buildable architecture that gets better as it runs — safely.

Pratik Dhanave · ·6 min read

Building a Search System in Practice — Putting It All Together

Knowing how inverted indexes, BM25, and vector search work is one thing; assembling them into a search system that's fast, relevant, and maintainable is another. This closing post is the practical synthesis — the architecture of a real search system, the choices that matter, and the hard-won operational lessons that no algorithm paper mentions. It turns the series into something you can actually build, whether it's a product search box or the retrieval layer of a RAG application.

Knowing the algorithms is one thing; assembling a fast, relevant, maintainable search system is another. The anatomy (offline index / online retrieve-then-rank), the decisions that matter (buy vs build, keyword/semantic/hybrid), continuous relevance measurement, and why the retriever caps a RAG system's quality.

Pratik Dhanave · ·5 min read

Benchmarks and How They're Designed

The scores that dominate model announcements — MMLU, GSM8K, HumanEval, and the rest — are benchmarks: standardized public tests that let the whole field compare models on common ground. They've driven enormous progress, but a benchmark is only as good as its design, and a number without understanding of what it measures is easy to misread. Knowing how benchmarks are built, and what makes a good one, is how you read a leaderboard critically instead of credulously.

The scores in model announcements — MMLU, GSM8K, HumanEval — are benchmarks: standardized public tests for comparing models on common ground. They've driven huge progress, but a benchmark is only as good as its design, and a number without understanding is easy to misread. Here's how they're built and what makes a good one.