- Websites werden nicht nur genutzt, um Menschen Informationen bereitzustellen, sondern auch, um LLMs Informationen zu liefern
- LLMs werden eingesetzt, um die von Entwicklerinnen und Entwicklern genutzte Entwicklungsumgebung zu verbessern, einschließlich der Möglichkeit, Informationen über Programmbibliotheken und APIs aus der Webdokumentation zu sammeln
- Die Bereitstellung von Informationen für LLMs unterscheidet sich etwas von der Bereitstellung für Menschen, überschneidet sich aber in vielen Bereichen
- Im Allgemeinen wird ein kompakteres Format bevorzugt
- Da viele Informationen schnell gesammelt werden können, ist es hilfreich, alle wichtigen Informationen an einem Ort zu bündeln
- Das Kontextfenster von LLMs ist zu klein, um eine gesamte Website zu verarbeiten, und es ist schwierig, komplexe HTML-Seiten in LLM-freundliche Klartextdokumente umzuwandeln
- Daher wird eine Methode benötigt, um die wichtigsten Informationen zu identifizieren, die einem KI-Assistenten bereitgestellt werden sollen, und sie im geeignetsten Format anzubieten
Vorschlag
- Es wird vorgeschlagen, dass Personen, die LLM-freundliche Inhalte bereitstellen möchten, ihrer Website eine Datei unter
/llms.txt hinzufügen
- Dabei handelt es sich um eine Markdown-Datei mit einfachen Hintergrundinformationen und Anweisungen, einschließlich Links auf Markdown-Dateien mit ausführlicheren Informationen
- Dies kann genutzt werden, um Informationen bereitzustellen, die für die Verwendung einer Bibliothek notwendig sind, oder als Teil einer Recherche, um mehr über eine Person oder Organisation zu erfahren
- Markdown in
llms.txt kann sowohl von Menschen als auch von LLMs gelesen werden, erlaubt aber auch die Verarbeitung in einem präzisen Format
- Die Datei
llms.txt kann in verschiedenen Szenarien eingesetzt werden
- Bei Softwarebibliotheken kann sie einen strukturierten Überblick über die Dokumentation liefern, sodass LLMs bestimmte Funktionen oder Anwendungsbeispiele leicht finden können
- Auf Unternehmenswebsites kann sie die Organisationsstruktur und die wichtigsten Informationsquellen skizzieren
- Informationen über neue Gesetze sowie den nötigen Hintergrund und Kontext können in einer
llms.txt-Datei kuratiert werden, um Stakeholdern das Verständnis zu erleichtern
- Persönliche Portfolio- oder CV-Websites können dabei helfen, Fragen zu einer Person zu beantworten
- Im E-Commerce können Produktkategorien und Richtlinien knapp beschrieben werden
- Bildungseinrichtungen können sie verwenden, um Kursangebote und Ressourcen zusammenzufassen
Dateiformat von llms.txt
- Das Dateiformat von
llms.txt liefert eine Informationsstruktur mit Markdown, das für Sprachmodelle leicht verständlich ist
- Diese Datei verwendet Markdown statt traditioneller strukturierter Formate (z. B. XML), da die Hauptleser der Datei Sprachmodelle und Agenten sind
- Die Datei
llms.txt kann mit Standard-Programmierwerkzeugen gelesen werden und ist nach einem bestimmten Format aufgebaut
- H1-Überschrift: Enthält den Namen des Projekts oder der Website und ist der einzige verpflichtende Abschnitt.
- Blockzitat: Enthält eine kurze Zusammenfassung des Projekts und liefert die wichtigsten Informationen, die zum Verständnis des Rests der Datei erforderlich sind.
- Markdown-Abschnitte: Liefern detaillierte Informationen und können verschiedene Arten von Abschnitten wie Absätze oder Listen enthalten, jedoch keine zusätzlichen Überschriften.
- Durch H2-Überschriften getrennte Dateilisten-Abschnitte: Enthalten eine Liste von URLs mit zusätzlichen Informationen; jeder Eintrag wird im Markdown-Linkformat
[Name](URL) geschrieben und kann optional eine Beschreibung enthalten.
- Beispiel der Datei
# Projekttitel
> Optionale Beschreibung des Projekts steht hier
Optionale Detailinformationen stehen hier
## Abschnittsname
- [Linktitel](https://링크_URL): Optionale Linkbeschreibung
## Optional
- [Linktitel](https://링크_URL)
- Abschnitt „Optional“: Hat eine besondere Bedeutung; wenn nur ein kurzer Kontext erforderlich ist, können diese URLs ausgelassen werden. Er enthält sekundäre Informationen, die häufig weggelassen werden können.
Koexistenz mit bestehenden Standards
llms.txt wurde so entworfen, dass es zusammen mit bestehenden Webstandards funktioniert
- Während Sitemaps für Suchmaschinen alle Seiten auflisten, bietet
llms.txt einen kuratierten Überblick für LLMs (große Sprachmodelle)
llms.txt steht in einer ergänzenden Beziehung zu robots.txt und kann Kontext zu erlaubten Inhalten liefern
- Es kann außerdem auf auf der Website verwendetes strukturiertes Daten-Markup verweisen und LLMs so helfen, dieses zu verstehen und zu interpretieren
- Der Pfad der Datei wird auf dieselbe Weise standardisiert wie bei
/robots.txt und /sitemap.xml
- robots.txt und llms.txt haben unterschiedliche Zwecke
- robots.txt: Wird von automatisierten Werkzeugen (z. B. Bots zur Suchindexierung) genutzt, um zu verstehen, in welchem Umfang auf die Website zugegriffen werden darf
- llms.txt: Wird hauptsächlich verwendet, wenn Nutzer ausdrücklich Informationen zu einem bestimmten Thema anfordern. Zum Beispiel ist sie nützlich, wenn die Dokumentation einer Coding-Bibliothek in ein Projekt eingebunden wird oder wenn in einem Chatbot mit Suchfunktion Informationen abgefragt werden
- Von
llms.txt wird erwartet, dass es vor allem für Inferenz nützlich ist. Es wird in dem Moment eingesetzt, in dem Nutzer Hilfe benötigen, und voraussichtlich nicht für Training verwendet. Falls sich die Nutzung von llms.txt jedoch weit verbreitet, könnte diese Information künftig auch im Trainingsprozess genutzt werden
- Unterschiede zu sitemap.xml
- sitemap.xml: Listet alle indexierbaren, für Menschen lesbaren Informationen einer Website auf
llms.txt ist kein Ersatz für sitemap.xml:
- Es muss keine von LLMs lesbaren Versionen von Seiten enthalten.
- Es enthält keine URLs externer Websites, die zum Verständnis der Informationen nützlich sein könnten.
- Es enthält in der Regel zu große Dokumente, die nicht in das Kontextfenster von LLMs passen, sowie viele Informationen, die für das Verständnis der Website nicht erforderlich sind.
llms.txt kann als ein Werkzeug dienen, das dafür optimiert ist, dass Sprachmodelle auf bestimmte Informationen zugreifen und den Kontext verstehen können
4 Kommentare
Man könnte
robots.txtdoch einfach erweitern … Ist es wirklich nötig, Crawlern für LLMs einen Sonderstatus zu geben?Ich fände es eher sinnvoll, die User-Agents der LLM-Crawler etwas aufzuräumen … aber da der User-Agent selbst ohnehin auf der Kippe steht, ist das schwierig.
Randbemerkung 1: Wenn es
txtheißt, warum ist es dann Markdown? Ich mag Markdown auch sehr, aber unbedingt nötig ist das doch nicht …Ich finde die Bezeichnung
llmsetwas unangenehm, weil sie wie eine Schnittstelle für eine bestimmte Technologie wirkt...Stimmt. Ich denke auch, dass es besser wäre, vorhandene Standards wie JSON-LD zu nutzen oder zu erweitern, statt noch einen weiteren merkwürdigen Standard mit sehr geringer Allgemeingültigkeit zu schaffen.
Wenn sich das weit verbreitet, könnte man LLMs mit einer passenden
llms.txt-Datei wohl daran hindern, meine Website zu nutzen.Etwa indem man ihnen völlig andere, sinnlose Informationen gibt oder so große Informationen bereitstellt, dass der gesamte Kontext des LLMs aufgebraucht wird.