<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Maxim Birkin</title><description>Notes on the architecture of artificial intelligence systems: design, engineering, operations, and the practice of building reliable solutions.</description><link>https://maxbirkin.com/</link><language>en</language><item><title>Latency engineering: analyzing 10,000 log lines in 2 minutes</title><link>https://maxbirkin.com/blog/latency-engineering/</link><guid isPermaLink="true">https://maxbirkin.com/blog/latency-engineering/</guid><description>How a set of deliberate levers, from parallelism to merging two model calls into one response, cut the full log-analysis time by an order of tens.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Query routing with SetFit: a few-shot classifier on CPU</title><link>https://maxbirkin.com/blog/setfit-query-routing/</link><guid isPermaLink="true">https://maxbirkin.com/blog/setfit-query-routing/</guid><description>Why a lightweight trained classifier stands between the code and the large model, how SetFit learns from a handful of examples, and when a query escalates to the LLM.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Cascade chains: how to separate the cause from its spreading effect</title><link>https://maxbirkin.com/blog/cascade-chains/</link><guid isPermaLink="true">https://maxbirkin.com/blog/cascade-chains/</guid><description>Why five affected services are most often one root cause plus four relays of its failure, and how cascade analysis narrows the hypothesis space.</description><pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate></item><item><title>No quote, no claim: how to ground a model&apos;s confidence</title><link>https://maxbirkin.com/blog/no-quote-no-claim/</link><guid isPermaLink="true">https://maxbirkin.com/blog/no-quote-no-claim/</guid><description>Anti-hallucination guards for open-ended root cause analysis: multiplying the model&apos;s self-assessment by the share of its evidence actually found in the sources.</description><pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Bayesian confidence scoring: group-max, a hard cap, and confidence bands</title><link>https://maxbirkin.com/blog/bayesian-confidence-scoring/</link><guid isPermaLink="true">https://maxbirkin.com/blog/bayesian-confidence-scoring/</guid><description>How to build verdict confidence from triggered detectors with deterministic code, without trusting a number from the language model, and why group-max beats the product.</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate></item><item><title>A deterministic aggregator in one O(N) pass</title><link>https://maxbirkin.com/blog/single-pass-deterministic-aggregator/</link><guid isPermaLink="true">https://maxbirkin.com/blog/single-pass-deterministic-aggregator/</guid><description>How to remove the language model from the log-chunking stage and replace it with a statistical aggregator that computes 16 blocks of facts in one linear pass.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Inversion of responsibility: code counts the facts, the model owns the language</title><link>https://maxbirkin.com/blog/inversion-of-responsibility/</link><guid isPermaLink="true">https://maxbirkin.com/blog/inversion-of-responsibility/</guid><description>The central principle of a mature log-analysis system: divide responsibility between deterministic code, a trained classifier, and a large language model.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item></channel></rss>