PromptPex: Automatic Test Generation for Language Model Prompts
Dieses Paper stellt PromptPex vor, ein auf LLMs basierendes Tool, das automatisch Spezifikationen aus Prompts extrahiert, um diverse Unit-Tests zu generieren und zu evaluieren, wodurch Regressionen und modellspezifische Schwachstellen effektiver und genauer als bestehende Baseline-Methoden identifiziert werden.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie hätten eine sehr spezifische Anweisung für einen Roboter-Koch geschrieben. Sie sagen dem Roboter: „Nimm diesen Satz, finde das Wort ‚Apfel‘ und sag mir, ob es ein Nomen oder ein Verb ist. Aber hier ist der Haken: Gib nur das Wort ‚Nomen‘ oder ‚Verb‘ aus. Füge keinen zusätzlichen Smalltalk hinzu, kein ‚Hier ist die Antwort‘ und keine Erklärungen.“
In der Welt der Software wird diese Anweisung als Prompt bezeichnet. Genau wie Code werden Prompts verwendet, um Anwendungen zu bauen. Aber im Gegensatz zu traditionellem Code, der jedes Mal auf einem spezifischen Computer auf die gleiche Weise läuft, werden Prompts von „Large Language Models“ (LLMs) ausgeführt – denken Sie an verschiedene Köche mit unterschiedlichen Persönlichkeiten. Ein Koch (Modell A) folgt Ihren Anweisungen vielleicht perfekt. Ein anderer Koch (Modell B) könnte verwirrt sein und sagen: „Die Antwort ist: Nomen, weil Äpfel Früchte sind.“
Dieser Unterschied verursacht ein Kopfzerbrechen für Entwickler. Wenn sie den Koch wechseln (das Modell austauschen) oder die Anweisungen leicht anpassen, kann der Roboter plötzlich anfangen, das falsche Format auszuge{%spucken}, was die gesamte Anwendung beschädigt.
Hier kommt PromptPex: Der „Prompt-Inspektor“
Das Paper stellt ein Tool namens PromptPex vor. Betrachten Sie PromptPex als einen super-intelligenten, automatisierten Qualitätskontrolleur, der Ihnen hilft, Ihre Anweisungen zu testen, bevor Sie einen neuen Koch einstellen.
So funktioniert es, unter Verwendung einer einfachen Analogie:
1. Die Extraktion des „Regelbuchs“
Zuerst liest PromptPex Ihre unordentlichen, natürlichen Anweisungen und übersetzt sie in ein striktes, punktbasiertes Regelbuch.
- Ihr Prompt: „Gib nur das Tag zurück. Wenn du das nicht tun kannst, sage ‚Unbekannt‘.“
- PromptPexs Regelbuch:
- Die Ausgabe darf nur das Tag sein (keine zusätzlichen Wörter).
- Wenn das Wort nicht markierbar ist, muss die Ausgabe das Wort „Unbekannt“ sein.
Dies geschieht, indem eine sehr fortgeschrittene KI gebeten wird, Ihren Prompt zu analysieren und zu sagen: „Okay, was sind die harten Regeln hier?“ Dies hilft dem Entwickler zu sehen, ob seine Anweisungen tatsächlich klar oder ob sie mehrdeutig sind (wie die zuvor erwähnte Verwirrung zwischen „Nomen vs. Erklärung“).
2. Der „Stresstest“-Generator
Sob's das Regelbuch erstellt hat, wird PromptPex zu einem schelmischen Testingenieur. Es bittet den Roboter-Koch nicht einfach, eine normale Mahlzeit zu kochen; es versucht, den Koch dazu zu bringen, die Regeln zu brechen.
- Der „normale“ Test: Es fragt nach einem Standard-Satz.
- Der „inverse“ Test: Das ist der clevere Teil. PromptPs erstellt eine „umgekehrte Regel“ in seinem Kopf. Wenn die Regel lautet „Gib nur das Tag aus“, dann ist die umgekehrte Regel „Gib das Tag plus eine lange Erklärung aus“. Es generiert dann einen Testfall, der darauf ausgelegt ist, zu sehen, ob der Koch versehentlich der falschen Regel folgt.
Es erstellt hunderte dieser tückischen Szenarien und stellt sicher, dass die Test-Inputs immer noch gültig sind (wie ein echter Satz), aber darauf ausgelegt sind, Schwachstellen aufzudecken.
3. Der „Richter“
Schließlich lässt PromptPex diese Tests auf verschiedenen KI-Modellen (den verschiedenen Köchen) laufen. Dann nutzt es eine andere KI als „Richter“, um die Ergebnisse zu prüfen.
- Hat der Koch das Regelbuch befolgt?
- Hat er zusätzlichen Smalltalk hinzugefügt?
- Hat er versäumt, „Unbekannt“ zu sagen, als er es hätte tun müssen?
Das Ziel ist nicht zu sehen, ob der Koch „klug“ ist; das Ziel ist zu sehen, ob der Koch die Regeln befolgt hat. Wenn der Koch den Test nicht besteht, markiert PromptPex dies.
Warum ist das eine große Sache?
Das Paper testete dieses Tool an 22 verschiedenen Prompts mit vier verschiedenen KI-Modellen. Es verglich PromptPex mit einer Standard-KI, die einfach nur versucht, gute Tests zu erraten, ohne ein striktes Regelbuch zu verwenden.
Die Ergebnisse:
- PromptPex war besser darin, Fehler zu finden. Es generierte Tests, die die KI-Modelle viel häufiger dazu brachten, ihre Regeln zu brechen, als das Standard-Tool dies tat.
- Es zeigt Modellunterschiede auf. Es zeigte deutlich, dass einige Modelle besser darin sind, strikten Anweisungen zu folgen als andere. Zum Beispiel könnte ein Modell sehr gut in einer „Wortart-Aufgabe“ sein, während ein anderes bei derselben Aufgabe ständig scheitert.
- Es hilft Entwicklern, ihre Prompts zu verbessern. Indem es genau aufzeigt, wo die Anweisungen mehrdeutig waren (z. B. „Das Modell dachte, es sei in Ordnung, eine Erklärung hinzuzufügen, weil Sie es nicht explizit untersagt haben“), hilft es Entwicklern, ihre Prompts klarer zu formulieren.
Das Fazit
PromptPex ist wie ein Rechtschreibprüfer für Logik. Es prüft nicht nur auf Tippfehler; es prüft, ob Ihre Anweisungen klar genug sind, um von verschiedenen, unvorhersehbaren KI-Gehirnen befolgt zu werden. Es hilft Entwicklern sicherzustellen, dass ihre Anwendung nicht plötzlich anfängt, Müll auszugeben, wenn sie von einem KI-Modell zu einem anderen wechseln, weil das neue Modell eine vage Anweisung anders interpretiert hat.
Die Autoren fanden heraus, dass sie durch die Umwandlung vager Anweisungen in ein striktes „Regelbuch“ und das anschließende Stress-Testing dieser Regeln mehr Fehler finden und ihre KI-Tools viel besser verstehen konnten, als wenn sie nur geraten hätten.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.