feat: harden Qwen agentic tool orchestration
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Aktueller produktiver Referenzstand
|
||||
|
||||
Stand: 23. August 2026. Dieses Dokument beschreibt die auf Athena installierte
|
||||
Stand: 24. August 2026. Dieses Dokument beschreibt die auf Athena installierte
|
||||
und geprüfte Docker-Referenz. Die verbindlichen Profilparameter stehen in
|
||||
`STANDARD_PROFILE_MATRIX.md`.
|
||||
|
||||
@@ -49,6 +49,7 @@ Zielplattform.
|
||||
- Batch 64, Micro-Batch 32
|
||||
- ein paralleler Slot
|
||||
- Jinja und automatisches Reasoning
|
||||
- erhaltener Reasoning-Zustand über Werkzeugrunden (`--reasoning-preserve`)
|
||||
- Temperatur 0,2, Top-p 0,8, Top-k 20
|
||||
|
||||
### Profile
|
||||
@@ -174,7 +175,9 @@ Aktuell existieren funktionale Adapter für:
|
||||
|
||||
OpenWebUI bindet diese Kataloge nicht pauschal an jedes Modellprofil. Der
|
||||
lokale `MikeAI Auto Tool Selector` ergänzt anhand der jüngsten Nutzernachricht
|
||||
höchstens zwei passende Fach-MCP-Verbindungen pro Anfrage. Allgemeine
|
||||
höchstens drei passende Fach-MCP-Verbindungen pro Anfrage. Eine echte
|
||||
Mehrdomänen-Aufgabe erhält automatisch ein begrenztes mittleres Reasoning-
|
||||
Budget; einfache Aufgaben bleiben schnell. Allgemeine
|
||||
Webrecherche erfolgt über Open WebUIs native `search_web`/`fetch_url`-Werkzeuge;
|
||||
`web-local` ist nur noch manuell für Spezialfälle verfügbar. Dadurch bleiben
|
||||
Fachkataloge klein und kurze Profile verlieren keinen unnötigen Kontext. MUA
|
||||
@@ -194,6 +197,13 @@ Die Transportbrücke verwendet den OpenWebUI-kompatiblen `mcp-proxy` 0.12.0 im
|
||||
stateless Betrieb. Supergateway wurde nach reproduzierbaren HTTP-400-Fehlern
|
||||
bei `notifications/initialized` aus diesem Pfad entfernt.
|
||||
|
||||
Die agentische OpenWebUI-Schleife führt höchstens zwölf einzelne Werkzeuge aus,
|
||||
höchstens vier Varianten desselben Werkzeugs und niemals zweimal exakt dieselbe
|
||||
Signatur. Nach Ende des Budgets stehen zusätzliche interne Runden ausschließlich
|
||||
für eine sichtbare werkzeugfreie Schlussantwort bereit. Das produktive
|
||||
OpenWebUI-Derivat trägt den Tag
|
||||
`mike-ai/openwebui:main-01f4282-agent-loop-v5`.
|
||||
|
||||
Der Platform Context MCP läuft ohne Docker-Socket, Shell, Egress oder Secrets.
|
||||
Ein root-eigener Minutentimer erzeugt nur einen begrenzten Laufzeitsnapshot.
|
||||
Der Schreibpfad ist auf `docs/*.md`, Vorschau, ausdrückliche Freigabe, atomare
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ Reihenfolge ist absichtlich festgelegt:
|
||||
2. `Thinking`, Priorität 20: läuft nur bei aktiviertem Brain-Schalter und
|
||||
überschreibt den Standard mit Low, Medium oder High.
|
||||
3. `MikeAI Auto Tool Selector`, Priorität 25: betrachtet ausschließlich die
|
||||
jüngste Nutzernachricht und stellt pro Anfrage höchstens zwei passende MCPs
|
||||
jüngste Nutzernachricht und stellt pro Anfrage höchstens drei passende MCPs
|
||||
bereit. Er erkennt GitHub, Home Assistant, Sonarr/Radarr, Navidrome,
|
||||
Unraid-Diagnose und Athena-Plattformwissen. Manuell gewählte Werkzeuge
|
||||
bleiben erhalten. MUA mit erweiterten Verwaltungsrechten wird nie
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
# Qwen3.8-27B – agentischer Werkzeugtest vom 24. August 2026
|
||||
|
||||
## Ergebnis in einem Satz
|
||||
|
||||
Qwen3.8-27B ist auf Athena für längere agentische Aufgaben brauchbar, wenn die
|
||||
Werkzeugschicht ihm gebündelte Fachoperationen, erhaltenes Reasoning und eine
|
||||
garantierte Schlussrunde anbietet. Die früheren Ausfälle waren überwiegend
|
||||
Orchestrierungs- und MCP-Probleme, nicht ein grundsätzliches Unvermögen des
|
||||
Modells.
|
||||
|
||||
## Warum die Community-Erfahrungen besser wirkten
|
||||
|
||||
Community-Demos verwenden meist einen spezialisierten Agent-Harness, große
|
||||
Kontexte, erhaltenes Reasoning und kompakte Werkzeuge. Athena kombinierte zuvor
|
||||
76K Kontext, standardmäßig abgeschaltetes Thinking, sechs Einzelaufrufe,
|
||||
teilweise sehr kleinteilige MCP-Operationen und OpenWebUIs hartes Ende ohne
|
||||
Syntheserunde. Zusätzlich existieren aktuelle llama.cpp-Randfälle bei
|
||||
Qwen3.8-Systemnachrichten, verschachtelten Werkzeugschemata und gestreamten
|
||||
Parallelaufrufen. Die Differenz war daher kein fairer Modellvergleich.
|
||||
|
||||
## Produktive Änderungen
|
||||
|
||||
- `--reasoning-preserve` in allen Qwen-Profilen.
|
||||
- Automatische Auswahl von bis zu drei Fach-MCPs.
|
||||
- Automatisch mittleres, auf 3.072 Token begrenztes Reasoning nur bei echten
|
||||
Mehrdomänen-Aufgaben; explizite Benutzereinstellungen werden nicht ersetzt.
|
||||
- Zwölf tatsächliche Aufrufe, höchstens vier pro Werkzeug, keine identische
|
||||
Signatur zweimal; 16 interne Runden lassen Raum für die Schlussantwort.
|
||||
- Genau ein zusätzlicher werkzeugloser Syntheseversuch, falls Qwen nach Ende
|
||||
der Recherche trotzdem noch einen Funktionsaufruf formuliert.
|
||||
- Home Assistant `find_commented_blocks`: vollständige auskommentierte
|
||||
Automationseinträge einschließlich ID, Alias und Zeilen in einem Aufruf.
|
||||
- MUA r017: gebündelte CA-Suche mit bis zu fünf Namensvarianten.
|
||||
- MUA r018: fokussierte Loganalyse mit mehreren `focus_terms` in einem Aufruf.
|
||||
- Evidenzplan im Systemprompt: zuerst ein breiter Aufruf je Domäne, danach nur
|
||||
gezielte Lücken schließen, Pflichtbedingungen früh prüfen und bei deren
|
||||
Scheitern sofort den Kandidaten wechseln.
|
||||
|
||||
## Browser-Benchmarks
|
||||
|
||||
| Test | Vorher | Nachher | Bewertung |
|
||||
|---|---:|---:|---|
|
||||
| Auskommentierte HA-Automationen inventarisieren | 9 Aufrufe, 90,9 s | 1 Aufruf, 26,8 s | IDs, Aliase und Zeilen korrekt; sehr gut |
|
||||
| Deemix: GitHub + laufender Unraid-Container + MCP-Entwurf | zuvor 37 GitHub-Aufrufe und Abbruch | 7 Aufrufe, sichtbare Antwort | klare Verbesserung; einzelne Betriebsannahmen noch zu optimistisch |
|
||||
| Web + GitHub + Unraid: CA-Negativprüfung und Template-Entwurf | Kandidat zu spät verworfen, Budgetende | 11 Aufrufe, vollständiger Entwurf | Schlussantwort vorhanden; XML und Architektur müssen weiterhin fachlich geprüft werden |
|
||||
| Drei Domänen: HA-YAML + Unraid-Logs + GitHub-Quelle | vorher kein finaler Text am Budgetende | 12 Aufrufe, vollständige Evidenzmatrix | Finalizer v5 bestanden; Quellenverwechslung wurde transparent als Unsicherheit markiert |
|
||||
| Fokussierte Home-Assistant-Logprüfung | mehrere Shell-/grep-Aufrufe | 1 Inventar + 1 fokussierte Loganalyse, 44,7 s | MUA r018 korrekt gewählt; klare Beleggrenzen |
|
||||
|
||||
## Qualitätsbefund
|
||||
|
||||
### Stark
|
||||
|
||||
- wählt nach der Anpassung die drei korrekten Fachdomänen automatisch;
|
||||
- beginnt parallel/breit und liefert belastbare Livewerte;
|
||||
- kann aus Werkzeugresultaten strukturierte Evidenzmatrizen und sichere Pläne
|
||||
bauen;
|
||||
- verschweigt verbleibende Unsicherheit überwiegend nicht;
|
||||
- die HA-Spezialoperation reduziert Laufzeit und Kontextverbrauch drastisch.
|
||||
|
||||
### Noch nicht auf Frontier-Agent-Niveau
|
||||
|
||||
- bei ähnlichen GitHub-Repositories kann Qwen den falschen Treffer vertiefen,
|
||||
statt zuerst den exakten installierten Upstream zu bestimmen;
|
||||
- bei komplexen Containerstacks erzeugt es gelegentlich formal plausible,
|
||||
aber fachlich fragwürdige Unraid-XMLs;
|
||||
- ohne gebündelte Logoperation fällt es auf mehrere Shell-/grep-Aufrufe zurück;
|
||||
- zwölf Werkzeugaufrufe sind kein Qualitätsbeweis: Die Auswahl und Form der
|
||||
Werkzeuge sind wichtiger als eine möglichst große Zahl.
|
||||
|
||||
## Empfehlung
|
||||
|
||||
Fast bleibt für normale Aufgaben geeignet. Für Änderungen, längere Recherche
|
||||
oder mehrere Systeme gleichzeitig soll das automatische Mehrdomänen-Reasoning
|
||||
greifen; bei besonders kritischer Arbeit kann Thinking manuell auf Hoch gesetzt
|
||||
werden. Ergebnisse, die Installationen, Sicherheit, Geld oder Datenänderungen
|
||||
betreffen, benötigen weiterhin Vorschau, Belegprüfung und Freigabe. Weitere
|
||||
Verbesserungen sollten bevorzugt gebündelte Fachoperationen ergänzen und nicht
|
||||
das globale Aufruflimit erhöhen.
|
||||
|
||||
## Versionierte Quellen
|
||||
|
||||
- Qwen3.8-27B Modellkarte: <https://huggingface.co/Qwen/Qwen3.8-27B>
|
||||
- OpenWebUI native tool calling:
|
||||
<https://github.com/open-webui/docs/blob/main/docs/features/extensibility/plugin/tools/index.mdx>
|
||||
- llama.cpp Systemnachrichten-Randfall:
|
||||
<https://github.com/ggml-org/llama.cpp/issues/27367>
|
||||
- llama.cpp verschachtelte Schemas:
|
||||
<https://github.com/ggml-org/llama.cpp/issues/21771>
|
||||
- llama.cpp Streaming/Parallel-Toolcalls:
|
||||
<https://github.com/ggml-org/llama.cpp/issues/18591>
|
||||
@@ -27,10 +27,15 @@ benötigte deshalb kleinere, klarere Werkzeuge und harte Abbruchgrenzen.
|
||||
damit führen deutsche Bankexporte nicht mehr unnötig zuerst zu einem
|
||||
ParserError wegen einer falschen Spaltenzahl. Tabellenanalysen sollen im
|
||||
Regelfall mit einer Erkennungs- und einer Auswertungsrunde auskommen.
|
||||
4. Pro Antwort sind höchstens acht Werkzeugrunden und sechs tatsächlich
|
||||
ausgeführte Einzelaufrufe erlaubt. Das abgeleitete,
|
||||
4. Pro Antwort sind höchstens 16 interne Werkzeugrunden und zwölf tatsächlich
|
||||
ausgeführte Einzelaufrufe erlaubt. Pro konkretem Werkzeug sind höchstens
|
||||
vier unterschiedliche Aufrufe zulässig; identische Argumente werden kein
|
||||
zweites Mal ausgeführt. Die zusätzlichen vier internen Runden sind nur
|
||||
Synthesepuffer und erhöhen nicht das Ausführungsbudget. Das abgeleitete,
|
||||
reproduzierbar gebaute OpenWebUI-Image verwendet die letzte Runde zwingend
|
||||
als werkzeugfreie Synthese. Statt `Tool-call limit reached` ohne Ergebnis
|
||||
als werkzeugfreie Synthese. Erzeugt das Modell trotz entfernter Schemata
|
||||
noch einmal werkzeugförmige Ausgabe, folgt genau ein zweiter, ebenfalls
|
||||
werkzeugloser Syntheseversuch. Statt `Tool-call limit reached` ohne Ergebnis
|
||||
erhält der Benutzer deshalb eine sichtbare Antwort aus den vorhandenen
|
||||
Befunden samt ehrlicher Angabe fehlender Belege. Inlet-Filter allein können
|
||||
dies nicht erzwingen, weil sie zwischen OpenWebUIs internen Werkzeugrunden
|
||||
@@ -50,6 +55,14 @@ benötigte deshalb kleinere, klarere Werkzeuge und harte Abbruchgrenzen.
|
||||
er auch vom Außenstandort über WireGuard.
|
||||
7. Task-Management ist keine Faktenquelle und wird nicht für einzelne Fragen,
|
||||
Nachschlageaufgaben oder Dateianalysen verwendet.
|
||||
8. Mehrdomänen-Aufgaben erhalten automatisch höchstens drei passende
|
||||
Fachkataloge und ein begrenztes Qwen-Reasoning-Budget. Einfache Ein-Domänen-
|
||||
Aufgaben bleiben im schnellen Non-Thinking-Modus. Alle llama.cpp-Profile
|
||||
bewahren Reasoning-Zustand zwischen Werkzeugrunden (`--reasoning-preserve`).
|
||||
9. Wiederkehrende Fachsuchen werden serverseitig gebündelt: Home Assistant
|
||||
inventarisiert auskommentierte YAML-Blöcke in einem Aufruf; MUA durchsucht
|
||||
Community Applications mit mehreren Namensvarianten in einem Feed-Durchlauf
|
||||
und filtert Containerlogs mit mehreren `focus_terms` in einem Aufruf.
|
||||
|
||||
## Abnahme
|
||||
|
||||
|
||||
Reference in New Issue
Block a user