Aplică fluxuri de lucru bazate pe Git în experimentele de optimizare

Finalizat

Experimentele de optimizare necesită o organizare sistematică pentru a urmări ce modificări au fost testate și ce rezultate au produs. Fluxurile de lucru bazate pe git îți permit să testezi variantele agenților în siguranță, să documentezi rezultatele evaluării și să compari experimente pentru a identifica care configurație funcționează cel mai bine.

  1. Creează ramura: Creează ramura experimentului pentru fiecare variantă
  2. Adaugă prompturi de test: Stochează prompturile de test în folderul experiment
  3. Rulează un script de evaluare: Implementează versiunea agentului, rulează prompturi de testare, captează răspunsuri
  4. Răspunsuri la scor: Evaluați manual răspunsurile pentru metricile de calitate
  5. Compară și decide: Revizuiește rezultatele între ramuri, îmbină experimentele reușite

Creează ramuri experimentale

Fiecare experiment de optimizare funcționează într-o ramură separată, păstrând schimbările experimentale separate de agentul tău de producție. Creează o ramură pentru fiecare variantă de experiment pentru a izola ce s-a schimbat — testând un nou prompt, un model diferit sau o ajustare a configurației, una câte una. Această abordare controlată îți permite să atribui modificările de performanță unor modificări specifice, în loc să amesteci mai multe modificări într-o singură ramură.

Cu Agent de Ghid de Traseu Adventure Works, creezi ramuri de experiment pentru a testa diferite variante:

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

Când un experiment se dovedește a fi un succes prin evaluare, îl fuzionezi cu cel principal. Pentru experimentele eșuate, poți păstra ramura ca documentație a ceea ce nu a funcționat (prevenind ca echipele viitoare să repete abordări nereușite), fie poți șterge ramura pentru a elimina dezordinea (dacă rezultatele evaluării sunt deja confirmate și documentate).

Stochează prompturile de testare și rulează un script de evaluare

Fiecare ramură de experiment organizează fișierele într-o structură consecventă care separă codul, prompturile și datele de evaluare:

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

Folderul prompts/ stochează diferite versiuni de prompt sub formă .txt de fișiere care agent.py se încarcă la crearea versiunilor agenților. Folderul test-prompts/ conține fișiere individuale .txt pentru fiecare scenariu de test, cu denumiri descriptive care indică ce nevoie reprezintă. Scriptul run-agent.py încarcă aceste fișiere de prompt de test, apelează agentul pentru fiecare și capturează răspunsurile. Fiecare experiment are propriul dosar care experiments/ conține doar rezultatele.

Fișierele de prompt de test conțin cele 5-10 scenarii de test din Unitatea 2. Scriptul run-agent.py automatizează fluxul de lucru de testare:

  1. Verifică ramura experimentelor: git checkout experiment/prompt-v2-concise
  2. Deploy agent version: python agent.py (creează versiunea agent în Microsoft Foundry)
  3. Rulează evaluarea: python run-agent.py (încarcă prompturile de test, apelează agent pentru fiecare prompt, capturează răspunsurile, salvează în agent-responses.json)

Scriptul capturează răspunsurile agenților din API și le salvează în agent-responses.json. Apoi creezi un evaluation.csv fișier în care notezi manual fiecare răspuns folosind același format pe care portalul Microsoft Foundry îl folosește pentru exporturile de evaluare.

Notează manual răspunsurile

Revizuiește răspunsurile agenților capturate în agent-responses.json. Pentru teste manuale rapide, o bună practică este să alegi trei până la cinci criterii de evaluare care contează cel mai mult pentru cazul tău de utilizare, plus un câmp deschis opțional pentru comentarii suplimentare. Creează un evaluation.csv fișier cu aceste coloane care să corespundă formatului de export al portalului:

Test Prompt Răspunsul agentului Rezolvarea intenției Relevanță Împământare Comentarii
Marșul Highlands-Scoțian Pentru drumeții în Highlands-ul Scoției în martie... 5 5 4 Recomandări excelente de echipament
Family-London-Trails Pentru trasee ușoare lângă Londra cu adolescenți... 4 4 5 Sfaturi bune pentru începători
Drumeții de cinci zile Pentru o excursie de cinci zile cu rucsacul în spate... 5 5 5 Listă cuprinzătoare
Echipament ambiguu de drumeție Ce fel de drumeție plănuiești să faci... 3 3 4 A pus întrebări de clarificare
Călătorie incompletă în Scoția Pentru drumeții în Scoția, aș recomanda... 4 4 4 A făcut presupuneri rezonabile

Include numele fișierului promptului de test, fragmentul de răspuns al agentului, scorurile tale de calitate (scala 1-5) și comentarii despre calitatea răspunsului.

Sfat

Aliniază-ți formatul evaluării cu ceea ce poate fi evaluat prin portalul Microsoft Foundry și cu evaluările automate. Când folosești criterii de evaluare și formate de fișiere consistente prin testare manuală, evaluări pe portal și teste automate, facilitezi consolidarea rezultatelor testelor de la diferiți membri ai echipei și metodelor de evaluare.

Compară experimentele și decide

După finalizarea evaluărilor în mai multe ramuri experimentale, folosește datele CSV pentru a compara performanța și a lua decizii bazate pe dovezi. Verifică fiecare ramură de experiment și revizuiește-o evaluation.csv ca să vezi cum s-a comportat. Notează concluziile cheie din fiecare ramură, apoi creează o comparație pentru a identifica care variantă corespunde criteriilor tale de succes.

Pentru experimentele Adventure Works, poți documenta comparația:

Ramura experimentală Observații cheie Îndeplinește criteriile?
Principal (linie de bază) Răspunsuri solide, ceva verbozitate Da (medie 4.2)
prompt-v2-concise Menține calitatea, este mai concentrată Da (medie 4.4)
GPT4O-Mini-Model Calitate mai scăzută la prompturi complexe Nu (medie 4,1, sub pragul 4,2)

Dacă prompt-v2-concise atinge pragul tău de calitate și îmbunătățește conciziunea, folosește Git pentru a combina experimentul câștigător:

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

Pentru experimentele care nu îndeplinesc criterii, documentează motivul înainte de a decide dacă păstrezi sau ștergi ramura: "gpt4o-mini-model: Calitatea a scăzut sub pragul 4.2 la solicitările complexe de planificare a călătoriilor. Nu este recomandat pentru producție."

Cu fluxurile de lucru Git create pentru organizarea experimentelor, ești pregătit să execuți evaluările reale rulând agenți pe indicațiile de test și evaluând sistematic rezultatele.