Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

ექსპერიმენტები და ვარგისიანობის შეფასება

PRX-ში თვით-ევოლუციის სისტემა კონტროლირებულ ექსპერიმენტებსა და ვარგისიანობის შეფასებას იყენებს იმის გასაზომად, შემოთავაზებული ცვლილებები რეალურად აუმჯობესებს თუ არა აგენტის წარმადობას. ყოველი L1-ზე მაღალი ევოლუციის წინადადება A/B ექსპერიმენტით ტესტირდება მუდმივ მიღებამდე.

მიმოხილვა

ექსპერიმენტის სისტემა უზრუნველყოფს:

  • A/B ტესტირება -- საკონტროლო და სამკურნალო ვარიანტების პარალელური გაშვება
  • ვარგისიანობის ქულირება -- აგენტის წარმადობის რაოდენობრივი შეფასება კომპოზიტური ქულით
  • სტატისტიკური ვალიდაცია -- გაუმჯობესებების სარწმუნოობის უზრუნველყოფა, შემთხვევითი ხმაურის გამორიცხვით
  • ავტომატური კონვერგენცია -- გამარჯვებულის დაწინაურება და წაგებულის გაუქმება შედეგების დამაჯერებლობისას

ექსპერიმენტის სიცოცხლის ციკლი

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌───────────┐
│  შექმნა  │───►│  გაშვება │───►│ შეფასება │───►│კონვერგენცია│
│          │    │          │    │          │    │           │
│ვარიანტების│    │ტრაფიკის │    │ვარგისიან-│    │დაწინაურება│
│განსაზღვრა│    │გაყოფა    │    │ობის     │    │ან უარყოფა │
│          │    │          │    │შედარება  │    │           │
└──────────┘    └──────────┘    └──────────┘    └───────────┘

1. შექმნა

ექსპერიმენტი იქმნება, როდესაც ევოლუციის პაიპლაინი წინადადებას წარმოქმნის:

  • საკონტროლო ვარიანტი, რომელიც მიმდინარე კონფიგურაციას წარმოადგენს
  • სამკურნალო ვარიანტი, რომელიც შემოთავაზებულ ცვლილებას წარმოადგენს
  • ექსპერიმენტის პარამეტრები: ხანგრძლივობა, ნიმუშის ზომა, ტრაფიკის გაყოფა

2. გაშვება

ექსპერიმენტის განმავლობაში სესიები ვარიანტებზე ნაწილდება:

  • სესიები შემთხვევითად ნაწილდება ტრაფიკის გაყოფის თანაფარდობის მიხედვით
  • ყოველი სესია მთლიანად ერთ ვარიანტში მიმდინარეობს (სესიის შუაგულში გადართვა არ ხდება)
  • ორივე ვარიანტი ვარგისიანობის მეტრიკების ერთი და იმავე ნაკრებით მონიტორინგდება

3. შეფასება

მინიმალური ხანგრძლივობის ან ნიმუშის ზომის მიღწევის შემდეგ:

  • ორივე ვარიანტისთვის ვარგისიანობის ქულები გამოითვლება
  • სტატისტიკური მნიშვნელოვნება ტესტირდება (ნაგულისხმევი: 95% სარწმუნოობა)
  • ეფექტის ზომა გამოითვლება პრაქტიკული მნიშვნელოვნების გასაზომად

4. კონვერგენცია

შეფასების შედეგების საფუძველზე:

  • სამკურნალო იმარჯვებს -- შემოთავაზებული ცვლილება ნაგულისხმევ კონფიგურაციად დაწინაურდება
  • საკონტროლო იმარჯვებს -- შემოთავაზებული ცვლილება უარყოფილია; საკონტროლო რჩება
  • გადაუწყვეტელი -- ექსპერიმენტი გაგრძელდება ან ცვლილება გადაიდება

კონფიგურაცია

toml
[self_evolution.experiments]
enabled = true
default_duration_hours = 168       # ნაგულისხმევი 1 კვირა
min_sample_size = 100              # მინიმალური სესიები ვარიანტზე
traffic_split = 0.5                # 50/50 გაყოფა საკონტროლოსა და სამკურნალოს შორის
confidence_level = 0.95            # 95% სტატისტიკური სარწმუნოობა სავალდებულო
min_effect_size = 0.02             # მინიმუმ 2% გაუმჯობესება მისაღებად

[self_evolution.experiments.auto_converge]
enabled = true
check_interval_hours = 24          # შედეგების შეფასება ყოველ 24 საათში
max_duration_hours = 720           # იძულებითი კონვერგენცია 30 დღის შემდეგ

კონფიგურაციის მითითება

