PullMD Teil 6: Setup für Agenten – Einfach erklärt
Eigentlich wollte ich nur die Oberfläche aufräumen. Daraus wurde eine Hilfeseite, ein Agent-Setup und die Erkenntnis, dass ich gerade etwas versprochen hatte, das mein eigener Dienst gar nicht konnte.
Warum eine Hilfeseite?
Es fing mit einer Unterhaltung über Share-Links an. Ein Share-Link ist so etwas wie ein Lesezeichen, das man an andere weitergeben kann: man ruft ihn auf und bekommt den gespeicherten Inhalt zurück. Und beim Reden darüber kam mir eine Idee:
„ah sehr interessant, also könnte ein KI agent ein subreddit link immer wieder mal abrufen und hätte so ständig die neuesten beiträge oder die halt auf der seite stehen… cool. wir sollten solche informationen auf eine eingebaute hilfeseite schreiben, weil man sowas auch vergisst und nach ein paar wochen oder monaten nicht mehr weiss. viele projekte haben sowas nicht“
Der zweite Teil war mir im Rückblick wichtiger als der erste. Ich vergesse die Details meiner eigenen Werkzeuge tatsächlich. Nach drei Monaten weiß ich nicht mehr, ob ein gespeichertes Ergebnis eine Stunde frisch bleibt oder einen Tag. Dann probiere ich es aus, statt nachzulesen.
Also: eine Hilfeseite einbauen, direkt im Dienst. Eine Anlaufstelle, wo alles steht, was man vergisst.
Was da jetzt draufsteht
Die Seite heißt /help, ist zweisprachig und sieht aus wie der Rest des Dienstes. Drauf steht das, was man nach ein paar Wochen garantiert nicht mehr weiß:
- Wie lange ein Ergebnis im Cache frisch bleibt, also im Zwischenspeicher des Dienstes
- Wie lange ein Share-Link lebt
- Welche Einstellungen der Endpunkt kennt, also die Adresse, an die man seine Anfrage schickt
- Wie der Dienst unterscheidet, ob gerade ein Mensch im Browser fragt oder ein KI-Agent, also ein KI-Assistent, der eigenständig Aufgaben bearbeitet
Dazu kam ein Abschnitt, den ich vorher so nirgends hatte: ein Agent-Setup. Zwei Textblöcke zum Kopieren. Einer davon ist ein fertiger Text, den man einem beliebigen Chatbot vorsetzen kann, damit der weiß, wie er den Dienst benutzt.
Dazu kommt der Skill aus Teil 4 als ZIP zum Herunterladen. Dieses ZIP, ein komprimiertes Paket mit neun kleinen Dateien, entsteht automatisch beim Bauen des Containers. Der Container ist die versiegelte Box, in der das Programm auf dem Server läuft.
Für MCP (Model Context Protocol: eine standardisierte Schnittstelle, über die ein KI-Assistent direkt mit einem Werkzeug sprechen kann) stand an dieser Stelle erst mal nur „kommt noch“. Das wird Thema in Teil 7.
Etwas stimmte nicht
Beim Aufschreiben des Subreddit-Tipps habe ich die Idee noch einmal durchgedacht. Und gemerkt, dass sie so gar nicht funktioniert:
„der share link macht ja eigentlich nur sinn, wenn ich den inhalt darüber immer wieder frisch holen kann. ansonsten brauch ich den share link nicht, den alten text hab ich ja bereits.“
Das Problem: der Share-Link war bis dahin ein Schnappschuss. Man rief ihn auf und bekam exakt das zurück, was beim allerersten Abruf gespeichert worden war.
Für „schick mal jemandem einen Artikel“ ist das in Ordnung. Für einen Agenten, der wissen will, was gerade in einem Subreddit los ist, ist es nutzlos. Der Denkfehler steckte also nicht im Code, sondern in dem, was ich eine halbe Stunde vorher selbst behauptet hatte.
Die Reparatur
Der Umbau war klein, aber wichtig. Wenn jemand einen Share-Link aufruft, schaut der Dienst jetzt aufs Alter des gespeicherten Inhalts. Ist der Stand älter als eine Stunde, holt er die Originalseite neu und schreibt das Ergebnis zurück. Die Kennung bleibt dieselbe.
Zwei Details waren dabei entscheidend. Erstens muss der Dienst sich merken, wie der Inhalt beim ersten Mal abgerufen wurde. Waren damals Kommentare dabei? In welcher Sprache wurde geantwortet? Sonst kommt beim Auffrischen etwas anderes zurück als beim ersten Mal.
Zweitens liefert der Dienst weiter den alten Stand aus, wenn das Neuholen scheitert, weil die Originalseite verschwunden ist oder das Netz klemmt. Ein Share-Link, der plötzlich 404 meldet, also „nicht gefunden“, wäre schlechter als einer, der etwas Veraltetes zeigt.
Damit muss ein Agent nur noch eine kurze Kennung kennen. Keine Adresse verwalten, keine Einstellungen merken. Einmal abrufen, und was zurückkommt, ist aktuell.
Dass genau dieser Mechanismus zwei Stunden später eines von drei Werkzeugen für Claude wird, war zu dem Zeitpunkt noch nicht geplant.
Teil 6 von 15 der PullMD Serie.
← PullMD Teil 5: Die falsche Engine gemessen | PullMD Teil 7: Der MCP-Server →