<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Ai on Darek&#39;s Blog</title>
    <link>http://blog.dwornikowski.com/tags/ai/</link>
    <description>Recent content in Ai on Darek&#39;s Blog</description>
    <image>
      <title>Darek&#39;s Blog</title>
      <url>http://blog.dwornikowski.com/openg.png</url>
      <link>http://blog.dwornikowski.com/openg.png</link>
    </image>
    <generator>Hugo -- 0.147.2</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 04 Jul 2026 10:00:00 +0200</lastBuildDate>
    <atom:link href="http://blog.dwornikowski.com/tags/ai/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How MCP Works: What It Exposes, How It Talks, and How It Got Here</title>
      <link>http://blog.dwornikowski.com/posts/how-mcp-works/</link>
      <pubDate>Sat, 04 Jul 2026 10:00:00 +0200</pubDate>
      <guid>http://blog.dwornikowski.com/posts/how-mcp-works/</guid>
      <description>A ground-up explainer of the Model Context Protocol: the host-client-server model, the primitives servers and clients expose to each other (tools, resources, prompts, sampling, elicitation), the transports, and the protocol&amp;#39;s evolution from the 2024 launch to the 2026 release candidate.</description>
    </item>
    <item>
      <title>MCP Auth, Explained: Every Method, Direct and Through a Proxy</title>
      <link>http://blog.dwornikowski.com/posts/mcp-auth-explained/</link>
      <pubDate>Sat, 04 Jul 2026 09:00:00 +0200</pubDate>
      <guid>http://blog.dwornikowski.com/posts/mcp-auth-explained/</guid>
      <description>A field guide to authentication and authorization in the Model Context Protocol: OAuth 2.1 with PKCE, dynamic client registration, client ID metadata documents, machine-to-machine flows, and what changes when an MCP gateway sits in the middle — token passthrough, token exchange, on-behalf-of chains, and ID-JAG.</description>
    </item>
    <item>
      <title>Prove It: Two Gates, No Mocks</title>
      <link>http://blog.dwornikowski.com/posts/prove-it-dual-testing/</link>
      <pubDate>Tue, 09 Jun 2026 09:00:00 +0200</pubDate>
      <guid>http://blog.dwornikowski.com/posts/prove-it-dual-testing/</guid>
      <description>A small prompt habit that changes how a coding agent verifies its own work: stop asking for passing tests, ask it to prove the feature works — once locally against a real Tilt stack with no mocks, then again on staging against real data and integrations.</description>
    </item>
    <item>
      <title>The Sixth Layer: When a Local Model Beats the LLM That Trained It</title>
      <link>http://blog.dwornikowski.com/posts/local-model-llm-classifier/</link>
      <pubDate>Thu, 07 May 2026 12:00:00 +0200</pubDate>
      <guid>http://blog.dwornikowski.com/posts/local-model-llm-classifier/</guid>
      <description>A follow-up to my LLM cost-optimization post: how I replaced ~55% of the remaining LLM calls in a product classifier with a small local model trained on the LLM&amp;#39;s own labels — and why the local model ended up more accurate than the labels it learned from.</description>
    </item>
    <item>
      <title>How I Refused to Pay €80 for a Broken Plastic Tube and Asked Claude to CAD It Instead</title>
      <link>http://blog.dwornikowski.com/posts/grohe-dispenser-ai-print/</link>
      <pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate>
      <guid>http://blog.dwornikowski.com/posts/grohe-dispenser-ai-print/</guid>
      <description>A small piece of plastic in our kitchen soap dispenser snapped. The official Grohe replacement costs €80. I had a 3D printer and a Claude Cowork session — five iterations later, I had a working part.</description>
    </item>
    <item>
      <title>From $200 to $30: Five Layers of LLM Cost Optimization</title>
      <link>http://blog.dwornikowski.com/posts/cutting-llm-costs-token-optimization/</link>
      <pubDate>Fri, 24 Apr 2026 12:00:00 +0200</pubDate>
      <guid>http://blog.dwornikowski.com/posts/cutting-llm-costs-token-optimization/</guid>
      <description>A walkthrough of how I cut an LLM-based product classifier&amp;#39;s token usage by ~92% through compression, two-stage prompting, exact-match lookups, similarity caching, and batching.</description>
    </item>
  </channel>
</rss>
