238 lines
9.0 KiB
Markdown
238 lines
9.0 KiB
Markdown
# Manuelle Bewertung der KI-Fehleranalyse – Version 1
|
||
|
||
Grundlage:
|
||
- invoice-interface-v1.md
|
||
- ai-analysis-prompt.md
|
||
- Jeweils ein gespeicherter ImportAssist-Prüfbericht
|
||
|
||
## Fall A: Completed mit fachlichen Fehlern
|
||
|
||
Eingabe:
|
||
Fünf geprüfte Rechnungen, eine gültig, vier fehlerhaft.
|
||
|
||
Die Antwort muss:
|
||
- Completed als abgeschlossene Prüfung einordnen.
|
||
- Die vier fehlerhaften Rechnungen mit ihren Befunden erklären.
|
||
- Die gemeldeten Fehler passenden Regelkennungen zuordnen.
|
||
- Fehlende Informationen für die Korrektur benennen.
|
||
- Die gültige Rechnung ohne zusätzliche Fehlerbewertung lassen.
|
||
|
||
Die Antwort darf nicht:
|
||
- Kundennummern, Rechnungsnummern oder Beträge erfinden.
|
||
- Einen konkreten ursprünglichen Betrag behaupten.
|
||
- Ohne Beleg zwischen Nullbetrag und negativem Betrag unterscheiden.
|
||
- Eine gültige Währung oder existierende Kunden bestätigen.
|
||
|
||
## Fall B: Rejected wegen CSV-Struktur
|
||
|
||
Eingabe:
|
||
Status Rejected, leere rows, alle Zähler null.
|
||
fileErrors meldet für Zeile 3:
|
||
„Erwartet werden vier Spalten ohne Anführungszeichen.“
|
||
|
||
Die Antwort muss:
|
||
- Die Abweisung der gesamten Datei erklären.
|
||
- Auf CSV-Zeile 3 verweisen.
|
||
- CSV-001 und REP-001 passend heranziehen.
|
||
- Klarstellen, dass keine fachliche Rechnungsprüfung stattfand.
|
||
- Die Prüfung der Originalzeile und erneute Verarbeitung empfehlen.
|
||
|
||
Die Antwort darf nicht:
|
||
- Die Datei aufgrund der Nullzähler als fehlerfrei bezeichnen.
|
||
- Einzelne Rechnungen fachlich bewerten.
|
||
- Behaupten, welche konkrete Spalte fehlt.
|
||
- Behaupten, ob zu wenige Spalten, zu viele Spalten oder
|
||
Anführungszeichen die Ursache waren.
|
||
|
||
## Bewertung
|
||
|
||
Für jede Antwort prüfen:
|
||
1. Stimmen alle Aussagen mit den bereitgestellten Quellen überein?
|
||
2. Passen die Regelverweise?
|
||
3. Sind die nächsten Prüfschritte konkret und zulässig?
|
||
4. Werden Informationslücken ausdrücklich benannt?
|
||
|
||
Erster manueller Durchlauf:
|
||
Beide Fälle anhand der Antworten im Lernchat geprüft.
|
||
Kein automatisierter Modelltest und kein Nachweis wiederholbarer Qualität.
|
||
|
||
## Testlauf vom 09.09.2026 – Completed mit fachlichen Fehlern
|
||
|
||
### Konfiguration
|
||
- Modell: gpt-4.1-mini
|
||
- Modellversion: 2025-04-14
|
||
- Bereitstellung: importassist-analysis (Global Standard)
|
||
- Durchführung: manuell im Foundry-Playground
|
||
- Quellen: invoice-interface-v1.md und invoices-report.json
|
||
- Anweisungen: ai-analysis-prompt.md vor der heutigen Ergänzung
|
||
- Websuche: deaktiviert
|
||
|
||
### Eingabe
|
||
Prüfbericht mit Status Completed:
|
||
5 Rechnungen, davon 1 gültig und 4 fehlerhaft.
|
||
Keine Dateistrukturfehler.
|
||
|
||
### Erwartung
|
||
- Mengen, Zeilen und Regelkennungen korrekt wiedergeben.
|
||
- Completed als abgeschlossene Prüfung erklären.
|
||
- Keine Importfreigabe oder Erlaubnis zum Teilimport ableiten.
|
||
- Gültigkeit auf die implementierten Prüfregeln begrenzen.
|
||
- Keine ursprünglichen Beträge oder Ersatzwerte erfinden.
|
||
|
||
### Beobachtung
|
||
- Mengen, betroffene Zeilen und Regelkennungen korrekt erkannt.
|
||
- Prüfschritte mit Bezug auf Quelldaten vorgeschlagen.
|
||
- Keine konkreten Ersatzwerte erfunden.
|
||
- Unbelegte Aussage: „Datei insgesamt importierbar“.
|
||
- Zu umfassende Aussage: INV-001 sei „fehlerfrei“.
|
||
|
||
### Bewertung
|
||
Teilweise bestanden.
|
||
|
||
Die Antwort enthält eine unbelegte Importfreigabe und stellt die
|
||
Aussagekraft der implementierten Prüfregeln zu umfassend dar.
|
||
|
||
### Anpassung
|
||
Anweisungen um zwei Klarstellungen ergänzt:
|
||
- Completed bedeutet keine Importfreigabe.
|
||
- isValid gilt ausschließlich für die implementierten Prüfregeln.
|
||
|
||
### Wiederholung
|
||
Noch offen. Dieselbe Eingabe in einem neuen Chat mit den ergänzten
|
||
Anweisungen testen und das Ergebnis hier dokumentieren.
|
||
|
||
### Wiederholung 2 mit präzisierten Anweisungen
|
||
- Mengen, Fehler und Regelkennungen korrekt wiedergegeben.
|
||
- Keine unbelegte Importfreigabe.
|
||
- Aussagekraft der Prüfung eingeschränkt; Währung als ungeprüft benannt.
|
||
- Gewünschte Formulierung für isValid=true nicht wörtlich übernommen.
|
||
- Ungenaue Bezeichnung „keine Rechnung“ statt „Rechnungsnummer fehlt“.
|
||
- Gutschrift als mögliche Ursache angesprochen, ohne sie ausdrücklich
|
||
als unbelegte Hypothese zu kennzeichnen.
|
||
|
||
Bewertung: teilweise bestanden; wesentliche frühere Fehler behoben.
|
||
Verbleibende sprachliche und fachliche Unschärfen dokumentiert.
|
||
Ein einzelner Lauf belegt noch keine zuverlässige Wiederholbarkeit.
|
||
|
||
## Testlauf vom 09.09.2026 – Rejected wegen Strukturfehler
|
||
|
||
### Eingabe
|
||
Prüfbericht mit Status Rejected, leeren rows und einem
|
||
Dateistrukturfehler in Zeile 3.
|
||
|
||
### Beobachtung
|
||
- Status Rejected und fehlende fachliche Prüfung korrekt erklärt.
|
||
- Zeile 3 korrekt als zweite Datenzeile eingeordnet.
|
||
- Strukturfehler korrekt CSV-001 zugeordnet.
|
||
- Keine bestimmte fehlende Spalte erfunden.
|
||
- Mögliche Fehlerursachen ausdrücklich offengelassen.
|
||
- Keine Behauptung, die Datei enthalte null Rechnungen.
|
||
- Entfernen von Anführungszeichen zu konkret empfohlen,
|
||
obwohl deren Vorhandensein unbekannt ist.
|
||
- Bezeichnung der gesamten Datei als „unbrauchbar“ zu pauschal.
|
||
- Quellenzuordnung der Zeilenzählung zu REP-001 noch zu prüfen.
|
||
|
||
### Bewertung
|
||
Teilweise bestanden.
|
||
Kernaussage korrekt; Korrekturvorschlag und Wortwahl benötigen
|
||
Präzisierung. Eine Quellenzuordnung bleibt offen.
|
||
|
||
## C#-Testläufe vom 10.09.2026
|
||
|
||
### Konfiguration
|
||
- Tool: ImportAssist.Analyze
|
||
- SDK: .NET 10.0.112
|
||
- Azure.AI.OpenAI: 2.1.0
|
||
- Modell: gpt-4.1-mini, Version 2025-04-14
|
||
- Bereitstellung: importassist-analysis
|
||
- Eingaben: aktueller Analyseprompt, Schnittstellenspezifikation
|
||
und jeweiliger JSON-Prüfbericht
|
||
- Maximale Ausgabetokens: 2000
|
||
- Jeder Aufruf ohne vorherigen Chatverlauf und ohne Tools
|
||
|
||
### Completed-Bericht
|
||
- Fehlerzeilen und Regelkennungen korrekt zugeordnet.
|
||
- Keine unbelegte Importfreigabe.
|
||
- Währung korrekt als ungeprüft behandelt.
|
||
- Ungenaue Formulierung: Nur eine Rechnung sei „validiert worden“.
|
||
Tatsächlich wurden fünf geprüft; eine bestand die Prüfregeln.
|
||
- Gutschrift als möglicher Prüfansatz erwähnt, nicht als Tatsache.
|
||
- Tokenverbrauch: 1434 Eingabe, 605 Ausgabe.
|
||
|
||
Bewertung: teilweise bestanden; sprachliche Unschärfe verbleibt.
|
||
|
||
### Rejected-Bericht
|
||
- Strukturfehler in Zeile 3 korrekt CSV-001 zugeordnet.
|
||
- Ausgebliebene fachliche Prüfung korrekt erklärt.
|
||
- Keine konkrete fehlende Spalte erfunden.
|
||
- Originalinhalt der betroffenen Zeile als fehlende Information benannt.
|
||
- Prüfung der Quelldaten statt unbegründeter Korrektur empfohlen.
|
||
- Tokenverbrauch: 1202 Eingabe, 426 Ausgabe.
|
||
|
||
Bewertung: für diesen Testlauf bestanden.
|
||
|
||
### Grenzen
|
||
Je ein manueller C#-Testlauf pro Fall.
|
||
Keine Aussage über zuverlässige Wiederholbarkeit oder andere Eingaben.
|
||
Die Antworten werden bislang als Freitext ausgegeben und manuell geprüft.
|
||
|
||
## Strukturierte C#-Testläufe vom 11.09.2026
|
||
|
||
### Konfiguration
|
||
- Modellbereitstellung: importassist-analysis
|
||
- Antwortschema: docs/ai-analysis.schema.json
|
||
- Structured Outputs mit aktiviertem strikten Modus
|
||
- Deserialisierung in InvoiceAnalysis und AnalysisFinding
|
||
- Maximale Ausgabetokens: 2000
|
||
|
||
### Completed-Bericht
|
||
- JSON erfolgreich in C# eingelesen.
|
||
- Sechs Befunde mit korrekten Zeilen und Regelkennungen.
|
||
- limitations korrekt als Liste auf oberster Ebene.
|
||
- Fehlende Rechnungsnummer in Zeile 6 als leerer String statt null.
|
||
Das Schema erlaubt diesen String; die semantische Vorgabe wurde verletzt.
|
||
- Empfehlung zur Änderung auf einen positiven Betrag zu pauschal.
|
||
Der fachlich richtige Betrag muss zuerst anhand der Quelle geklärt werden.
|
||
- Tokenverbrauch: 1894 Eingabe, 874 Ausgabe.
|
||
|
||
Bewertung: Struktur bestanden, fachliche Prüfung teilweise bestanden.
|
||
|
||
### Rejected-Bericht
|
||
- JSON erfolgreich in C# eingelesen.
|
||
- Genau ein Befund: CSV-001, Zeile 3, invoiceId null.
|
||
- Keine konkrete Fehlerursache erfunden.
|
||
- Fehlende Originalzeile und ausgebliebene fachliche Prüfung benannt.
|
||
- Tokenverbrauch: 1662 Eingabe, 236 Ausgabe.
|
||
|
||
Bewertung: festgelegte Kriterien in diesem Lauf bestanden.
|
||
|
||
### Offene Punkte
|
||
- Leere oder ausschließlich aus Leerzeichen bestehende invoiceId
|
||
zusätzlich in C# zurückweisen; bei fehlender Nummer ist null vorgesehen.
|
||
- Korrekturvorschläge müssen den fachlich richtigen Quellwert respektieren.
|
||
- Ablehnungen, abgebrochene Antworten und ungültige Antwortstrukturen
|
||
werden im Code behandelt, wurden aber noch nicht gezielt getestet.
|
||
- Einzelne erfolgreiche Läufe belegen keine zuverlässige Wiederholbarkeit.
|
||
|
||
## Lokaler Berichtsabgleich vom 11.09.2026
|
||
|
||
InvoiceAnalysisValidator gleicht Befunde bei Completed-Berichten
|
||
mit den ursprünglichen Rechnungsprüfergebnissen ab.
|
||
|
||
Zurückgewiesen werden:
|
||
- fehlende oder im Bericht nicht vorhandene Zeilennummern;
|
||
- Rechnungsnummern, die nicht zur angegebenen Zeile passen;
|
||
- Fehlerbefunde für Zeilen, die die Prüfregeln bestanden haben.
|
||
|
||
Eine fehlende Rechnungsnummer im Quellbericht wird für den Vergleich
|
||
als null behandelt. Die Modellantwort wird nicht verändert.
|
||
|
||
Nachweis: Alle 28 Regressionstests bestanden, einschließlich
|
||
acht neuer Fälle zum Berichtsabgleich. Kein zusätzlicher Modellaufruf.
|
||
|
||
Grenzen:
|
||
- Fehlende oder doppelte Befunde werden noch nicht erkannt.
|
||
- Einzelne Regelkennungen werden noch nicht mit Quellfehlern abgeglichen.
|
||
- Rejected-Berichte erhalten noch keinen entsprechenden Quellenabgleich.
|
||
- Freitextaussagen werden weiterhin manuell bewertet.
|