ველიტიპინაგულისხმევიაღწერა
enabledbooltrueექსპერიმენტის სისტემის ჩართვა ან გამორთვა
default_duration_hoursu64168ნაგულისხმევი ექსპერიმენტის ხანგრძლივობა საათებში (1 კვირა)
min_sample_sizeusize100მინიმალური სესიები ვარიანტზე შეფასებამდე
traffic_splitf640.5სამკურნალო ვარიანტზე მინიჭებული სესიების წილი (0.0--1.0)
confidence_levelf640.95სავალდებულო სტატისტიკური სარწმუნოობის დონე
min_effect_sizef640.02ვარგისიანობის მინიმალური გაუმჯობესება (წილი) სამკურნალოს მისაღებად
auto_converge.enabledbooltrueავტომატური დაწინაურება/უარყოფა შედეგების დამაჯერებლობისას
auto_converge.check_interval_hoursu6424ექსპერიმენტის შედეგების შემოწმების სიხშირე
auto_converge.max_duration_hoursu64720იძულებითი კონვერგენცია ამ ხანგრძლივობის შემდეგ (ნაგულისხმევი 30 დღე)

ექსპერიმენტის ჩანაწერის სტრუქტურა

ყოველი ექსპერიმენტი სტრუქტურირებულ ჩანაწერად თვალყურს ედევნება:

ველიტიპიაღწერა
experiment_idStringუნიკალური იდენტიფიკატორი (UUIDv7)
decision_idStringკავშირი საწყის გადაწყვეტილებასთან
layerLayerევოლუციის ფენა: L1, L2 ან L3
statusStatusrunning, evaluating, converged, cancelled
created_atDateTime<Utc>ექსპერიმენტის შექმნის დრო
converged_atOption<DateTime<Utc>>ექსპერიმენტის დასრულების დრო
controlVariantსაკონტროლო ვარიანტის აღწერა
treatmentVariantსამკურნალო ვარიანტის აღწერა
control_sessionsusizeსაკონტროლოზე მინიჭებული სესიების რაოდენობა
treatment_sessionsusizeსამკურნალოზე მინიჭებული სესიების რაოდენობა
control_fitnessFitnessScoreსაკონტროლო ვარიანტის აგრეგირებული ვარგისიანობა
treatment_fitnessFitnessScoreსამკურნალო ვარიანტის აგრეგირებული ვარგისიანობა
p_valueOption<f64>სტატისტიკური მნიშვნელოვნება (ნაკლები = უფრო მნიშვნელოვანი)
winnerOption<String>"control", "treatment" ან null გადაუწყვეტელის შემთხვევაში

ვარგისიანობის შეფასება

ვარგისიანობის ქულირება აგენტის წარმადობას მრავალ განზომილებაში რაოდენობრივად აფასებს. კომპოზიტური ვარგისიანობის ქულა ექსპერიმენტის ვარიანტების შესადარებლად და ევოლუციის პროგრესის დროში თვალყურისდევნებისთვის გამოიყენება.

ვარგისიანობის განზომილებები

განზომილებაწონააღწერაროგორ იზომება
response_relevance0.30რამდენად რელევანტურია აგენტის პასუხები მომხმარებლის შეკითხვებისთვისLLM-მოსამართლის ქულირება
task_completion0.25წარმატებით დასრულებული ამოცანების წილიინსტრუმენტის გამოძახების წარმატების მაჩვენებელი
response_latency0.15დრო მომხმარებლის შეტყობინებიდან პირველ პასუხის ტოკენამდეპერცენტილებზე დაფუძნებული (p50, p95)
token_efficiency0.10ტოკენები წარმატებულ ამოცანაზენაკლები უკეთესია
memory_precision0.10გახსენებული მეხსიერების რელევანტურობაგახსენების რელევანტურობის ქულირება
user_satisfaction0.10მომხმარებლის ცალსახა უკუკავშირის სიგნალებიმომწონს/არ მომწონს, კორექციები

კომპოზიტური ქულა

კომპოზიტური ვარგისიანობის ქულა შეწონილი ჯამია:

fitness = sum(dimension_score * dimension_weight)

ყოველი განზომილება შეწონვამდე 0.0--1.0 დიაპაზონში ნორმალიზდება. კომპოზიტური ქულაც 0.0--1.0 დიაპაზონშია, სადაც მაღალი უკეთესია.

ვარგისიანობის კონფიგურაცია

toml
[self_evolution.fitness]
evaluation_window_hours = 24       # მეტრიკების აგრეგაცია ამ ფანჯარაში
min_sessions_for_score = 10        # მინიმუმ 10 სესია ვალიდური ქულისთვის

[self_evolution.fitness.weights]
response_relevance = 0.30
task_completion = 0.25
response_latency = 0.15
token_efficiency = 0.10
memory_precision = 0.10
user_satisfaction = 0.10

[self_evolution.fitness.thresholds]
minimum_acceptable = 0.50          # ამაზე ქვემოთ ვარგისიანობა გაფრთხილებას იწვევს
regression_delta = 0.05            # ვარგისიანობის 5%-ზე მეტი ვარდნა უკუქცევას იწვევს

ვარგისიანობის კონფიგურაციის მითითება

ველიტიპინაგულისხმევიაღწერა
evaluation_window_hoursu6424ვარგისიანობის მეტრიკების აგრეგაციის დროის ფანჯარა
min_sessions_for_scoreusize10ვალიდური ქულის გამოსათვლელად საჭირო მინიმალური სესიები
weights.*f64(იხ. ზემოთ ცხრილი)ვარგისიანობის ყოველი განზომილების წონა (ჯამი 1.0 უნდა იყოს)
thresholds.minimum_acceptablef640.50დაბალი ვარგისიანობის გაფრთხილების ზღურბლი
thresholds.regression_deltaf640.05ვარგისიანობის მაქსიმალური ვარდნა ავტომატური უკუქცევამდე

