<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>schristoph.online</title><link>https://schristoph.online/tags/llms.txt/</link><description>Personal homepage and blog of Stefan Christoph</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Stefan Christoph. All rights reserved.</copyright><lastBuildDate>Sat, 17 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://schristoph.online/tags/llms.txt/index.xml" rel="self" type="application/rss+xml"/><item><title>My Blog Has a Site Map Again</title><link>https://schristoph.online/blog/here-be-posts/?utm=rss-feed</link><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><guid>https://schristoph.online/blog/here-be-posts/</guid><description>&lt;div class="tldr" data-pagefind-weight="5" data-pagefind-meta="tldr" style="display:block;font-size:.875em;margin:2rem 0;border-left:4px solid #ccc;padding-left:1rem;line-height:1.5;"&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; This blog has a site map again, drawn as a pirate&amp;rsquo;s treasure map, at &lt;a href="https://schristoph.online/map/"&gt;/map/&lt;/a&gt;. Many websites used to have one: a page that linked everything, for lost visitors and for crawlers that found pages largely by following links. Google introduced a machine-readable map in 2005, the other big search engines adopted it in 2006 (sitemap.xml), and the human version slowly faded. Language models got a proposal for one in 2024 (llms.txt). A site with 400+ posts turns out to need all three, one per kind of reader. The treasure map is a single SVG that Hugo fills in at build time.&lt;/div&gt;
&lt;p&gt;Lots of websites used to have a page called &amp;ldquo;Site map&amp;rdquo;. You probably remember it: a long list of links in the footer, every section of the site on one page. I hadn&amp;rsquo;t thought about it in years, until this month.&lt;/p&gt;</description></item><item><title>Building Agents That Read the Web Right</title><link>https://schristoph.online/blog/building-agents-that-read-the-web-right/?utm=rss-feed</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://schristoph.online/blog/building-agents-that-read-the-web-right/</guid><description>&lt;h2 id="the-other-side-of-the-coin"&gt;The Other Side of the Coin&lt;/h2&gt;
&lt;p&gt;In a recent article, I made my website AI-agent friendly [1], adding llms.txt, Markdown output, and content negotiation to a Hugo site on AWS. That article was about the &lt;em&gt;producer&lt;/em&gt; side: how to serve content that agents can consume efficiently.&lt;/p&gt;
&lt;p&gt;But I left a question unanswered: &lt;strong&gt;what does it look like from the agent&amp;rsquo;s perspective?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In this article, I&amp;rsquo;m building two agents. Same task, same website, same model. The difference: one reads the web the old way, the other uses the infrastructure I just built, different tools, different prompts, the whole consumption path. So this compares two end-to-end approaches, not a single isolated variable. The code is written with the Strands Agents SDK [2], an open-source framework from AWS for building AI agents in Python.&lt;/p&gt;</description></item><item><title>Making My Website AI-Agent Friendly — Here's What Changed</title><link>https://schristoph.online/blog/making-website-ai-agent-friendly/?utm=rss-feed</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://schristoph.online/blog/making-website-ai-agent-friendly/</guid><description>&lt;h2 id="the-test-that-failed"&gt;The Test That Failed&lt;/h2&gt;
&lt;p&gt;Last weekend, I pointed an AI agent at my own blog and asked it a simple question about an article I&amp;rsquo;d just published, my hands-on experiment with self-reflection on Amazon Bedrock [12]: &lt;em&gt;&amp;ldquo;What scored 3/15 and why?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The agent received 29,099 bytes of HTML. After stripping navigation, CSS, scripts, headers, and footers, only about 4,600 characters of actual content remained, 69% of the response was noise. The agent consumed 6,083 input tokens, then gave a confused answer about &amp;ldquo;personal growth.&amp;rdquo; It couldn&amp;rsquo;t find the article content buried in the markup.&lt;/p&gt;</description></item></channel></rss>