<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ben Monk, Software Developer and AI Engineer</title>
    <link>https://benmonk.dev/</link>
    <description>I build software, and I build the artificial intelligence features that run inside it.</description>
    <language>en</language>
    <atom:link href="https://benmonk.dev/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>What an AI engineer actually does</title>
      <link>https://benmonk.dev/blog/what-an-ai-engineer-actually-does/</link>
      <guid isPermaLink="true">https://benmonk.dev/blog/what-an-ai-engineer-actually-does/</guid>
      <description>The job is less about models than people expect, and far more about the system around them.</description>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why AI features fail in production</title>
      <link>https://benmonk.dev/blog/why-ai-features-fail-in-production/</link>
      <guid isPermaLink="true">https://benmonk.dev/blog/why-ai-features-fail-in-production/</guid>
      <description>Most of them do not break for AI reasons. They break for ordinary software reasons nobody was watching for.</description>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Retrieval augmented generation, explained without the diagram</title>
      <link>https://benmonk.dev/blog/retrieval-augmented-generation-explained/</link>
      <guid isPermaLink="true">https://benmonk.dev/blog/retrieval-augmented-generation-explained/</guid>
      <description>What it is, why it is usually the right first answer, and where it quietly falls apart.</description>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to evaluate model output without guessing</title>
      <link>https://benmonk.dev/blog/how-to-evaluate-llm-output/</link>
      <guid isPermaLink="true">https://benmonk.dev/blog/how-to-evaluate-llm-output/</guid>
      <description>You cannot assert equality on a model's answer. Here is what to measure instead.</description>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Prompting, fine tuning or retrieval: picking the cheap one first</title>
      <link>https://benmonk.dev/blog/prompting-fine-tuning-or-retrieval/</link>
      <guid isPermaLink="true">https://benmonk.dev/blog/prompting-fine-tuning-or-retrieval/</guid>
      <description>Three ways to make a model do what you need, and most teams climb the ladder in the wrong order.</description>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Building agents that stay in their lane</title>
      <link>https://benmonk.dev/blog/building-agents-that-stay-in-their-lane/</link>
      <guid isPermaLink="true">https://benmonk.dev/blog/building-agents-that-stay-in-their-lane/</guid>
      <description>Loops, drift and unbounded cost. Every agent failure mode is a design decision, not a model limitation.</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The real cost of a long context window</title>
      <link>https://benmonk.dev/blog/the-real-cost-of-context-windows/</link>
      <guid isPermaLink="true">https://benmonk.dev/blog/the-real-cost-of-context-windows/</guid>
      <description>Big windows made it easy to stop thinking about what goes in the prompt. That has a price.</description>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The software habits that survive AI</title>
      <link>https://benmonk.dev/blog/software-habits-that-survive-ai/</link>
      <guid isPermaLink="true">https://benmonk.dev/blog/software-habits-that-survive-ai/</guid>
      <description>Assisted coding changed how fast code appears. It did not change what keeps a system alive.</description>
      <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>