8.1 KiB
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:
- Stimmen alle Aussagen mit den bereitgestellten Quellen überein?
- Passen die Regelverweise?
- Sind die nächsten Prüfschritte konkret und zulässig?
- 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.