Handbooks
Referenz

Prompt-Katalog

Jeder Prompt, den die Werkzeugkette sendet, worum er bittet und wie jeder einzelne degradiert, wenn die Antwort unbrauchbar ist.

Jeder LLM-Berührungspunkt in der Werkzeugkette. Alle JSON-erzeugenden Aufrufe laufen bei temperature 0 (bei Reasoning-Modellen automatisch weggelassen). Chinesischer Erzähltext (--narrate-lang zh) hält JSON-Schlüssel, Enum-Werte, Ids und Dateipfade englisch; nur die Fließtext-Werte ändern sich.

#Prompt (Modul)PhaseZweckAusgabevertrag
1Regeln für knappe Karten (pipeline/cards.ts)2aZweck in 1–2 Sätzen in einfacher Sprache + Rollen-Enum + Lebenszyklus-Hinweis je gestapelter Datei{"purposes":[{file,purpose,role,lifecycle}]}
2Regeln für tiefe Karten (pipeline/cards.ts)2aDurchgang durch die ganze Datei (120–300 Wörter) + Zweck / data_flow / relations je Funktion, verschlüsselt über den exakten qualname; Graph-Fakten für maßgeblich erklärtergänzt description, functions[]
3Chunk-Rückfall (pipeline/cards.ts)2adieselben tiefen Regeln über einen Funktions-Chunk einer übergroßen Dateiein purposes-Eintrag, der den Chunk abdeckt
4Skelett-Synthese (pipeline/skeleton.ts)2bgeordnetes erzählerisches Rückgrat aus Verzeichnis-Rollups + Einstiegspunkten; Lebenszyklus-Reihenfolge vorgeschrieben; Querschnitte nach dem Hauptfluss{"metadata":{archetype},"stages":[{id,title,description,parent,crosscut}]}
5Dateizuordnung (pipeline/assign.ts)2beine primäre Etappe je Datei aus einem festen Menü; also 0–2; unassigned als Notausgang für eingebundenen/toten Code{"assignments":[{file,stage,also}]}
6Doctor-Akteur (pipeline/doctor.ts)2b≤3 strukturelle Änderungen (add_stage / remove_stage / merge_stages / split_stage), priorisiert: unassigned → Überlast → Aushungerung → tot{"changes":[…],"rationale"}
7Kritiker-Rollen (llm/critic.ts)2brollengespielte Prüfung (Ingenieur / Architekt / Leser / Lektor) eines Vorschlags anhand belegter Fakten; APPROVE großzügig, REJECT nur wenn nicht reparierbar{"decision","concerns","suggested_revision","rationale"}
8Überarbeitungs-Prompt (llm/critic.ts)2bAkteur-Überarbeitung, die die gesammelten [role] concern-Punkte adressiertdasselbe Schema wie der ursprüngliche Vorschlag
9Etappen-Organisation (pipeline/organize.ts)2c2–8 geordnete Untergruppen je Etappe; jede Datei genau einmal; erzählerische Reihenfolge unter Beachtung der Aufruf-Hinweise{"groups":[{title,summary,files}]}
10Member-Klassifikation (pipeline/member.ts)2b (member)einzelne Funktionen/Methoden den selbst verfassten Etappen zuordnen{"assignments":[{member,stage}]}
11Etappen-Rollup (pipeline/narrate.ts)3Etappenübersicht in 100–200 Wörtern für Nicht-Fachleute, aus Kind-Übersichten + Datei-Einzeilernnur schlichter Fließtext (kein JSON, keine Überschriften)
12System-Rollup (pipeline/narrate.ts)3Systemübersicht in 200–350 Wörtern, die die Etappen der obersten Ebene aufreihtnur schlichter Fließtext
13Register-Extraktion (pipeline/narrate.ts)3, Runde 1etappenübergreifende Zustandsregister (id + einzeilige Semantik + berührte Etappen) aus Etappenübersichten + data_model-Karten{"registers":[{id,semantics,stages}]}
14Register-Lückendurchgang (pipeline/narrate.ts)3, Runden 2+NUR die fehlenden Register angesichts der gefundenen Liste; leeres Array, wenn trocken (die Schleife stoppt nach 2 trockenen Runden)dasselbe Schema, nur neue Einträge
15System-Prompt des Planers (planner/prompt.ts)planmit dem Handbuch routen → echte Quelle lesen → byte-genaue EDIT-Blöcke + Deklarations-JSON ausgeben; Regeln nach dem Prinzip „der Ausführende vertraut blind“ (Eindeutigkeit, keine Überlappung, kleinstmögliche Spanne)Markdown-Plan, der in einem {"will_modify","will_add","will_remove"}-Block endet
16Werkzeugprotokoll des Planers (planner/prompt.ts)planeine JSON-Aktion pro Zug: list_dir / read_file / grep / finish{"tool": …}-Aktionsblock
17Resync-Evolutionslabel (studio/server.ts)studio resyncein Satz mit ≤40 Zeichen, der benennt, WELCHE Fähigkeiten/Module eine Änderung berührt hat, aus den Zwecken der berührten Dateien; Absichten zu erraten ist verboten (Studios Resync hat kein Diff); fällt ohne Client auf eine deterministische Dateiliste zurückschlichter Fließtext, eine Zeile (gedimmt gerendert + mit auto markiert)

Entwurfsregeln, die alle Prompts teilen

  • Fakten werden eingespeist, nie erfragt. Funktionsinventare, Zeilenbereiche und Aufrufbeziehungen kommen aus dem Graphen und sind als belegte Wahrheit markiert; das Modell schreibt Fließtext um sie herum und wird angewiesen, sie nicht erneut aufzulisten.
  • Menüs sind geschlossen. Zuordnungs- und Klassifikations-Prompts zählen gültige Etappen-Ids auf und weisen an „nie erfinden“; alles außerhalb des Menüs wird beim Parsen zu unassigned gezwungen, sodass Prompt-Drift keine Artefakte verderben kann.
  • Jeder JSON-Vertrag hat einen mechanischen Validator auf der konsumierenden Seite (zod oder handgeschriebene Prüfungen); verworfene oder fehlerhafte Einträge werden deterministisch nachgetragen und in den Abdeckungs-Artefakten gezählt, statt still geflickt zu werden.
  • Endungen der Form „nur JSON ausgeben“ / „nur Fließtext ausgeben“ halten das Parsen eindeutig; der JSON-Extraktor toleriert eingezäunte Blöcke und Scans über ausgeglichene Klammern, aber die Prompts bitten trotzdem um einen einzelnen eingezäunten Block.
  • Kritiker-Prompts wehren sich in beide Richtungen gegen Abnicken: hinreichend richtige Vorschläge werden genehmigt (kein leeres REVISE — solche werden zu APPROVE normalisiert), aber ein gescheiterter Kritiker-Aufruf zählt als REJECT, damit Infrastrukturfehler nie Änderungen genehmigen.

Auf dieser Seite