Natural language analysis over your own datasets
Drop in a flat file and get back answers, analysis, plots, and written-up reports - not just a query.
Building AI agent systems that survive long sessions, real users, and real consequences. A working record of how things work, what ships, what doesn't, and what gets learned along the way.
On the right, two parts of the same trade. Products is where I disclose how the things I have shipped were actually built - decisions, trade-offs, what I would do differently. Learning is where I work out, in writing, how parts of the agent stack actually function - backed by production-ready code snippets on GitHub.
Drop in a flat file and get back answers, analysis, plots, and written-up reports - not just a query.
How a six-stage prompt chain turned raw CSVs into shareable charts in August 2024 - the design decisions, the evals we built too late, and why the agents that killed it are the ones I'd build today.
It divides the model's scores by a single number just before they turn into probabilities, and that is the whole mechanism. The model has already finished computing those scores by the time temperature touches them, which is why it can never change the token that came out on top, only how often something else gets drawn instead. The newest models are removing the parameter altogether.
Four things that have held up across the agents I've built, and the bit of model mechanics they all fall out of. A system prompt isn't a settings page you configure, it's the front of a sequence the model reads back one token at a time, and most of what's worth knowing about prompting is a consequence of that.
Every request your agent makes re-sends everything it has ever said, and the model reads it all again from scratch, at full price. Prompt caching is the one-line fix, and understanding what it actually stores tells you more about how these models work than most explainers will.