Anwenden von Git-basierten Workflows auf Optimierungsexperimente

Abgeschlossen

Optimierungsexperimente erfordern eine systematische Organisation, um nachzuverfolgen, welche Änderungen getestet wurden und welche Ergebnisse sie erzeugt haben. Git-basierte Workflows ermöglichen es Ihnen, Agentvarianten sicher zu testen, Auswertungsergebnisse zu dokumentieren und Experimente zu vergleichen, um zu ermitteln, welche Konfiguration am besten funktioniert.

  1. Verzweigung erstellen: Experiment-Verzweigung für jede Variante erstellen
  2. Testaufforderungen hinzufügen: Testaufforderungen im Experimentordner speichern
  3. Ausführen eines Evaluierungsskripts: Bereitstellen der Agentversion, Ausführen von Testaufforderungen, Erfassen von Antworten
  4. Antworten bewerten: Manuelles Bewerten von Antworten für Qualitätsmetriken
  5. Vergleichen und entscheiden: Überprüfen der Ergebnisse in zwei Zweigniederlassungen, Zusammenführen erfolgreicher Experimente

Erstellen von Experimentzweigen

Jedes Optimierungsexperiment lebt in einem eigenen Zweig, wobei experimentelle Veränderungen von Ihrem Produktionsmitarbeiter getrennt bleiben. Erstellen Sie eine Verzweigung pro Experimentvariante, um zu isolieren, was geändert wurde, und testen Sie jeweils eine neue Eingabeaufforderung, ein anderes Modell oder eine Konfigurationsanpassung. Mit diesem kontrollierten Ansatz können Sie Leistungsänderungen spezifischen Anpassungen zuordnen, anstatt mehrere Modifikationen in einem Branch zu vermischen.

Mit dem Adventure Works Trail Guide Agent erstellen Sie Experimentzweige, um verschiedene Varianten zu testen:

main                              # Production baseline (prompt v1)
experiment/prompt-v2-concise      # Test shorter, more focused prompt
experiment/prompt-v2-detailed     # Test enhanced prompt with examples
experiment/gpt4o-mini-model       # Test GPT-4o-mini model
experiment/token-optimization     # Reduce token usage

Wenn ein Experiment sich durch Evaluation als erfolgreich erweist, wird es mit dem Hauptzweig zusammengeführt. Bei fehlgeschlagenen Experimenten können Sie entweder den Branch als Dokumentation beibehalten, damit zukünftige Teams erfolglose Ansätze nicht wiederholen, oder den Branch löschen, um Unordnung zu vermeiden, wenn die Auswertungsergebnisse bereits festgehalten und dokumentiert sind.

Laden von Testaufforderungen und Ausführen des Evaluierungsskripts

Jeder Experimentzweig organisiert Dateien in einer konsistenten Struktur, die Code, Eingabeaufforderungen und Auswertungsdaten trennt:

adventure-works-agent/
├── agent.py                                    # Agent creation script
├── run-agent.py                                # Script to run agent with test prompts
├── prompts/
│   ├── system-prompt-v1.txt                   # Production prompt
│   └── system-prompt-v2-concise.txt           # Experimental variant
├── test-prompts/
│   ├── scottish-highlands-march.txt           # Digital nomad weekend hike
│   ├── family-london-trails.txt               # Family with teenagers
│   ├── five-day-backpacking.txt               # Experienced hiker extended trip
│   ├── ambiguous-hiking-gear.txt              # Edge case: vague request
│   └── incomplete-scotland-trip.txt           # Edge case: missing details
└── experiments/
    ├── prompt-v2-concise/
    │   ├── agent-responses.json            # Raw agent outputs
    │   └── evaluation.csv                  # Manual quality scores and observations
    ├── gpt4o-mini-model/
    │   ├── agent-responses.json
    │   └── evaluation.csv
    └── token-optimization/
        ├── agent-responses.json
        └── evaluation.csv

Der Ordner prompts/ speichert verschiedene Prompt-Versionen als .txt-Dateien, die agent.py beim Erstellen von Agent-Versionen lädt. Der test-prompts/ Ordner enthält einzelne .txt Dateien für jedes Testszenario mit beschreibenden Namen, die den Benutzerbedarf angeben, den sie repräsentieren. Das run-agent.py Skript lädt diese Test-Aufforderungsdateien, ruft den Agenten für jede auf und erfasst die Antworten. Jedes Experiment hat einen eigenen Ordner in experiments/, der nur seine Ergebnisse enthält.

