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:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user