Beitragen zu Semantic Anchors
Vielen Dank für Ihr Interesse, zum Semantic Anchors Katalog beizutragen! Dieser Leitfaden erklärt, wie Sie neue semantische Anker vorschlagen und was einen guten semantischen Anker ausmacht.
Was sind Semantic Anchors?
Semantic Anchors (semantische Anker) sind klar definierte Begriffe, Methodologien und Frameworks, die als Referenzpunkte bei der Kommunikation mit Large Language Models (LLMs) dienen. Sie fungieren als gemeinsames Vokabular, das spezifische, kontextreiche Wissensbereiche im Trainingsdatensatz eines LLMs aktiviert.
Beispiel: Wenn Sie einem LLM "TDD, London School" erwähnen, aktiviert es Wissen über Mock-intensive Tests, Outside-in-Entwicklung und die Arbeit von Steve Freeman und Nat Pryce - viel reichhaltiger als einfach zu sagen "verwende Mocks beim Testen."
Artefakttypen: Anchor, Contract, Skill
Der Katalog kennt drei Artefakttypen. Welchen Sie vorschlagen, entscheidet, wohin Ihr Beitrag gehört. Die vollständige Begründung steht in ADR-007; die Arbeitsdefinitionen stehen hier.
| Typ | Funktion | Sprachform | Laden |
|---|---|---|---|
Anchor |
„Was weiß ich?" — fokussiert vorhandenes Wissen |
Nomen / benanntes Konzept („Cockburn Use Cases") |
Passiv (Aktivierungssignal) |
Contract |
„Was darf ich?" — pinnt anwendbare Anchors + Invarianten |
Deklarativ („folgt / NIE / MUSS") |
Always-on |
Skill |
„Wie tue ich es?" — liefert Prozedur |
Verb / Imperativ („Erstellen / Verifizieren / Schreiben") |
On-demand |
-
Anchor — ein benanntes Aktivierungssignal für einen Wissenscluster, der in den Trainingsdaten eines LLMs bereits dicht vorhanden ist. Er fokussiert; er lehrt nicht. Muss die vier Qualitätskriterien unten bestehen.
-
Contract — knappes, always-on geltendes gemeinsames Vokabular (in
CLAUDE.md/AGENTS.md), das pinnt, welche Anchors gelten, und Invarianten festlegt. Sobald er beschreibt, wie etwas Schritt für Schritt zu tun ist, gehört dieser Teil in einen Skill. -
Skill — on-demand geladene prozedurale Maschinerie (
references/, Prompts, ein Workflow) für ein Wie, das das Modell nicht allein aus einem Namen ausführen kann.
Unterscheidungstest:
-
Wissen schon dicht im LLM, braucht nur Fokus → Anchor
-
Pinnen nötig, welche Anchors gelten und was erlaubt/verboten ist → Contract
-
Beschreiben nötig, wie etwas konkret getan wird → Skill
Die Thin-Prior-Regel. Ist ein Name in den Trainingsdaten nicht dicht, ist er kein Anchor — ihn zu benennen verändert die Ausgabestruktur nicht zuverlässig gegenüber einem generischen Prompt. Was ihn repariert, hängt davon ab, was fehlt: fehlt die Bedeutung/Rahmung → ein Contract (er liefert seine eigene Bedeutung; eine URL repariert keinen Prior); fehlt die Prozedur → ein Skill. Ein dünner Name wird nie zum Anchor gezwungen.
Qualitätskriterien
Bevor Sie einen neuen semantischen Anker vorschlagen, stellen Sie sicher, dass er diese vier Kriterien erfüllt:
Details
=== ✓ Präzise Der Anker referenziert einen spezifischen, etablierten Wissensbereich mit klaren Grenzen.
Gut: "SOLID Principles" - fünf spezifische Design-Prinzipien (SRP, OCP, LSP, ISP, DIP)
Schlecht: "Gutes Design" - vage und subjektiv
=== ✓ Reichhaltig Der Anker aktiviert mehrere miteinander verbundene Konzepte, nicht nur eine einzelne Anweisung.
Gut: "Domain-Driven Design" - aktiviert Bounded Contexts, Ubiquitous Language, Aggregates, Value Objects, Entities, Repositories, etc.
Schlecht: "Verwende aussagekräftige Namen" - einzelne Anweisung ohne konzeptionelle Tiefe
=== ✓ Konsistent Verschiedene Benutzer, die den Anker verwenden, sollten ähnliche konzeptionelle Aktivierung vom LLM erhalten.
Gut: "Test-Driven Development" - weithin dokumentierte Methodologie mit konsistentem Verständnis
Schlecht: "Modernes Testen" - unterschiedliche Interpretationen durch verschiedene Personen
=== ✓ Zuordenbar Der Anker kann zu Schlüsselvertretern, Publikationen oder dokumentierten Standards zurückverfolgt werden.
Gut: "Hexagonal Architecture" (Alistair Cockburn, 2005)
Schlecht: "Best Practices" - keine spezifische Quelle oder Autorität
Testen Ihres semantischen Ankers
Bevor Sie einen Vorschlag machen, testen Sie den Anker mit diesem Prompt in einem LLM:
Welche Konzepte verbindest du mit '<Name Ihres semantischen Ankers>'?
| Die Vorlagsvorlage enthält ein Pflichtfeld LLM Activation Test Result. Fügen Sie dort Ihre Testausgabe ein — es liefert Reviewern vorab das Precise/Rich/Consistent-Signal. |
Bewerten Sie die Antwort:
-
Erkennung: Erkennt das LLM den Begriff?
-
Genauigkeit: Ist die Erklärung korrekt?
-
Tiefe: Deckt es mehrere verwandte Konzepte ab?
-
Spezifität: Ist der Umfang gut definiert?
Viability-Test (Liefert der Anker?)
Erkennung ist nicht Aktivierung. Ein Modell kann flüssig über einen Begriff reden, während sein Benennen an der Ausgabe nichts ändert — oder schlimmer: still ein älteres Konzept substituiert oder ein plausibel klingendes, aber erfundenes konfabuliert. Der training-data-vs-practice-Artikel dokumentiert diese Failure-Modes über Modellfamilien hinweg. Der Aktivierungstest oben fängt die Erkennung; der Viability-Test unten fängt die Lieferung.
-
Before/After-Test. Dem Modell eine Aufgabe ohne den Anker-Term geben, dann dieselbe Aufgabe mit ihm. Ändert sich die Ausgabestruktur? Wenn nicht, ist der Term dekorativ, nicht funktional.
-
Substitutions-Check. "Was ist [Term]?" auf einem schwächeren Modell (Haiku-Klasse) fragen. Hedgt es, substituiert still oder konfabuliert es, ist der Prior zu dünn für einen Anchor — er gehört in einen Contract (der seine eigene Bedeutung mitliefert), gemäß der Thin-Prior-Regel unter Artefakttypen.
-
Cross-Model-Check. Hält der Before/After-Unterschied auf mindestens einem schwachen und einem starken Modell? Wenn nur auf Frontier-Modellen, als ★★ (needs qualification) notieren.
Ein Term, der die vier Qualitätskriterien besteht, aber den Viability-Test nicht, ist ein Contract, kein Anchor.
Dieses Gate ist themenneutral. Kein Themengebiet ist bevorzugt oder verboten — Persönlichkeits- und Assessment-Modelle (MBTI, DISC, Big Five, HEXACO) werden weder wegen ihres Themas ausgeschlossen noch wegen ihrer Bekanntheit aufgenommen. Sie müssen denselben Viability-Test bestehen wie jeder andere Kandidat und — angesichts ihrer umstrittenen empirischen Absicherung — einen == Criticism / == Current Status-Abschnitt tragen. Die Begründung steht in ADR-008.
Wie man einen neuen Anker vorschlägt
Wir verwenden einen automatisierten Workflow mit GitHub Copilot zur Validierung und Anreicherung von Vorschlägen:
Schritt 1: Issue erstellen
Klicken Sie auf die btn:[Neuen Anker vorschlagen] Schaltfläche auf der Website oder erstellen Sie ein Issue mit unserer Vorlagsvorlage.
Alles, was Sie angeben müssen:
-
Der Begriff oder Konzeptname
-
Ein LLM-Aktivierungstestergebnis (Pflichtfeld)
-
(Optional) Warum Sie denken, dass es wertvoll wäre
Schritt 2: Copilot-Validierung
GitHub Copilot führt automatisch folgendes aus:
-
Testet den Anker gegen die vier Qualitätskriterien
-
Akzeptiert oder lehnt den Vorschlag ab
-
Bei Ablehnung: Erklärt, warum die Kriterien nicht erfüllt werden
-
Bei Akzeptierung: Reichert das Issue mit detaillierten Informationen an
Format der Anker-Datei
Jeder Anker wird als AsciiDoc-Datei mit Metadaten-Attributen gespeichert:
= TDD, London School
:categories: testing-quality
:roles: software-developer, qa-engineer, software-architect
:related: tdd-chicago-school, hexagonal-architecture
:proponents: Steve Freeman, Nat Pryce
:tags: testing, tdd, mocking, outside-in
:tier: 2
[%collapsible]
====
*Vollständiger Name*: Test-Driven Development, London School
*Auch bekannt als*: Mockist TDD, Outside-In TDD
*Kernkonzepte*:
* Mock-intensive Tests
* Outside-in-Entwicklung
* Interaktionsbasiertes Testen
*Schlüsselvertreter*: Steve Freeman, Nat Pryce ("Growing Object-Oriented Software, Guided by Tests")
*Wann zu verwenden*:
* Komplexe Systeme mit vielen zusammenarbeitenden Objekten
* Beim Entwerfen von APIs und Schnittstellen
* Verteilte Systeme, wo Integration kostspielig ist
====
Erforderliche Metadaten:
-
:categories:- Eine oder mehrere Kategorie-IDs (siehe Website für Liste) -
:roles:- Eine oder mehrere berufliche Rollen, die diesen Anker verwenden -
:proponents:- Schlüsselpersonen, Publikationen oder Standards -
:tags:- Schlüsselwörter für die Suche (optional, aber empfohlen) -
:related:- Verwandte Anker-IDs (optional) -
:tier:- Aktivierungsstufe:1(nur Frontier-Modelle),2(braucht Qualifizierung),3(breit erkannt) -
:advisory:- Kurzes Hinweis-Label (optional). Nur für Counter-Consensus-Framing: Der Anker aktiviert zuverlässig, aber sein Framing widerspricht dem dokumentierten Konsens seines eigenen Fachgebiets. Wird als sichtbares Badge in Karte/Modal gerendert; Detail und zitierte Quelle bleiben im== Criticism/== Current Status-Abschnitt (Single Source of Truth). Sieheeisenhower-matrix.adoc.
Gegenbeispiele
Dies sind KEINE semantischen Anker:
| "TLDR" |
Unterspezifizierte Anweisung, keine definierte Struktur |
| "ELI5" |
Vages Zielniveau, kein pädagogisches Framework |
| "Halte es kurz" |
Reine Anweisung, keine konzeptionelle Tiefe |
| "Best Practices" |
Kein spezifischer Wissensbereich, nicht zuordenbar |
| "Moderner Ansatz" |
Zu vage, nicht konsistent über Benutzer hinweg |
Kategorien
Anker sind in 12 MECE (Mutually Exclusive, Collectively Exhaustive) Kategorien organisiert:
-
Kommunikation & Präsentation
-
Design-Prinzipien & Muster
-
Entwicklungs-Workflow
-
Dialog & Interaktionsmuster
-
Dokumentationspraktiken
-
Meta (Repository- und Katalogkonzepte)
-
Problemlösungsmethoden
-
Requirements Engineering
-
Software-Architektur
-
Statistische Methoden & Prozessüberwachung
-
Strategische Planung & Entscheidungsfindung
-
Testing & Qualitätssicherung
Siehe die Website für vollständige Kategorienbeschreibungen.
Berufliche Rollen
Anker sind mit beruflichen Rollen getaggt, um relevante Inhalte zu filtern. Verwenden Sie die Rollen-ID (kebab-case) im :roles: Metadaten-Attribut.
Siehe docs/roles/ für ausführliche Rollenbeschreibungen (EN + DE).
Operative Fachliche Rollen
| ID | Anzeigename |
|---|---|
software-developer |
Softwareentwickler/in |
software-architect |
Softwarearchitekt/in |
qa-engineer |
QA-Ingenieur/in / Tester/in |
devops-engineer |
DevOps-Ingenieur/in |
product-owner |
Product Owner / Produktmanager/in |
business-analyst |
Business Analyst / Anforderungsmanager/in |
technical-writer |
Technische/r Redakteur/in |
ux-designer |
UX-Designer/in / Researcher/in |
data-scientist |
Data Scientist / Statistiker/in |
consultant |
Berater/in / Coach |
team-lead |
Teamleiter/in / Engineering Manager/in |
educator |
Trainer/in / Dozent/in |
Entwicklungsumgebung
Voraussetzungen
-
Git
-
Python 3.12+ (für pre-commit Hooks)
-
Node.js 20+ (für Website-Entwicklung, optional)
Pre-Commit Hooks installieren
Pflicht für alle Beitragenden!
Installationsskript ausführen:
./pre-commit-install.sh
Dies installiert:
-
AsciiDoc Linter - validiert Anker-Dateisyntax automatisch
-
pre-commit Framework - führt Checks vor jedem Commit aus
-
Standard-Hooks - Trailing Whitespace, YAML/JSON-Validierung
Manuelle Hook-Ausführung
Alle Hooks auf allen Dateien ausführen:
pre-commit run --all-files
Spezifischen Hook ausführen:
pre-commit run asciidoc-linter --all-files
Lokale Build-Artefakte (z.B. website/dist/, generierte Dateien in website/public/docs/) dürfen nicht committed werden. Diese werden durch die CI/CD-Pipeline erzeugt.
|
Criticism und Current Status (Recherche erforderlich, aufnehmen wenn gefunden)
Der Katalog ist ein Lexikon, keine Empfehlungsliste — Aufnahme bedeutet, dass der Term als präziser Pointer funktioniert, nicht dass wir die Praxis empfehlen. Für jeden neuen Anchor recherchieren, ob dokumentierte Kritik oder Drift existiert, und das Ergebnis als Section aufnehmen:
-
== Criticism— die Methode selbst ist umstritten. Nur benannte, zitierbare Kritik (Kritiker + verlinkte Quelle), niemals Bauchgefühl wie „das nutzt doch keiner mehr". Die Section berichtet den Diskurs; sie urteilt nicht. Wo der Diskurs Alternativen benennt, diese ebenfalls benennen. -
== Current Status— die Methode besteht, aber der Training-Data-Prior und die Gegenwart sind auseinandergedriftet: eine neuere Edition existiert (die Edition benennen, auf die der Prior wahrscheinlich zeigt), ein Successor ist entstanden, oder die Adoption hat nachgelassen.
Jede verlinkte Quelle vor dem Commit tatsächlich fetchen und verifizieren. Falls die Recherche nichts Zitierbares findet, beide Sections weglassen — eine leere Section ist Noise. Siehe #603 für die Full-Catalog-Triage hinter dieser Konvention.
PR-Review-Richtlinie
Review-Anforderungen
Alle Pull Requests auf main erfordern mindestens ein genehmigendes Review vor dem Merge.
Stichproben-Review (~20%)
In aktiven Phasen mit vielen Beiträgen wenden Maintainer ein 20% Stichproben-Review an:
-
Mindestens 1 von 5 PRs erhält ein gründliches, zeilenweises Review
-
Alle anderen PRs erhalten ein High-Level-Review (Struktur, Qualitätskriterien, CI-Status)
-
KI-generierte PRs (GitHub Copilot) erhalten immer ein menschliches Review
Automatisierte Checks (müssen bestehen)
Jeder PR muss vor dem Merge alle folgenden Checks bestehen:
-
E2E Tests — alle 28+ Playwright-Tests grün
-
Lint & Format Check — ESLint + Prettier (keine Fehler)
-
Dependency Audit —
npm audit --audit-level=highsauber -
CodeQL — keine high/critical Security-Findings
-
AsciiDoc Linter — Anker-Dateien entsprechen dem Format (pre-commit Hook)
Was Reviewer prüfen
Für neue semantische Anker:
-
Qualitätskriterien erfüllt (Präzise, Reichhaltig, Konsistent, Zuordenbar)
-
Alle erforderlichen Metadaten-Attribute vorhanden (
:categories:,:roles:,:proponents:,:tier:) -
AsciiDoc-Format korrekt (
[%collapsible]-Block, korrekte Attribut-Syntax) -
Anker mit LLM-Prompt getestet (siehe Testen Ihres semantischen Ankers)
-
Dokumentierte Kritik / Editions-Drift recherchiert — und in einem Criticism- oder Current Status-Abschnitt mit benannten, fetch-verifizierten Quellen festgehalten, sofern vorhanden
Für Code-Änderungen:
-
Keine Regressionen in bestehenden Tests
-
Keine neuen high/critical Sicherheitslücken
-
Folgt ESLint/Prettier Code-Style
-
Keine Build-Artefakte im Commit (z.B.
website/dist/, generierte Dateien)
Issue-Titel-Konvention
Alle Issues sollten einem konsistenten [Typ]: <Name> Titelformat folgen. Dies macht Filtern, Suchen und Triagieren wesentlich einfacher.
Anerkannte Prefixe
| Prefix | Verwendet für | Quelle |
|---|---|---|
|
Vorschläge für neue semantische Anker |
Issue-Template |
|
Vorschläge für neue semantische Contracts |
Issue-Template |
|
Verbesserungen an bestehenden Ankern |
Issue-Template |
|
Fehlermeldungen |
Issue-Template |
|
Änderungen an Projektprozessen |
Issue-Template |
|
Feature-Anfragen |
Frei formuliert |
|
Tracking-Issues für größere Initiativen |
Frei formuliert |
Richtlinien
-
Verwenden Sie das Issue-Template, wann immer eines existiert — das Prefix wird automatisch gesetzt.
-
Frei formulierte Issues (kein passendes Template) sollten manuell eines der anerkannten Prefixe verwenden.
-
Nur zukünftig anwenden — geschlossene Issues nicht rückwirkend umbenennen.
-
EPICs verwenden das bloße
EPIC:Prefix ohne Klammern als anerkannte Ausnahme.
Verhaltenskodex
Unser Versprechen
Wir verpflichten uns, die Teilnahme an diesem Projekt zu einer belästigungsfreien Erfahrung für alle zu machen, unabhängig von Alter, Körpergröße, Behinderung, Ethnizität, Geschlechtsidentität und -ausdruck, Erfahrungsniveau, Nationalität, persönlichem Erscheinungsbild, Rasse, Religion oder sexueller Identität und Orientierung.
Unsere Standards
Positives Verhalten:
-
Verwendung von einladender und inklusiver Sprache
-
Respektvoller Umgang mit unterschiedlichen Standpunkten
-
Konstruktive Kritik anmutig akzeptieren
-
Fokus auf das, was für die Community am besten ist
-
Empathie gegenüber anderen Community-Mitgliedern zeigen
Inakzeptables Verhalten:
-
Trolling, beleidigende/abwertende Kommentare und persönliche Angriffe
-
Öffentliche oder private Belästigung
-
Veröffentlichung privater Informationen anderer ohne Erlaubnis
-
Anderes Verhalten, das vernünftigerweise als unangemessen betrachtet werden könnte
Fragen?
-
Durchsuchen Sie existierende Anker auf der Website
-
Prüfen Sie die README für eine Projektübersicht
-
Öffnen Sie ein GitHub Issue für Fragen
Lizenz
Durch Beiträge stimmen Sie zu, dass Ihre Beiträge unter derselben Lizenz wie dieses Projekt lizenziert werden (siehe LICENSE-Datei).
Bereit vorzuschlagen? Klicken Sie hier: Neuen semantischen Anker vorschlagen