Stosowanie przepływów pracy opartych na usłudze Git w celu optymalizacji eksperymentów

Ukończone

Eksperymenty optymalizacji wymagają systematycznej organizacji do śledzenia, które zmiany zostały przetestowane i jakie wyniki zostały wygenerowane. Przepływy pracy oparte na usłudze Git umożliwiają bezpieczne testowanie wariantów agenta, dokumentowanie wyników oceny i porównywanie eksperymentów w celu zidentyfikowania, która konfiguracja działa najlepiej.

  1. Tworzenie gałęzi: tworzenie gałęzi eksperymentu dla każdego wariantu
  2. Dodawanie monitów testowych: Przechowywanie monitów testowych w folderze eksperymentu
  3. Uruchamianie skryptu oceny: wdrażanie wersji agenta, uruchamianie monitów testowych, przechwytywanie odpowiedzi
  4. Ocenianie odpowiedzi: Ręczne ocenianie odpowiedzi dla metryk jakości
  5. Porównaj i zdecyduj: Przejrzyj wyniki między gałęziami, scal eksperymenty zakończone powodzeniem

Tworzenie gałęzi eksperymentu

Każdy eksperyment optymalizacji znajduje się we własnej gałęzi, zachowując zmiany eksperymentalne oddzielone od agenta produkcyjnego. Utwórz jedną gałąź na wariant eksperymentu, aby wyizolować zmiany — testowanie nowego monitu, innego modelu lub korekty konfiguracji pojedynczo. To kontrolowane podejście umożliwia przypisywanie zmian wydajności do określonych modyfikacji, a nie mieszanie wielu zmian w jednej gałęzi.

Za pomocą agenta Adventure Works Trail Guide Agent utworzysz gałęzie eksperymentów, aby przetestować różne warianty:

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

Gdy eksperyment zakończy się powodzeniem w wyniku oceny, scalisz go z elementem głównym. W przypadku nieudanych eksperymentów możesz zachować gałąź jako dokumentację tego, co nie zadziałało (uniemożliwiając przyszłym zespołom powtarzanie nieudanych podejść) lub usunąć gałąź, aby usunąć bałagan (jeśli wyniki oceny są już zatwierdzone i udokumentowane).

Przechowywanie monitów testowych i uruchamianie skryptu oceny

Każda gałąź eksperymentu organizuje pliki w spójnej strukturze, która oddziela kod, monity i dane oceny:

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

Folder prompts/ przechowuje różne wersje monitów jako pliki .txt, które agent.py ładuje podczas tworzenia wersji agenta. Folder test-prompts/ zawiera poszczególne .txt pliki dla każdego scenariusza testowego z opisowymi nazwami wskazującymi, czego potrzebuje użytkownik. Skrypt run-agent.py ładuje te pliki monitów testowych, wywołuje agenta dla każdego z nich i przechwytuje odpowiedzi. Każdy eksperyment ma własny folder w experiments/ zawierający tylko wyniki tego eksperymentu.

Pliki monitów testowych zawierają 5–10 scenariuszy testowych z jednostki 2. Skrypt run-agent.py automatyzuje przepływ pracy testowania:

  1. Sprawdź gałąź eksperymentu: git checkout experiment/prompt-v2-concise
  2. Wdrażanie wersji agenta: python agent.py (tworzy wersję agenta w systemie Microsoft Foundry)
  3. Uruchamianie oceniania: python run-agent.py (ładuje monity testowe, wywołuje agenta dla każdego monitu, przechwytuje odpowiedzi, zapisuje do agent-responses.json)

Skrypt przechwytuje odpowiedzi agenta z interfejsu API i zapisuje je w pliku agent-responses.json. Następnie utworzysz plik, w evaluation.csv którym ręcznie ocenisz każdą odpowiedź przy użyciu tego samego formatu, którego używa portal Microsoft Foundry do eksportowania oceny.

Ręczne ocenianie odpowiedzi

Przejrzyj odpowiedzi agenta przechwycone w elemencie agent-responses.json. W przypadku szybkiego testowania ręcznego najlepszym rozwiązaniem jest wybranie trzech do pięciu kryteriów oceny, które mają największe znaczenie w przypadku użycia, a także opcjonalne otwarte pole w celu uzyskania dodatkowych komentarzy. evaluation.csv Utwórz plik z tymi kolumnami, aby był zgodny z formatem eksportu portalu:

Komunikat testowy Odpowiedź agenta Rozwiązywanie intencji Znaczenie Groundedness Comments
szkocki-wyżynny-marsz Na wędrówki po szkockich wyżynach w marcu... 5 5 4 Doskonałe zalecenia dotyczące sprzętu
family-london-trails Dla łatwych szlaków w pobliżu Londynu z nastolatkami... 4 4 5 Dobra porada dla początkujących
pięciodniowa wycieczka z plecakiem Na pięciodniową podróż z plecakiem... 5 5 5 Kompleksowa lista
niejednoznaczny sprzęt turystyczny Jaki rodzaj wędrówki planujesz... 3 3 4 Zadawanie pytań wyjaśniających
niekompletna podróż do Szkocji W przypadku wędrówek w Szkocji polecam... 4 4 4 Dokonano rozsądnych założeń

Uwzględnij nazwę pliku monitu testowego, fragment odpowiedzi agenta, oceny jakości (skala 1–5) i komentarze dotyczące jakości odpowiedzi.

Porada

Dopasuj format oceny do tego, co można ocenić za pomocą portalu Microsoft Foundry i z automatycznymi ocenami. W przypadku używania spójnych kryteriów oceny i formatów plików w testach ręcznych, ocenach portalu i zautomatyzowanych testach można łatwo skonsolidować wyniki testów od różnych członków zespołu i metod oceny.

Porównywanie eksperymentów i podejmowanie decyzji

Po ukończeniu ocen w wielu gałęziach eksperymentów użyj danych CSV, aby porównać wydajność i podejmować decyzje oparte na dowodach. Zapoznaj się z każdą gałęzią eksperymentu i przejrzyj ją, aby zobaczyć, evaluation.csv jak została wykonana. Zwróć uwagę na kluczowe wyniki z każdej gałęzi, a następnie utwórz porównanie, aby określić, który wariant spełnia kryteria sukcesu.

W przypadku eksperymentów firmy Adventure Works możesz udokumentować porównanie:

Eksperymentalna gałąź Kluczowe obserwacje Spełnia kryteria?
główny (punkt odniesienia) Solidne odpowiedzi, pewna gadatliwość Tak (średnio 4,2)
prompt-v2-concise Utrzymuje jakość i jest bardziej skoncentrowany Tak (średnio 4,4)
gpt4o-mini-model Niższa jakość przy złożonych zapytaniach Nie (średnia 4,1, poniżej progu 4,2)

Jeśli prompt-v2-concise spełnia próg jakości i poprawia zwięzłość, użyj narzędzia Git, aby scalić zwycięski eksperyment:

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

W przypadku eksperymentów, które nie spełniają kryteriów, zapisz przyczyny przed podjęciem decyzji, czy zachować czy usunąć gałąź: "gpt4o-mini-model: Jakość spadła poniżej progu 4,2 dla złożonych monitów planowania podróży." Nie zaleca się do zastosowań produkcyjnych.

Korzystając z przepływów pracy Git ustanowionych na potrzeby organizowania eksperymentów, jesteś gotowy do przeprowadzenia rzeczywistych ocen, uruchamiając agentów z wykorzystaniem monitów testowych i systematycznie punktując wyniki.