Anwenden von Git-basierten Workflows auf Optimierungsexperimente
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.
- Verzweigung erstellen: Experiment-Verzweigung für jede Variante erstellen
- Testaufforderungen hinzufügen: Testaufforderungen im Experimentordner speichern
- Ausführen eines Evaluierungsskripts: Bereitstellen der Agentversion, Ausführen von Testaufforderungen, Erfassen von Antworten
- Antworten bewerten: Manuelles Bewerten von Antworten für Qualitätsmetriken
- 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:
- Sehen Sie sich den Experimentzweig an:
git checkout experiment/prompt-v2-concise - Bereitstellung der Agentversion:
python agent.py(stellt Agentversion in Microsoft Foundry bereit) - Ausführung der Bewertung:
python run-agent.py(lädt Testaufforderungen, ruft den Agenten für jede Aufforderung auf, erfasst Antworten, speichert inagent-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.