Files
ImportAssist/docs/ai-evaluation-v1.md

9.0 KiB
Raw Permalink Blame History

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.