Agenten als Toolchain-Bestandteil + Ökosystem-Notiz

Vier spezialisierte Agent-Definitionen (implementer, architect, tester,
debugger) im sichtbaren agents/-Verzeichnis. DESIGN.md erweitert um den
Abschnitt "Projekt-Ökosystem" — AILang ist Sprache + CLI + Examples +
Agents + Doku + Tests gleichermaßen. JOURNAL hält den Workflow-Wechsel
auf Orchestrator-Modus fest und ordnet Iteration 4 neu.
This commit is contained in:
2026-05-07 11:02:24 +02:00
parent 21606c9340
commit 44243a515e
7 changed files with 232 additions and 0 deletions
+27
View File
@@ -16,6 +16,33 @@ Optimiert für:
- **Robustheit gegen Halluzinationen.** Symbole sind hashbar; Tools können Existenz
verifizieren, ohne Kontextfenster zu verbrauchen.
## Projekt-Ökosystem
AILang ist nicht nur eine Sprache, sondern ein Ökosystem. Die Sprache an sich
ist nur dann wertvoll, wenn das Drumherum sie für ihren Zielnutzer (LLM-Autoren)
benutzbar, prüfbar und erweiterbar macht. Das Repo enthält daher mehrere
gleichwertige Komponenten — keine davon ist optional, alle entwickeln sich
parallel mit der Sprache:
- **Sprachkern** (`crates/ailang-core`, `crates/ailang-check`,
`crates/ailang-codegen`): AST, Typsystem, Codegen.
- **CLI** (`crates/ail`): Toolchain für Tooling-Konsumenten — `manifest`,
`describe`, `deps`, `check`, `build`, etc., bevorzugt mit `--json` für
maschinelle Konsumption.
- **Beispiele** (`examples/`): kanonische `.ail.json`-Programme. Sie sind
Spezifikationsanker, nicht Demos — die E2E-Suite hängt an ihnen.
- **Agenten** (`agents/`): spezialisierte Sub-Prompts (Implementer,
Architect, Tester, Debugger), die das Projekt-eigene LLM-Tooling bilden.
Sie sind versionierter Bestandteil des Repos. Siehe `agents/README.md`.
- **Doku** (`docs/`): DESIGN.md (was und warum), JOURNAL.md (Verlauf).
- **Tests**: Unit pro Crate + E2E in `crates/ail/tests/e2e.rs`. Jeder neue
Compiler-Pfad braucht einen Test, sonst zählt das Feature nicht als fertig.
Wenn die Sprache wächst, wachsen diese Komponenten mit. Neue Tools, die das
LLM-Tooling stärken (z. B. `ail diff`, IR-Snapshot-Diffs, neue Agenten),
gehören explizit ins Ökosystem-Inventar dieses Abschnitts und werden hier
ergänzt, sobald sie etabliert sind.
## Entscheidung 1: Quelle = Daten, nicht Text
Ein Modul ist ein JSON-Objekt mit einem festen Schema. Es gibt keinen Parser für
+31
View File
@@ -116,3 +116,34 @@ Prioritätsreihenfolge:
Iteration 4 wird (1) + (2) — beides macht das LLM-Tooling stärker und
hat moderates Risiko.
## 2026-05-07 — Workflow-Wechsel: Orchestrator + Agent-Repo
Auf Anregung des Auftraggebers Wechsel auf **Orchestrator-Modus**: ich
delegiere abgrenzte Implementierungs-Brocken an Sub-Agenten und behalte
nur Architektur-Entscheidungen, Reviews und Commit-Disziplin. Vier
spezialisierte Agenten formuliert: implementer, architect, tester,
debugger.
**Wichtige Korrektur:** Auftraggeber hat verlangt, dass die Agenten nicht
in `.claude/agents/` versteckt liegen, sondern als sichtbarer Bestandteil
des Projekts unter `agents/` versioniert werden. DESIGN.md hat einen neuen
Abschnitt "Projekt-Ökosystem" bekommen, der das festhält: AILang ist nicht
nur eine Sprache, sondern Sprachkern + CLI + Examples + Agents + Doku +
Tests, alle gleichwertig.
Aufruf-Schema: System-Prompt-Body aus `agents/<name>.md` als Präfix vor
die konkrete Aufgabe + an `general-purpose`-Agent. Funktional identisch
zum Subagent-Loading aus `.claude/agents/`, aber sichtbar im Repo.
**Plan Iteration 4 (überarbeitet):**
Modulsystem ist aufwändiger als erwartet (Cross-Module-Hashing,
Import-Resolution). Erst die kleineren Tooling-Wins ziehen, dann das
Modulsystem als Iteration 5:
1. **Strukturierte Fehlerausgabe** (`ail check --json` mit Diagnostic-
Struct, stabile Codes wie `unbound-var`, `type-mismatch`).
2. **`ail diff <a> <b>`** — semantischer Modul-Diff via Hash-Vergleich
pro Def.
3. **IR-Snapshot-Tests** — Regressions-Schutz für die Codegen-Pipeline.