<?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>Llm auf cbrueggenolte.de</title>
    <link>https://cbrueggenolte.de/tags/llm/</link>
    <description>Neueste Beiträge in Llm auf cbrueggenolte.de</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>de-DE</language>
    <managingEditor>96ca5227@cbrueggenolte.de (cbrueggenolte.de)</managingEditor>
    <webMaster>96ca5227@cbrueggenolte.de (cbrueggenolte.de)</webMaster>
    <copyright>2018-2026 cbrueggenolte</copyright>
    <lastBuildDate>Sat, 23 May 2026 11:12:19 +0200</lastBuildDate>
    <atom:link href="https://cbrueggenolte.de/tags/llm/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Das Token-Dilemma: Warum HTML für technische Agenten-Specs oft Overkill ist</title>
      <link>https://cbrueggenolte.de/das-token-dilemma-warum-html-fuer-technische-agenten-specs-oft-overkill-ist/</link>
      <pubDate>Sat, 23 May 2026 11:12:19 +0200</pubDate><author>96ca5227@cbrueggenolte.de (cbrueggenolte.de)</author>
      <guid>https://cbrueggenolte.de/das-token-dilemma-warum-html-fuer-technische-agenten-specs-oft-overkill-ist/</guid>
      <description>&lt;p&gt;&lt;em&gt;Ein pragmatischer Reality-Check zum aktuellen &amp;ldquo;Effectiveness of HTML&amp;rdquo;-Trend aus Sicht der Pipeline-Effizienz und Kontext-Optimierung.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;In der AI-Engineering-Welt wird aktuell viel darüber diskutiert, wie überraschend effektiv das Generieren und Nutzen von nativem HTML im Umgang mit LLMs sein kann. Anthropic hat dazu vor Kurzem einen interessanten Blog-Post veröffentlicht: &lt;a href=&#34;https://claude.com/blog/using-claude-code-the-unreasonable-effectiveness-of-html&#34;&gt;Using Claude Code: The unreasonable effectiveness of HTML&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Ich nutze in meiner lokalen Umgebung selbst einen kleinen LLM-gestützten &lt;strong&gt;PDF Intelligence &amp;amp; Renaming Agent&lt;/strong&gt;, um Scans nach dem Einlesen einen Dateinamen zu geben, der meiner bevorzugten Wahl entspricht. Das funktioniert hervorragend.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><em>Ein pragmatischer Reality-Check zum aktuellen &ldquo;Effectiveness of HTML&rdquo;-Trend aus Sicht der Pipeline-Effizienz und Kontext-Optimierung.</em></p>
<hr>
<p>In der AI-Engineering-Welt wird aktuell viel darüber diskutiert, wie überraschend effektiv das Generieren und Nutzen von nativem HTML im Umgang mit LLMs sein kann. Anthropic hat dazu vor Kurzem einen interessanten Blog-Post veröffentlicht: <a href="https://claude.com/blog/using-claude-code-the-unreasonable-effectiveness-of-html">Using Claude Code: The unreasonable effectiveness of HTML</a>.</p>
<p>Ich nutze in meiner lokalen Umgebung selbst einen kleinen LLM-gestützten <strong>PDF Intelligence &amp; Renaming Agent</strong>, um Scans nach dem Einlesen einen Dateinamen zu geben, der meiner bevorzugten Wahl entspricht. Das funktioniert hervorragend.</p>
<p>Aus Neugier habe ich dann zwei aktuelle Frontier-Modelle gebeten, meine schlanke Markdown-Spezifikation (<code>AGENTS.md</code>) in ein hochgradig durchgestyltes HTML-Dokument zu übersetzen – so, wie es in dem Blogpost vorgeschlagen wird. Das optische Ergebnis ist bei beiden zweifellos schick. Aber als DevOps- und Software-Engineer schaut man eben auch auf die Metriken unter der Haube. Und die sprechen eine ganz andere Sprache.</p>
<hr>
<h2 id="der-nackte-zahlenvergleich-markdown-vs-html">Der nackte Zahlenvergleich: Markdown vs. HTML</h2>
<p>Schauen wir uns an, was passiert, wenn man identische logische Anweisungen von Markdown in ein modernes HTML-Skelett gießt. Ich habe dafür zwei Generierungen durchgeführt: einmal mit <strong>Google Gemini</strong> (kompakteres Output, Print-CSS-Fokus) und einmal mit <strong>Claude Sonnet</strong> (vollständiges interaktives Layout mit aufklappbaren Sektionen, CSS-Grid, Animationen).</p>
<table>
	<thead>
			<tr>
					<th style="text-align: left">Metrik</th>
					<th style="text-align: left">Original (<code>AGENTS.md</code>)</th>
					<th style="text-align: left">Gemini HTML</th>
					<th style="text-align: left">Claude Sonnet HTML</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><strong>Zeichen</strong></td>
					<td style="text-align: left">3.648</td>
					<td style="text-align: left">10.181</td>
					<td style="text-align: left">19.365</td>
			</tr>
			<tr>
					<td style="text-align: left"><strong>Wörter</strong></td>
					<td style="text-align: left">391</td>
					<td style="text-align: left">746</td>
					<td style="text-align: left">~1.500</td>
			</tr>
			<tr>
					<td style="text-align: left"><strong>Geschätzte Tokens</strong></td>
					<td style="text-align: left"><strong>~490–960</strong></td>
					<td style="text-align: left"><strong>~2.000–2.200</strong></td>
					<td style="text-align: left"><strong>~5.100</strong></td>
			</tr>
			<tr>
					<td style="text-align: left"><strong>Faktor ggü. Markdown</strong></td>
					<td style="text-align: left">1×</td>
					<td style="text-align: left"><strong>~4×</strong></td>
					<td style="text-align: left"><strong>~5,3×</strong></td>
			</tr>
	</tbody>