CLI ბრძანებები

bash
# აქტიური ექსპერიმენტების ჩამონათვალი
prx evolution experiments --status running

# კონკრეტული ექსპერიმენტის ნახვა
prx evolution experiments --id <experiment_id>

# ექსპერიმენტის შედეგების ნახვა ვარგისიანობის დაშლით
prx evolution experiments --id <experiment_id> --details

# მიმდინარე ექსპერიმენტის გაუქმება (საკონტროლოზე დაბრუნება)
prx evolution experiments cancel <experiment_id>

# მიმდინარე ვარგისიანობის ქულის ნახვა
prx evolution fitness

# ვარგისიანობის ისტორიის ნახვა დროში
prx evolution fitness --history --last 30d

# ვარგისიანობის დაშლის ნახვა განზომილებების მიხედვით
prx evolution fitness --breakdown

ვარგისიანობის გამოტანის მაგალითი

Current Fitness Score: 0.74

Dimension            Score   Weight  Contribution
response_relevance   0.82    0.30    0.246
task_completion      0.78    0.25    0.195
response_latency     0.69    0.15    0.104
token_efficiency     0.65    0.10    0.065
memory_precision     0.71    0.10    0.071
user_satisfaction    0.60    0.10    0.060

Trend (last 7 days): +0.03 (improving)

ექსპერიმენტის მაგალითები

L2 პრომპტის ოპტიმიზაცია

ტიპიური L2 ექსპერიმენტი სისტემის პრომპტის ცვლილებას ტესტავს:

  • საკონტროლო: მიმდინარე სისტემის პრომპტი (320 ტოკენი)
  • სამკურნალო: დახვეწილი სისტემის პრომპტი (272 ტოკენი, 15%-ით მოკლე)
  • ჰიპოთეზა: მოკლე პრომპტი კონტექსტის ფანჯარას ათავისუფლებს, პასუხის რელევანტურობას აუმჯობესებს
  • ხანგრძლივობა: 7 დღე, 100 სესია ვარიანტზე
  • შედეგი: სამკურნალოს ვარგისიანობა 0.75 vs საკონტროლოს 0.72 (p = 0.03), სამკურნალო დაწინაურდა

L3 სტრატეგიის ცვლილება

L3 ექსპერიმენტი მარშრუტიზაციის პოლიტიკის ცვლილებას ტესტავს:

  • საკონტროლო: ყველა კოდირების ამოცანის Claude Opus-ზე მარშრუტირება
  • სამკურნალო: მარტივი კოდირების ამოცანების Claude Sonnet-ზე, რთულის Opus-ზე მარშრუტირება
  • ჰიპოთეზა: ხარჯ-ეფექტური მარშრუტირება ხარისხის დაკარგვის გარეშე
  • ხანგრძლივობა: 14 დღე, 200 სესია ვარიანტზე
  • შედეგი: სამკურნალოს ვარგისიანობა 0.73 vs საკონტროლოს 0.74 (p = 0.42), გადაუწყვეტელი -- ექსპერიმენტი გაგრძელდა

სტატისტიკური მეთოდები

ექსპერიმენტის სისტემა შემდეგ სტატისტიკურ მეთოდებს იყენებს:

  • ორნიმუშიანი t-ტესტი ვარიანტებს შორის ვარგისიანობის საშუალო ქულების შესადარებლად
  • Mann-Whitney U ტესტი არაპარამეტრულ ალტერნატივად, როდესაც ვარგისიანობის განაწილებები ასიმეტრიულია
  • Bonferroni კორექცია ვარგისიანობის რამდენიმე განზომილების ერთდროული შედარებისას
  • თანმიმდევრული ანალიზი ალფა-დანახარჯით, რაც ადრეული შეჩერების საშუალებას იძლევა შედეგების აშკარა მნიშვნელოვნებისას

შეზღუდვები

  • ექსპერიმენტები საკმარის სესიების მოცულობას მოითხოვს; დაბალი ტრაფიკის განთავსებებში მნიშვნელოვნების მიღწევას კვირები სჭირდება
  • მომხმარებლის კმაყოფილების სიგნალები ცალსახა უკუკავშირზეა დამოკიდებული, რომელიც შეიძლება მწირი იყოს
  • პასუხის რელევანტურობის LLM-მოსამართლის ქულირება შეფასების პაიპლაინს შეყოვნებასა და ხარჯს ამატებს
  • ერთდროულად მხოლოდ ერთი ექსპერიმენტი შეიძლება გაიშვას ევოლუციის ფენაზე შერევის თავიდან ასაცილებლად
  • ვარგისიანობის ქულები კონკრეტულ განთავსებასთანაა მიბმული; ისინი სხვადასხვა PRX ინსტანციებს შორის შედარებადი არ არის

დაკავშირებული გვერდები

Released under the Apache-2.0 License.