All Stories

State Machine Validation for GPT-4o Function Calling Applications

GPT-4o function calling still managed to call charge_payment before create_transaction produced an ID. The model emitted both calls in one turn — valid tool calls, invalid order — and the...

Agentic RAG: Knowledge Graph Indexing and Traversal with Neo4j

Vector RAG answered “what does the payment service do?” beautifully and went blind on “what did the author build for the payment service while reporting to project manager X?” The...

Ruby YJIT Memory Footprint: Optimization Strategies for Kubernetes Deployments

Since Rails 7.2 made YJIT the default JIT in August 2024, most Rails apps picked up a 15-25% throughput bump for free. The bill shows up on Kubernetes in a...

Designing an LLM Evaluation Harness: Judge-LLM Alignment and Benchmarks

BLEU and ROUGE did not catch a single regression for us. The rewrite that scored +3 ROUGE against the old transcripts was, by any human reading, worse — it hedged,...

Moving Beyond LangChain: Why DSPy is the Future of Declarative AI Pipelines

We rewrote a production pipeline from LangChain to DSPy last spring, and the reason was not a benchmark — it was a two-day incident. A security team bumped our model...

Rails 7.2 — Better eager loading with Zeitwerk

Rails 7.2 (August 2024) did not ship a magic filter that “skips patterns” during eager loading — that idea circulates in a lot of upgrade blog posts, but it is...