</table>
<p><em>Hinweis zur Token-Schätzung: Die GPT-4o-Zahlen (Gemini-Spalte) basieren auf dem OpenAI-Tokenizer; die Claude-Schätzung auf ~3,8 Zeichen/Token (claude-sonnet-4-6).</em></p>
<h3 id="warum-explodiert-der-token-count-so-massiv">Warum explodiert der Token-Count so massiv?</h3>
<p>Die zugrundeliegende Programmlogik, die Systemgrenzen und die Verzeichnisstrukturen sind identisch geblieben. Der Mehrverbrauch resultiert ausschließlich aus syntaktischem Overhead: Inline-CSS-Klassen, verschachtelte <code>&lt;div&gt;</code>- und <code>&lt;table&gt;</code>-Strukturen, CSS-Variablen, JavaScript für Interaktionen und HTML-Entities wie <code>&amp;rarr;</code> oder <code>&amp;bull;</code>. Das alles landet vollständig im Kontextfenster – kein Modell kann da &ldquo;wegschauen&rdquo;.</p>
<p>Je ambitionierter das visuelle Design, desto schlimmer die Bilanz. Die Claude-Variante, die wirklich hübsch geworden ist (dunkles Terminal-Theme, aufklappbare Phasen, farbcodierte Blöcke), kostet über <strong>5× so viele Tokens</strong> wie das Original.</p>
<hr>
<h2 id="der-funktionale-blueprint-des-agenten">Der funktionale Blueprint des Agenten</h2>
<p>Damit wir vom selben Inhalt sprechen, hier die Kurzfassung dessen, was die Spezifikation regelt:</p>
<ul>
<li><strong>Zweck:</strong> Nimmt PDFs aus <code>new/</code>, jagt sie durch ein Python-OCR-Skript (<code>pdf-extract.py</code>), liest die Extraktion aus einem Buffer <code>output.txt</code> und generiert ein finales, sicheres Batch-Skript (<code>rename.sh</code> oder <code>rename.ps1</code>).</li>
<li><strong>Sicherheitsgrenze:</strong> Der Agent darf niemals selbst Dateien verschieben oder löschen, sondern schreibt ausschließlich idempotente Befehle (wie <code>mv -n</code>) in das Skript.</li>
<li><strong>Naming-Schema:</strong> <code>yyyy-mm-dd--[category]--[sender]--[subject].pdf</code> (Strict Lowercase, Kebab-Case, Umlaut-Sanitizing).</li>
<li><strong>Klassifizierung:</strong> Striktes Mapping auf elf vordefinierte Kategorien (z. B. <code>amt-behoerde</code>, <code>arbeitgeber</code>, <code>haendler-shop</code>, <code>versicherungen</code>).</li>
</ul>
<hr>
<h2 id="mein-fazit-markdown-bleibt-king-im-core-engineering">Mein Fazit: Markdown bleibt King im Core-Engineering</h2>
<p>Versteht mich nicht falsch: Man <em>könnte</em> das CSS auslagern, wenn man solche UI-Strukturen standardisiert und häufiger abruft. Aber warum sollten wir das im Entwicklungsalltag überhaupt erzwingen?</p>
<p>Heutzutage schickt doch niemand mehr lose, rohe Markdown-Dateien per E-Mail oder Chat durch die Gegend. Wir arbeiten in Git-Ökosystemen. Sobald du einen Link zu einer <code>.md</code>-Datei in GitHub, GitLab oder Codeberg teilst, übernimmt das Web-Interface das saubere Rendering für das menschliche Auge – ganz ohne eine einzige Zeile mitgeschlepptes CSS.</p>
<p>Wenn dieser Prompt oder diese Dokumentation nun Teil des Kontextfensters eines AI-Agenten wird (sei es lokal via Ollama/vLLM oder über externe APIs), zahlen wir bei HTML einen <strong>400–430% Token-Aufschlag</strong> für reines visuelles Lametta, das die LLM-Logik kein bisschen verbessert. Das ist kein akademisches Detail: Bei langen Agentenläufen mit vielen eingelesenen Dateien summiert sich das direkt in höhere Kosten und kürzere effektive Kontextfenster.</p>
<p>Der Thariq-Blogpost hat übrigens durchaus seinen Punkt – aber er beschreibt primär einen <strong>Output</strong>-Workflow: Claude Code <em>erzeugt</em> HTML-Berichte, die Menschen lesen. Für diesen Anwendungsfall ist HTML tatsächlich überlegen. Das Problem entsteht, wenn man HTML auch als <strong>Input</strong> für Agenten einsetzt, also als Systemkontext, Spec oder Instruktionsdatei. Da dreht sich der Vorteil um.</p>
<p><strong>Mein Fazit für schlanke Dokumentation:</strong> Für menschliche Interfaces im Browser ist HTML nett; im Herzstück meiner/unserer Engineering- und Automatisierungsumgebungen ist GitHub-Flavored-Markdown nach wie vor das ungeschlagene Optimum aus Lesbarkeit, Versionierbarkeit und Token-Effizienz.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Filament Manager: Wie LLMs beim Bauen geholfen haben</title>
      <link>https://cbrueggenolte.de/filament-manager-llms-beim-bauen/</link>
      <pubDate>Mon, 05 May 2025 00:00:00 +0200</pubDate><author>96ca5227@cbrueggenolte.de (cbrueggenolte.de)</author>
      <guid>https://cbrueggenolte.de/filament-manager-llms-beim-bauen/</guid>
      <description>&lt;p&gt;Heute war Brückentag, und ich hatte noch frei.&#xA;Neben ein paar administrativen Dingen habe ich weiter an meinem &lt;strong&gt;Filament Manager&lt;/strong&gt; programmiert.&#xA;Zwar habe ich das Datenbank-Layout ein paar Mal über den Haufen geworfen und hier und da das Design geändert,&#xA;aber insgesamt ist das Projekt, glaube ich, schon ganz gut geworden – und als Programmierübung war es ebenfalls hilfreich.&#xA;Außerdem kann ich den Manager selbst gut gebrauchen, um meine Filamente zu verwalten.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Heute war Brückentag, und ich hatte noch frei.
Neben ein paar administrativen Dingen habe ich weiter an meinem <strong>Filament Manager</strong> programmiert.
Zwar habe ich das Datenbank-Layout ein paar Mal über den Haufen geworfen und hier und da das Design geändert,
aber insgesamt ist das Projekt, glaube ich, schon ganz gut geworden – und als Programmierübung war es ebenfalls hilfreich.
Außerdem kann ich den Manager selbst gut gebrauchen, um meine Filamente zu verwalten.</p>
<p>Eine große Hilfe waren tatsächlich auch die <strong>Large Language Models</strong>.
Dank <em>Gemma</em>, <em>Qwen</em>, <em>Claude</em> und Co. ließen sich größere HTML-Abschnitte ziemlich schnell und ohne viel Aufwand umbauen.
Auch Anpassungen im Design mit Tailwind – das Einfügen von Klassen, das Ausprobieren verschiedener Layouts oder das Anpassen von Farben über ganze Seiten hinweg – gehen mit Unterstützung durch LLMs erstaunlich fix.
Sind also gar nicht so schlecht, die Dinger.
Leider konnte ich nicht alles mit einem lokalen Gemma- oder Qwen-Modell umsetzen,
aber das wird langsam besser.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