Die Testaufforderungsdateien enthalten Ihre 5-10 Testszenarien aus Unit 2. Das run-agent.py Skript automatisiert den Testworkflow:

  1. Sehen Sie sich den Experimentzweig an: git checkout experiment/prompt-v2-concise
  2. Bereitstellung der Agentversion: python agent.py (stellt Agentversion in Microsoft Foundry bereit)
  3. Ausführung der Bewertung: python run-agent.py (lädt Testaufforderungen, ruft den Agenten für jede Aufforderung auf, erfasst Antworten, speichert in agent-responses.json)

Das Skript erfasst Agentantworten aus der API und speichert sie in agent-responses.json. Anschließend erstellen Sie eine evaluation.csv Datei, in der Sie jede Antwort manuell mit demselben Format bewerten, das das Microsoft Foundry-Portal für Auswertungsexporte verwendet.

Antworten manuell bewerten

Überprüfen Sie die in agent-responses.json festgehaltenen Agentenantworten. Für schnelle manuelle Tests empfiehlt es sich, drei bis fünf Bewertungskriterien auszuwählen, die für Ihren Anwendungsfall am wichtigsten sind, sowie ein optionales offenes Feld für zusätzliche Kommentare. Erstellen Sie eine evaluation.csv Datei mit diesen Spalten, um dem Exportformat des Portals zu entsprechen:

Testaufforderung Antwort des Agenten Auflösung der Absicht Relevance Verankerung Kommentare
scottish-highlands-march Zum Wandern im schottischen Hochland im März... 5 5 4 Ausgezeichnete Ausrüstungsempfehlungen
Familien-London-Trails Für einfache Trails in der Nähe von London mit Teenagern... 4 4 5 Gute Anfängerberatung
Fünf-Tage-Backpacking Für eine fünftägige Backpacking-Reise... 5 5 5 Umfassende Liste
ambiguous-hiking-gear Welche Art von Wandern planen Sie... 3 3 4 Klärende Fragen gestellt
unvollständige Schottland-Reise Für Wanderungen in Schottland würde ich empfehlen... 4 4 4 Vernünftige Annahmen gemacht

Schließen Sie den Dateinamen der Testaufforderung, den Agentantwortauszug, Ihre Qualitätsbewertungen (1 bis 5 Skalierung) und Kommentare zur Antwortqualität ein.

Tipp

Richten Sie Ihr Auswertungsformat an dem aus, was über das Microsoft Foundry-Portal und mit automatischen Auswertungen ausgewertet werden kann. Wenn Sie einheitliche Bewertungskriterien und Dateiformate für manuelle Tests, Portalbewertungen und automatisierte Tests verwenden, können Sie testergebnisse aus verschiedenen Teammitgliedern und Auswertungsmethoden einfach konsolidieren.

Vergleichen von Experimenten und Entscheiden

Verwenden Sie nach Abschluss der Auswertungen in mehreren Experimentzweigen Ihre CSV-Daten, um die Leistung zu vergleichen und nachweisbasierte Entscheidungen zu treffen. Sehen Sie sich jeden Experimentzweig an und bewerten Sie dessen Leistungevaluation.csv. Notieren Sie sich die wichtigsten Ergebnisse jedes Bereichs, und vergleichen Sie dann, welche Variante Ihre Erfolgskriterien erfüllt.

Für die Adventure Works-Experimente können Sie Ihren Vergleich dokumentieren:

Experimentierzweig Wichtige Beobachtungen Erfüllt Kriterien?
Haupt (Basislinie) Solide Antworten, einige Ausführlichkeit Ja (4.2 Ø)
prompt-v2-concise Erhält die Qualität bei, ist fokussierter Ja (4.4 durchschnittlich)
gpt4o-mini-model Geringere Qualität bei komplexen Eingabeaufforderungen Nein (4,1 Durchschnitt, unter dem Schwellenwert von 4,2)

Wenn prompt-v2-concise Ihrem Qualitätsschwellenwert entspricht und die Prägnanz verbessert, nutzen Sie Git, um das erfolgreiche Experiment zu integrieren:

git checkout main
git merge experiment/prompt-v2-concise
git tag promoted-to-prod-2026-02-17
git push origin main --tags

Dokumentieren Sie bei Experimenten, die den Kriterien nicht entsprechen, den Grund, bevor Sie entscheiden, ob die Verzweigung beibehalten oder gelöscht werden soll: „gpt4o-mini-Modell: Die Qualität fiel bei komplexen Reiseplanungsaufforderungen unter den Schwellenwert von 4,2.“ Nicht für die Produktion empfohlen."

Mit Git-Workflows, die für die Organisation von Experimenten eingerichtet wurden, können Sie die tatsächlichen Auswertungen ausführen, indem Sie Agents gegen Testaufforderungen ausführen und die Ergebnisse systematisch bewerten.