Topic
53 articles on AI, written from production systems rather than documentation.
Normal testing asks whether the system works for people trying to use it. Adversarial testing asks what happens when somebody is trying to make it fail.
Asking a model to reason step by step improves some tasks and slows every one of them. The trade is latency and tokens, paid on every single call.
Teams pick one model and route everything through it. Most systems have several jobs with different requirements, and one answer fits none of them well.
Benchmarks compare query speed at a scale you may never reach. Filtering, tenancy and how updates behave decide more of the outcome than throughput.
Benchmark rankings measure averages over corpora that are not yours. Four practical constraints narrow the field faster than any leaderboard position.
Stdio is the default and it quietly decides your deployment model. The transport question is really a question about process lifetime and blast radius.
Chunk size is treated as a tuning parameter and behaves like an architectural decision. It sets the best answer your system can possibly retrieve.
Long sessions fill the window and something has to go. What you drop, and what you replace it with, decides whether the system degrades or forgets.
Moderating what users send is the familiar half. Moderating what your own product says, in your name, is the half that carries the liability.
Prompt engineering asks what to say to the model. Context engineering asks what should be in front of it at all, which is the harder half.
A surprising share of what matters in an AI feature is mechanically checkable. Those checks are fast, free and boring, which is why teams skip past them.
Below a few hundred thousand vectors, a dedicated database mostly adds a system to operate. The threshold is higher than the tooling implies.
Whether it needs designing from scratch or rescuing from its own success, tell me what you’re building and I’ll tell you how I’d architect it.
Open to remote and hybrid work worldwide