KI-Interviewfrage 2: Wie stellt man sicher, dass der Aufruf von Werkzeugen durch große Sprachmodelle (LLMs) zuverlässig ist
KI-Interviewfrage 2: Wie stellt man sicher, dass der Aufruf von Werkzeugen durch große Sprachmodelle (LLMs) zuverlässig ist
Wie kann sichergestellt werden, dass große Sprachmodelle (LLMs) bei Werkzeugaufrufen zuverlässig und kontrolliert arbeiten, ohne sich nur auf Aufforderungen zu verlassen, um das Modell zu „überzeugen“? Es wird systematisch ein mehrstufiger Rahmen von Einschränkungen gegeben.
Am Beispiel der Wetterabfrage gibt es drei häufige „Halluzinationen“ des Modells bei Werkzeugaufrufen:
1. Das Werkzeug nicht aufrufen und direkt eine erfundene Antwort geben.
2. Beim Aufruf des Werkzeugs Parameter mit falschem Format übergeben (z. B. das Werkzeug unterstützt „übermorgen“ nicht, aber es wird date="übermorgen" übergeben).
3. Eigenmächtig das Parameterformat umwandeln (z. B. „übermorgen“ eigenmächtig in ein konkretes Datum umwandeln), obwohl das Werkzeug dies nicht verlangt.
Die Ursache des Problems liegt darin, dass die Modellausgabe im Wesentlichen probabilistisch ist; Aufforderungen sind nur „weiche Einschränkungen“ der Wahrscheinlichkeitsverteilung, kein Mechanismus, der das Modell zwingt, sich strikt daran zu halten. In komplexen Szenarien versagen diese „weichen Einschränkungen“ leicht.
Um dieses Problem zu lösen, ist eine mehrstufige ingenieurtechnische Lösung erforderlich:
-
Erste Ebene: Optimierung der Aufforderungen (weiche Einschränkungen)
- Dies ist der Ausgangspunkt des Einschränkungsrahmens, aber keinesfalls der Endpunkt.
- Die Aufforderung sollte als „Betriebsvertrag“ betrachtet werden, der den Zweck des Werkzeugs, den Typ jedes Parameters, die Grenzen klar beschreibt und Beispiele für ungültige Werte auflistet.
- Es sollten Few-shot-Beispiele eingefügt werden, die durch die Darstellung von „korrekte Eingabe → korrekter Aufruf“ das Verhaltensmuster des Modells durch kontextuelles Lernen verankern.
-
Zweite Ebene: Einführung von JSON Schema (harte Einschränkungen)
- Dies ist der entscheidende Schritt von „Vernunft einreden“ zu „Geländer setzen“.
- Ersetzen Sie die natürlichsprachliche Beschreibung der Parameter durch eine maschinenlesbare, überprüfbare strukturierte Definition (JSON Schema). Damit können Feldtypen, Pflichtfelder, Aufzählungswertebereiche strikt definiert werden, und durch Setzen von
additionalProperties: falsekann verhindert werden, dass das Modell undefinierte Felder ausgibt. - Wichtige API-Plattformen unterstützen diese strukturierte Ausgabebeschränkung bereits in der Dekodierungsphase des Modells, um Formatverstöße an der Quelle zu vermeiden.
-
Dritte Ebene: Aufbau eines Validierungs-Korrektur-Wiederholungs-Zyklus (Ausführungsabsicherung)
- Selbst mit Schema muss nach Erhalt der Modellausgabe eine syntaktische und Schema-Validierung durchgeführt werden.
- Bei fehlgeschlagener Validierung sollte ein automatischer Bereinigungs- und Wiederholungsmechanismus (mit Obergrenze) entworfen werden, der dem Modell die Fehlerinformationen zurückmeldet, um die Ausgabe zu korrigieren. Nach Überschreitung der Wiederholungsanzahl muss ein Degradierungs- oder manuelles Bearbeitungsschema vorhanden sein.
-
Architekturebene: Trennung der Verantwortlichkeiten
- Entscheidung und Ausführung sollten getrennt werden, um eine dreischichtige Architektur zu bilden:
- Modellebene: Nur für die Entscheidung zuständig (welches Werkzeug aufgerufen wird, welche Parameter generiert werden).
- Framework-Ebene: Zuständig für das Ausführungsframework, einschließlich Schema-Validierung, Werkzeugaufruf, Wiederholungsbehandlung und Ergebnisintegration. Dadurch wird sichergestellt, dass Modellfehler die Werkzeugsicherheit nicht direkt beeinträchtigen und Werkzeugänderungen keine häufigen Anpassungen der Aufforderungen erfordern.
- Werkzeugebene: Konkrete Implementierung der Geschäftsfunktionalität.
- Frameworks wie LangChain, LlamaIndex leisten genau diese Arbeit.
- Entscheidung und Ausführung sollten getrennt werden, um eine dreischichtige Architektur zu bilden:
Einschränkungen der aktuellen Lösung: Sie behandelt Parameterformat-Probleme gut, aber die Validierung der Parametersemantik (z. B. Äquivalenz von „Shanghai“ und „Hu“) ist noch unzureichend. Dies wird eine zukünftige ingenieurtechnische Herausforderung sein.
Kernschlussfolgerung: Die zuverlässige Werkzeugnutzung durch LLMs ist im Wesentlichen ein Softwareentwicklungsproblem, das ein systematisches ingenieurtechnisches Schema von weichen Einschränkungen, harten Einschränkungen, Ausführungsabsicherung bis hin zum Architekturentwurf erfordert, nicht nur die Optimierung von Aufforderungen.
评论
暂无已展示的评论。
发表评论(匿名)