Auto-Auswahl der Systemprompts: schneller und zuverlässiger #193
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/Iris#193
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Warum
Die Auto-Auswahl (Kategorizer, #188) ist nicht zuverlässig und mit dem Agent-LLM langsam (~14 s je Nachricht).
Gewünscht
chat_template_kwargs.enable_thinking=false,max_tokens64, Temperatur 0); Antwort nur aus einer reinen Zahlenzeile lesen, Zahlen in Fließtext zählen nicht.Bezug
Folgt aus iris/Iris#188.
PR #194 gemergt: feat(auto-prompts): Klassifikation ohne Reasoning, strikter Antwort-Parser (iris/Iris#193)
#194
Commits:
Stand (Punkt 1: schnell und strikt, iris/Iris#193)
Befund: Die Auto-Prüfung dauerte ~14 s je Nachricht; das Agent-LLM (Reasoning-Modell) denkt vor der einzeiligen Antwort. Der Parser las jede Zahl der Antwort, auch aus Fließtext.
Geändert:
LocalLLMAPI.analyzeImageStreaming(quickAnswer:): im OpenAI-Stilmax_tokens64, Temperatur 0 undchat_template_kwargs.enable_thinking=false; nur die Auto-Prompt-Klassifikation setzt es (Template-Matcher unverändert).parseAutoPromptSelectionResponse: gilt nur die letzte Zeile, die ausschließlich aus Zahlen und Trennzeichen besteht; Zahlen in Fließtext zählen nicht, keine solche Zeile = keine Auswahl.Geprüft: Direktaufruf gegen das Agent-LLM (
127.0.0.1:18200): mit abgeschaltetem Reasoning 0,7 s statt 3 s, Antwort1, kein Reasoning-Text. Parser als eigenständiges Skript mit 10 Fällen (1,3,2,0,1., Fließtext, Überlegung + Zahlenzeile, leer, außerhalb des Bereichs, Duplikat) ok. Xcode-BuildIrisundIrisClienterfolgreich.Nicht geprüft: Ablauf in der App (Dauer der Prüfung, Trefferqualität); andere Server als llama.cpp (LM Studio, OpenRouter) mit dem Feld
chat_template_kwargs; kein Swift-Test im Projekt.Offen: Punkte 2–4 des Issues (Texte der Systemprompts, Testsatz, Vorfilter/Zweitmodell). Dem Issue fehlt das Label
typ/enhancement(im Repo nicht auffindbar).PR #195 gemergt: feat(auto-prompts): Testsatz und Messskript für die Auto-Auswahl (iris/Iris#193)
#195
Commits:
Stand (Testsatz, Punkt 3, iris/Iris#193)
Geändert:
scripts/auto-prompt-eval/—cases.json(53 Nachrichten mit erwartetem Prompt: 33 eindeutige, 20 schwerere mit indirekter Formulierung, Mehrfachtreffern und „kein Prompt“) undrun.py. Das Skript baut Katalog und Anfrage wieCompanionManager.resolveAutoSystemPrompts(gespeicherte Systemprompts aus den Einstellungen, ohne „immer aktiv“, strikter Parser, Reasoning aus) und meldet Treffer und Zeit je Anfrage. Optionen:--prompts <Sicherung.json>(Vorher-Vergleich),--think(Reasoning an),--url.Messung (Agent-LLM Qwen3.8-Flash-Next Q8,
127.0.0.1:18200):Grenzen: Die Nachrichten habe ich geschrieben; viele benutzen Wörter, die im Prompt-Text stehen. Der Test misst damit eher die Untergrenze der Zuverlässigkeit als den Alltag. Er unterscheidet die zwei Textfassungen kaum (±1 Fall). Der Fehler vom Nutzertest (Pille fehlte) lag an Backend-Verwechslung und Parser (#192, #194), nicht an den Texten.
Nicht geprüft: Reasoning an (
--think) als Vergleich; echte Nachrichten aus dem Alltag; Wiederholbarkeit (Temperatur 0, ein Lauf je Fassung).Offen: Echte Nachrichten aus den Chats in
cases.jsonaufnehmen; den Rückschritt „Out of Memory“ prüfen (Text von ComfyUI-Konfigurieren/LTX); Plugin-Texte (Marker, Dokument-Übersetzer, PdfCraft, Pandoc, Buchhaltung, Plugins entwickeln).PR #197 gemergt: feat(auto-prompts): run.py --usage zum probeweisen Ersetzen von Texten (iris/Iris#193)
#197
Commits:
Stand (echte Nachrichten, iris/Iris#193)
Vorgehen: Aus
agent_jobs.jsondie ersten Nachrichten von 248 Chats gezogen (216 Auto, 32 Handwahl), davon 50 mit von mir korrigierter Erwartung als lokalen Testsatz zusammengestellt. Er bleibt lokal (workspace/prompt-usage/, enthält Pfade und Namen Dritter) und wird nicht eingecheckt. Die Handwahl ist kein verlässlicher Maßstab (z. B. wählte der Nutzer „Iris-Dev“ als Projektkontext auch für eine eBay-Suche), die frühere Auto-Auswahl auch nicht (LTX wurde oft zu Unrecht gewählt); die Erwartungen sind deshalb meine Beurteilung.Messung (Agent-LLM, ohne Reasoning):
Geändert:
scripts/auto-prompt-eval/run.pybekommt--usage "Titel=Text", um Texte probeweise zu ersetzen, ohne Iris zu ändern.Nicht geprüft: Die vier Texte sind noch nicht in Iris eingespielt; E-Mail und Retro-Spiele stammen aus Plugins (
system_prompt_usagein derplugin.json) und brauchen eine neue Plugin-Version. Kein Lauf mit Reasoning an; ein Lauf je Fassung.Offen: Texte einspielen (Iris-Dev, Blender direkt; E-Mail, Retro-Spiele per Plugin-Version); die übrigen 6 Fehler (Browser-Suche → Web-Automation, „Memory von Claude Code“, „Plugins zuletzt“ → Plugins entwickeln u. a.).
PR #198 gemergt: test(auto-prompts): Fälle zur Iris-Entwicklung im Testsatz (iris/Iris#193)
#198
Commits:
Stand (Iris-Entwicklung wird nicht als Iris-Dev erkannt, iris/Iris#193)
Befund (Nutzer): „Ich möchte mit dir die Iris Software weiterentwickeln“ / „Ich brauche dich für die Iris-Entwicklung“ wählte nicht Iris-Dev. Die Kurzformen gehen mit dem seit heute neuen Iris-Dev-Text durch (8 von 8 im Messskript). Die längere echte Nachricht erwähnt den Systemprompt-Dialog der App und landet bei „Systemprompt verwalten“ (Antwort
2).Geändert:
scripts/auto-prompt-eval/cases.jsonum neun Fälle zur Iris-Entwicklung erweitert (acht Formulierungen plus die lange mit Systemprompt-Bezug).Geprüft: Mit probeweise geändertem Text für „Systemprompt verwalten“ („… Nicht, wenn die Iris-App selbst weiterentwickelt wird, auch wenn es um die Systemprompt-Oberfläche geht (→ Iris-Dev)“) besteht auch der lange Fall; echte Nachrichten 37/50 unverändert (die 6 Mail-Fälle und 2 Spiel-Fälle warten auf die Plugin-Updates), synthetischer Satz 50/53.
Nicht geprüft: Der neue Text steht noch nicht in Iris (Iris lief beim Versuch); Ablauf in der App.
Offen: Text „Systemprompt verwalten“ einspielen; Wirkung im Alltag beobachten.
Abgeschlossen auf Anweisung des Nutzers. Gebaut: Klassifikation ohne Reasoning, strikter Antwort-Parser (#194), Messskript
scripts/auto-prompt-eval(#195, #197), neue Texte für Iris-Dev, Blender, Systemprompt verwalten (lokal), Plugin-Texte für E-Mail, Retro-Spiele und Web-Automation (iris/iris-plugins#316). Gemessen: echte Nachrichten 30 → 46 von 50, Iris-Dev wird bei „Iris weiterentwickeln“ gewählt (Test des Nutzers). Offen: 4 Fälle des echten Testsatzes (Claude-Code-Memory, Plugins zuletzt, Handbuch-Webseite, Chats zur Planerstellung), Plugin-Texte von Marker, Dokument-Übersetzer, PdfCraft, Pandoc, Buchhaltung, Plugins entwickeln unverändert, Latenz in der App (parallele Hermes-Läufe) nicht untersucht.