Filter

llms.txt in Footnoted: Einstieg, Dateinetz und Matrix

Eine Selbstauskunft: Was diese Seite über das Archiv sagt, stützt sich auf die Dateien im Repository. Was sie über andere sagt, trägt eine Fußnote auf eine fremde Quelle, mit deren Wortlaut. Die Zahlen setzt der Build bei jeder Veröffentlichung aus dem Bestand ein.

Ein Sprachmodell, das eine Frage über Geschichte beantworten soll, liest Websites anders als ein Mensch. Diese Seite beschreibt, was Footnoted dafür bereitstellt, warum es so gebaut ist und was der Betrieb bisher gezeigt hat. Was andere über llms.txt gemessen haben, steht auf einer eigenen Seite: llms.txt in Messungen und Studien.

Wovon die Datei ausgeht

Jeremy Howard schlug im September 2024 vor, dass Websites unter /llms.txt eine Markdown-Datei mit kurzer Einführung und Links auf ausführlichere Markdown-Dateien anbieten.1 Begründet wird das damit, dass eine HTML-Seite ihren Inhalt zwischen Navigation, Werbung und JavaScript verteilt und sich schlecht in reinen Text zurückführen lässt.2 Dazu kommt, dass die meisten Websites als Ganzes nicht in das Kontextfenster eines Modells passen.2

Eine Studie über KI-Agenten auf einem Dokumentationsportal fand, dass sie eine Navigation über mehrere Seiten auf eine oder zwei Anfragen verdichten.3 Für Footnoted folgt daraus die Bauregel: Jede Frage, die man an das Archiv stellen kann, soll mit wenigen Abrufen beantwortet sein, und jeder Abruf soll sagen, ob er vollständig war.

Was Footnoted bereitstellt

Wegeplan: welche Datei wohin führt Grün: Handel × Mittelalter in drei Abrufen — /llms.txt, dann /de/matrix/mittelalter/handel.md mit 7 Einträgen, dann der Eintrag. Wer das Muster kennt, beginnt beim zweiten. Daneben: /de/neu.md für das, was dazukam, und die WebMCP-Werkzeuge.
Wegeplan der Dateien für Agenten Von /llms.txt führen drei Wege weiter: je Bereich eine Datei, je Zeitalter eine Datei und die Matrix aus beiden, deren Felder eigene Dateien sind. Alle führen zum Eintrag als Markdown und JSON. Beispiel Handel × Mittelalter: /llms.txt nennt das Muster, /de/matrix/mittelalter/handel.md listet 7 Einträge, der dritte Abruf ist der Eintrag selbst. nach Bereich /de/<bereich>/llms.txt 26 Bereiche nach Zeitalter /de/zeitalter/<id>/llms.txt 6 Zeitalter gekreuzt: Matrix /de/matrix.md Bereiche × Zeitalter Einstieg /llms.txt Stand, Wege, Lizenz ein Feld der Matrix /de/matrix/<zeitalter>/<bereich>.md 118 Dateien ein Eintrag …/<id>.md — Volltext mit Fußnoten · …/<id>.json — Quellen, Prüfstand 743 Einträge 1 2 3 Muster aus /llms.txt

Alle Dateien entstehen bei jedem Build aus denselben 743 Einträgen, den Angaben der Bereiche und Zeitalter und, für das Neue, der Versionsgeschichte. Keine wird von Hand gepflegt.

Woran ein Agent erkennt, dass er alles hat

Ein Modell, das eine abgeschnittene Liste liest, hält sie leicht für vollständig. Deshalb sagt jede Datei für einen Bereich, ein Zeitalter oder ein Feld der Matrix im Kopf, ob sie den ganzen Bestand ihres Ausschnitts enthält oder nur einen Teil. Sie endet, wie /llms.txt, die Matrix und neu.md, mit der Zeile „Ende der Datei“. Fehlt die Zeile, war der Abruf abgeschnitten.

Aus demselben Grund steht in der Matrix eine 0, wo es nichts gibt. Ein leeres Feld ohne Zahl ließe offen, ob dort nichts ist oder ob nur nichts geladen wurde. Und das Werkzeug footnoted_liste antwortet mit einer leeren Liste, wenn kein Eintrag passt. Die Suche dagegen rät, und sie sagt das auch.

Dieselben Dateien verweisen zurück auf die Ebene darüber und nennen im Kopf die Lizenz, mit der Bitte, beim Zitieren „Footnoted — footnoted.net“ zu nennen und die verwendeten Einträge zu verlinken; /llms.txt nennt sie in einem eigenen Abschnitt. Ein Agent, der nur eine dieser Dateien liest, hat damit beides: den Weg zurück und die Bedingung.

Was der Betrieb gezeigt hat

Was übertragbar ist

Nichts davon setzt ein Archiv voraus. Wer Inhalte für Agenten aufbereiten will, kann diese Regeln übernehmen:

Was sich nicht übertragen lässt, ist der Inhalt dahinter. Eine gut gebaute Datei auf unbelegtem Text macht Fehler nur leichter auffindbar. Wie in Footnoted belegt wird, steht unter Wie Footnoted belegt.

Quellen

  1. /llms.txt—a proposal to provide information to help LLMs use websites — Answer.AI, abgerufen am

    We propose that those interested in providing LLM-friendly content add a /llms.txt file to their site. This is a markdown file that provides brief background information and guidance, along with links to markdown files providing more detailed information. Author Jeremy Howard Published September 3, 2024

  2. The /llms.txt file, v2 — llmstxt.org, abgerufen am

    An HTML page wraps its information in navigation, ads, and JavaScript, and converting it back into clean text is difficult and imprecise. Context windows, while larger than they were, are still too small for most websites in their entirety, and every wasted token costs time and money.

  3. Developer Experience with AI Coding Agents: HTTP Behavioral Signatures in Documentation Portals — arXiv (Oleksii Borysenko), abgerufen am

    Our study shows that AI agent access compresses multi-page navigation into a single or two requests, making traditional engagement metrics - session depth, time-on-page, click path, and bounce rate - unreliable indicators of actual documentation consumption.

Worauf diese Seite sich stützt

Für die Aussagen über das Archiv: die Dateien im Repository, aus denen die Aussagen und Zahlen stammen.

  • scripts/build.mjs — wo llms.txt, Sitemaps und alle Dateien für Agenten entstehen
  • src/netz.ts — das Netz der Bereichs- und Zeitalterdateien und die Matrix
  • src/neu.ts — was seit einem Stand dazukam
  • src/webmcp.ts — die Werkzeuge, die jede Seite in Browsern mit WebMCP anbietet
  • src/license.ts — die Lizenzzeile im Kopf jeder Datei
  • vercel.json — der Dateityp, mit dem die Dateien ausgeliefert werden
  • scripts/lib/indexnow-lib.mjs — wie neue Adressen den Suchmaschinen gemeldet werden
  • src/templates/pages.ts — die Fehlerseite und ihr Absatz für Programme ohne JavaScript
  • scripts/lib/agententest-lib.mjs — woran der Agententest eine geratene Adresse erkennt

Text zuletzt gegen den Stand geprüft: .