1. Was ist Markdown: Philosophie, CommonMark und warum es die Muttersprache der KI ist
Markdown ist eine leichtgewichtige Auszeichnungssprache für Text, die 2004 von John Gruber mit einem einfachen Ziel entwickelt wurde: strukturierten Text zu schreiben, der im Rohzustand maximal lesbar bleibt und sich problemlos in valides HTML konvertieren lässt. Der moderne Referenzstandard des Formats ist in der CommonMark-Spezifikation definiert und durch den Standard GitHub Flavored Markdown (GFM) erweitert.
In der Interaktion mit künstlicher Intelligenz (ChatGPT, Claude Code, Gemini, lokale Modelle via Ollama) ist Markdown die primäre Kommunikationssprache.
Warum große Sprachmodelle „in Markdown denken“
- Ideale Token-Ökonomie: Im Gegensatz zu XML oder HTML, bei denen jedes Tag einen Öffnungs- und einen Schließungs-TAG erfordert (
<p>Text</p>), verwendet Markdown nur minimale Steuerzeichen oder einfache Zeilenumbrüche. - Semantische Eindeutigkeit: Die Symbole
#,-,>sowie Inline-Code-Marker belasten das Kontextfenster nicht unnötig und geben dem Modell eine klare Karte der Gedanken-Hierarchie. - Natürlichkeit für Streaming-Ausgabe: Die Wort-für-Wort-Generierung ohne komplexe, ungeschlossene Tags ermöglicht das sofortige Rendern der Formatierung im Chat-Interface („on the fly“).
- Versionskontrolle in Git:
.md-Dateien sind reine Textdateien, weshalb Änderungen an Wissensdatenbanken oder Dokumentationen einfach übergit diffnachvollziehbar sind.
Die Formatierung in Markdown unterscheidet zwei Ebenen: Blockelemente (Überschriften, Listen, Zitate, Tabellen, Codeblöcke) und Inline-Elemente (Fett, Kursiv, Links, Inline-Code). Blockelemente müssen zwingend durch eine Leerzeile voneinander getrennt werden.
2. Überschriftenhierarchie und Navigationsstruktur von Dokumenten
Überschriften bilden das Skelett eines Dokuments und generieren das Inhaltsverzeichnis (Table of Contents). In Markdown werden die Überschriftenebenen durch das Raute-Zeichen (#) am Zeilenanfang gekennzeichnet – von eins bis sechs.
Hierarchie der Überschriftenebenen in Markdown und entsprechende HTML-Tags| Überschriftenebene | Markdown-Syntax | HTML-Äquivalent | Typische Verwendung |
|---|---|---|---|
| Ebene 1 | # Überschrift | <h1> | Titel des gesamten Artikels oder Dokuments (nur einmal pro Seite) |
| Ebene 2 | ## Überschrift | <h2> | Hauptabschnitte und zentrale Module des Themas |
| Ebene 3 | ### Überschrift | <h3> | Unterabschnitte, Schritte in Anleitungen, einzelne Tools |
| Ebene 4 | #### Überschrift | <h4> | Detaillierung von Unterpunkten, Parameter, Hinweise |
| Ebene 5 | ##### Überschrift | <h5> | Kleine technische Fußnoten |
| Ebene 6 | ###### Überschrift | <h6> | Mikroüberschriften in Spezifikationen |
Kritische Regel: Leerzeichen nach der Raute
Gemäß dem CommonMark-Standard muss zwischen dem Raute-Zeichen und dem Überschriftentext zwingend ein einzelnes Leerzeichen stehen. Fehlt dieses Leerzeichen, interpretieren die meisten modernen Parser den Eintrag als gewöhnlichen Hashtag oder reinen Text.
Vergleich korrekter und inkorrekter Schreibweise von ÜberschriftenVerwenden Sie niemals das Symbol # für eine H1-Überschrift innerhalb des Artikelkörpers, wenn der Titel bereits in den Metadaten (Frontmatter) definiert ist. Eine Seite sollte genau ein semantisches <h1>-Tag enthalten.
3. Textformatierung: Fett, Kursiv, Durchgestrichen und Sonderzeichen
Inline-Hervorhebungen helfen dabei, die Aufmerksamkeit auf Schlüsselbegriffe und Konzepte zu lenken.
Syntax zur Kursivsetzung von Text in Markdown| Stil der Hervorhebung | Markdown-Syntax | Anzeigeergebnis |
|---|---|---|
| Fett (Bold) | **wichtiger Begriff** oder __Begriff__ | wichtiger Begriff |
| Kursiv (Italic) | *Akzent* oder _Akzent_ | Akzent |
| Fett-Kursiv | ***kritische Aktion*** | kritische Aktion |
| Durchgestrichen (Strikethrough) | ~~veraltete Version~~ | |
| Inline-Code | `apiKey` | apiKey |
Praktische typografische Nuancen
- Hervorhebung innerhalb eines Wortes: Wenn Sie einen Teil eines Wortes hervorheben möchten, verwenden Sie immer Sternchen (
A*cat*meow), da einige Prozessoren Unterstriche innerhalb von Wörtern ignorieren und sie als Teil einer Variablen-ID interpretieren (user_profile_id). - Zeilenumbruch ohne neuen Absatz: Um einen Zeilenumbruch (
<br>) innerhalb desselben Absatzes hinzuzufügen, setzen Sie zwei Leerzeichen ans Ende der Zeile oder nutzen Sie das Tag<br>. - Kommentare: Für Notizen, die nicht auf der finalen Seite gerendert werden sollen, verwenden Sie die Syntax von HTML-Kommentaren:
<!-- Dies ist ein interner Kommentar -->.
4. Listen und verschachtelte Strukturen: nummeriert, Aufzählung und Checkboxen
Listen strukturieren schrittweise Algorithmen und Parametersätze.
Aufzählungs- und nummerierte Listen
Zusätzliche Blöcke innerhalb von Listen
Um einen Absatz, ein Zitat oder einen Codeblock innerhalb eines Listenelements einzufügen, ohne die Gesamt-Numerierung zu unterbrechen, rücken Sie jede untergeordnete Zeile um 4 Leerzeichen ein:
2. Перевірте вихідний каталог dist/.
6. Inline-Code, Codeblöcke und Syntax-Highlighting
Code und Konfigurationen erfordern eine Monospace-Schriftart und Schutz vor der Interpretation interner Zeichen.
Inline-Code vs. Fenced Code Blocks
- Inline-Code: Einzelne Backticks (Gravis-Zeichen):
git status. - Escaping eines Backticks innerhalb von Inline-Code: Umschließen mit doppelten Backticks:
`npm test`. - Fenced Code Blocks: Drei Backticks mit zwingender Angabe des Sprach-Identifiers.
Strenge Isolierungsregel für Prompts: Alle System-Prompts oder Assistenten-Regeln (.cursorrules, CLAUDE.md), die eigene Überschriften-Symbole (#, ##) enthalten, müssen zwingend in einen separaten Codeblock mit Sprachangabe (z. B. markdown oder text) eingebettet werden. Bleiben sie ohne Codeblock im Fließtext, landen die internen Prompt-Überschriften im Inhaltsverzeichnis (TOC) des Artikels und zerstören die Seiten-Navigation.
7. Zitate, Callouts und horizontale Trennlinien
Zitate werden durch das Symbol > am Zeilenanfang erzeugt und dienen zur Hervorhebung von Gedanken, wichtigen Warnungen oder zum Zitieren von Text.
Standard-Zitate und mehrstufige Verschachtelung
Moderne GitHub Alerts (Callout-Blöcke)
Moderne Dokumentationsplattformen unterstützen standardisierte hervorgehobene Blöcke mit farbigen Icons:
Horizontale Trennlinien
Drei oder mehr Bindestriche (---), Sternchen (***) oder Unterstriche (___) in einer eigenen Zeile erzeugen eine horizontale Linie:
8. Escaping von Sonderzeichen und eingebettetes HTML
Wenn ein Markdown-Syntax-Zeichen als normales Druckzeichen ausgegeben werden soll, wird ihm ein Backslash (\) vorangestellt.
Sonderzeichen der Markdown-Syntax, die mit einem Backslash escaped werden könnenListe der zu escapenden Zeichen
| Zeichen | Name des Zeichens | Beispiel für Escaping | Render-Ergebnis |
|---|---|---|---|
\ | Backslash | \\ | \ |
` | Backtick | \` | ` |
* | Asterisk (Stern) | \*nicht kursiv\* | *nicht kursiv* |
_ | Underscore (Unterstrich) | \_nicht fett\_ | _nicht fett_ |
# | Hash (Raute) | \# Keine Überschrift | # Keine Überschrift |
[ ] | Eckige Klammern | \[Kein Link\] | [Kein Link] |
! | Ausrufezeichen | \!Kein Bild | !Kein Bild |
Sichere Nutzung von HTML
Reicht Standard-Markdown nicht aus, können HTML-Tags verwendet werden, wobei folgende Einschränkungen zu beachten sind:
- Das Tag
<br>für erzwungene Zeilenumbrüche in Tabellen. - Das Tag
<u>für unterstrichenen Text. - Block-Tags (
<div>,<table>) müssen durch Leerzeilen vom Markdown-Code getrennt werden; innerhalb dieser Tags funktioniert die Markdown-Auszeichnung nicht.
9. GitHub Flavored Markdown (GFM)-Tabellen und Mermaid-Diagramme
Tabellen ermöglichen den Vergleich von Eigenschaften, Parametern und Konfigurationen.
GFM-Tabellen-Syntax mit Ausrichtung
:---— Spaltenausrichtung linksbündig.:---:— Spaltenausrichtung zentriert.---:— Spaltenausrichtung rechtsbündig (ideal für Preise und Zahlen).
Architekturvisualisierung über Mermaid
Anstelle schwerer Raster-Screenshots nutzen moderne Entwickler eingebettete Textdiagramme mit Mermaid:
10. Markdown in AI-Agenten: CLAUDE.md, System Prompts und Validierungs-Checkliste
Im Zeitalter autonomer AI-Agenten (Claude Code, Cursor, Windsurf, Devin) ist Markdown zur Hauptsprache für die Übermittlung des Engineering-Kontexts geworden.
Projekt-Instruktionsdateien (CLAUDE.md / .cursorrules)
Agenten lesen die Root-Datei CLAUDE.md vor jeder Anfrage. Ist diese qualitativ hochwertig formatiert, hält sich das Modell fehlerfrei an die Projektarchitektur:
Master-Prompt für die Generierung einwandfreien Markdowns
Checkliste zur Prüfung der Markdown-Qualität
- Im Artikelkörper befindet sich kein
#-Tag (H1 wird ausschließlich aus dem Seitentitel generiert). - Alle Abschnitte der obersten Ebene sind sequenziell nummeriert (
## 1.,## 2.). - Nach den Raute-Zeichen
#steht zwingend ein Leerzeichen. - Alle Prompts, Konfigurationen und Codebeispiele sind in entsprechende
```-Blöcke eingebettet. - Sonderzeichen in Links sind korrekt codiert (Percent-Encoding).
- Tabellen folgen dem GFM-Standard ohne beschädigte Trennzeichen.
- Alle Bilder verfügen über aussagekräftigen Alt-Text für Barrierefreiheit.