18ae28f918
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki: raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren Grenzen in Code durchgesetzt sind statt im Prompt. Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44 Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist. Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs. Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte. Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet - siehe NOTICE.
45 lines
3.1 KiB
Markdown
45 lines
3.1 KiB
Markdown
> Aspekt aus einer externen Analyse ("Production-Ready AI Agent in 2026"), vom Nutzer per Chat
|
|
> eingebracht am 2026-08-07 zur Korrektur/Umsetzung im AGENTS.md/wikitool-Setup dieses Repos.
|
|
> Referenz: [dzone.com - Building a Production-Ready AI Agent in 2026](https://dzone.com/articles/building-a-production-ready-ai-agent-in-2026)
|
|
|
|
**Keine Iterations-/Kostengrenzen.** Es gibt keine Regel wie "brich nach N Schritten ab" oder "bei
|
|
Unsicherheit nach 3 Versuchen an Menschen eskalieren". Für ein Ingest/Lint, das potenziell über
|
|
hunderte Seiten iteriert, ist das im 2026-Produktionsstandard ein Pflichtfeld.
|
|
|
|
## Lücke 3: Keine Iterations- oder Kostengrenzen
|
|
|
|
Der Hintergrund: Praktisch jeder dokumentierte Fall von "Agent hat über Nacht ein Budget verbrannt"
|
|
hat dieselbe Ursache: Es gab keine hart im Code (nicht im Prompt) erzwungene Obergrenze für
|
|
Tool-Calls, Tokens oder Kosten pro Lauf. Aktuelle Guidance nennt konkrete Richtwerte - 5 bis 15
|
|
Tool-Calls pro einfacher Aufgabe, 15 bis 25 bei komplexeren Multi-Tool-Workflows, alles über 30 als
|
|
Alarmsignal für schlechte Aufgabenzerlegung. Ein zusätzlicher, oft übersehener Schutz ist ein
|
|
"Loop-Breaker": Wenn die letzten N Tool-Calls zu >90% identische Argumente haben, wird abgebrochen,
|
|
auch wenn das Iterationslimit noch nicht erreicht ist - das fängt Fälle, in denen das Modell in
|
|
einer Sackgasse "höflich weiterprobiert".
|
|
|
|
Warum das bei dir konkret zählt: Der wiki-ingest-Skill iteriert potenziell über viele
|
|
Entity-/Concept-Seiten, Cross-Refs und Lint-Durchläufe pro einzelner Quelle. Ohne dokumentierte
|
|
Obergrenze besteht das Risiko, dass ein einzelner Ingest-Lauf bei einer komplexen Quelle (z. B. dem
|
|
2,4-MB-JSONL-Transkript, das im Repo liegt) unbegrenzt viele Seiten anlegt oder wiederholt an
|
|
derselben Cross-Referenz-Verknüpfung "hängen bleibt", weil kein Mechanismus sagt "nach X
|
|
erfolglosen Versuchen: abbrechen und Nutzer informieren". Das ist bei einem lokalen, kostenfreien
|
|
CLI-Tool zwar kein Geld-Risiko wie bei einer API-abhängigen Produktionsanwendung, aber sehr wohl
|
|
ein Qualitätsrisiko: unkontrolliertes Wachstum der wiki/-Struktur, das genau die
|
|
"Anti-Cramming"- und "Index-Scaling"-Probleme erzeugt, die im Wiki selbst schon als Konzeptseiten
|
|
dokumentiert, aber nicht durchgesetzt sind.
|
|
|
|
## Umsetzung (2026-08-07)
|
|
|
|
Implementiert als code-erzwungenes Gate in `tools/wikitool` (nicht nur als Prompt-Regel), analog
|
|
zum bereits bestehenden Mass-Update Gate in `publish`:
|
|
|
|
- **Iteration Budget Gate:** Jede `wikitool`-Invocation wird pro Session gezählt
|
|
(`tools/.wikitool_session/budget.json`, session-scoped via `WIKITOOL_SESSION_ID` oder PPID der
|
|
aufrufenden Shell). Ab 30 Aufrufen in einer Session verweigert jeder weitere Aufruf die
|
|
Ausführung (`ERROR`), bis der Nutzer explizit mit `--override-budget` zustimmt.
|
|
- **Loop-Breaker:** Unabhängig vom Gesamtzähler wird ein Aufruf sofort verweigert, wenn die letzten
|
|
3 Aufrufe in der Session Kommando + Argumente identisch waren.
|
|
- **Sichtbarkeit:** `tools/wikitool budget status` / `budget reset [--all]`.
|
|
- Dokumentiert in AGENTS.md unter "Iteration and Cost Limits", referenziert in den
|
|
`wiki-ingest`/`wiki-lint`-Skills und in `tools/README.md`/`README.md`.
|