Retrieval-Augmented Generation (RAG): Grounding LLMs in Reality

Retrieval-Augmented Generation (RAG) is one of the most important architectural patterns to emerge alongside Large Language Models. This post explains why RAG exists, how it works, and what problems it actually solves — without turning it into a tooling tutorial.

April 19, 2023 · 4 min · Girish Shekhar

Why LLMs Fail in Surprising Ways (And Why That’s Expected)

Large Language Models often fail in ways that feel inconsistent or irrational. This post explains why those failures are not bugs, but natural consequences of probabilistic systems trained on language — and what that means for real product and system design.

April 5, 2023 · 5 min · Girish Shekhar

How LLMs Work (Only What You Need to Know)

A deeper look at how Large Language Models actually work — focusing on tokens, transformers, and training stages — explained in a way that helps engineers, product managers, and technical leaders reason about behavior and tradeoffs.

March 22, 2023 · 6 min · Girish Shekhar

Why Large Language Models Changed the Game

Large Language Models feel different from earlier machine learning systems. This post explains why — focusing on tokens, training data, self-supervision, and the architectural patterns that changed how we build software.

March 7, 2023 · 6 min · Girish Shekhar