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

გადაწყვეტილების ჟურნალი

თვით-ევოლუციის ციკლის დროს მიღებული ყოველი გადაწყვეტილება სტრუქტურირებულ გადაწყვეტილების ჟურნალში აღირიცხება. ეს ჟურნალი სრულ აუდიტის კვალს უზრუნველყოფს იმის შესახებ, რა გადაწყვიტა ევოლუციის სისტემამ, რატომ გადაწყვიტა და რა შედეგი მოჰყვა -- რაც შემდგომ ანალიზს, გამართვასა და უსაფრთხო უკუქცევას შესაძლებელს ხდის.

მიმოხილვა

გადაწყვეტილების ჟურნალი ევოლუციის გადაწყვეტილებების სრულ სიცოცხლის ციკლს იჭერს:

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

უსაფრთხოების აუდიტის ჟურნალისგან (რომელიც ყველა უსაფრთხოების მოვლენას აღრიცხავს) განსხვავებით, გადაწყვეტილების ჟურნალი კონკრეტულად თვით-ევოლუციის სისტემის მსჯელობის პროცესზეა ფოკუსირებული.

გადაწყვეტილების ჩანაწერის სტრუქტურა

ყოველი გადაწყვეტილება სტრუქტურირებულ ჩანაწერად ინახება:

ველიტიპიაღწერა
decision_idStringუნიკალური იდენტიფიკატორი (UUIDv7, დროით დალაგებული)
cycle_idStringევოლუციის ციკლი, რომელმაც ეს გადაწყვეტილება წარმოქმნა
layerLayerევოლუციის ფენა: L1 (მეხსიერება), L2 (პრომპტი) ან L3 (სტრატეგია)
timestampDateTime<Utc>გადაწყვეტილების ჩაწერის დრო
proposalProposalშემოთავაზებული ცვლილება (ტიპი, აღწერა, პარამეტრები)
rationaleStringახსნა, რატომ იქნა ეს ცვლილება შემოთავაზებული
data_pointsusizeმონაცემთა ნიმუშების რაოდენობა, რომლებმაც გადაწყვეტილება წარმართა
fitness_beforef64ვარგისიანობის ქულა ცვლილებამდე
fitness_afterOption<f64>ვარგისიანობის ქულა ცვლილების შემდეგ (შესრულების შემდეგ ივსება)
verdictVerdictapproved, rejected, deferred ან auto_approved
verdict_reasonStringრატომ იქნა მიღებული ეს განაჩენი (მაგ., უსაფრთხოების შემოწმების შედეგი)
executedboolცვლილება რეალურად გამოყენებულ იქნა თუ არა
rollback_idOption<String>უკუქცევის სნეპშოტის მითითება, თუ შეიქმნა
outcomeOption<Outcome>შესრულების შემდგომი შედეგი: improved, neutral, regressed ან rolled_back

განაჩენის ტიპები

განაჩენიაღწერაგამომწვევი
auto_approvedავტომატურად დამტკიცებული პაიპლაინის მიერL1 ცვლილებები რისკის ქულით ზღურბლზე ქვემოთ
approvedდამტკიცებული შეფასების შემდეგL2/L3 ცვლილებები, რომლებიც უსაფრთხოების შემოწმებებს გაივლიან
rejectedუარყოფილი უსაფრთხოების პაიპლაინის მიერწარუმატებელი საღი აზრის შემოწმებები, ზედმეტად მაღალი რისკი ან კონფლიქტების აღმოჩენა
deferredგადავადებული შემდგომი შეფასებისთვისარასაკმარისი მონაცემები ან სისტემის ჯანმრთელობის პრობლემები

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

toml
[self_evolution.decision_log]
enabled = true
storage = "file"                # "file" ან "database"
path = "~/.local/share/openprx/decisions/"
format = "jsonl"                # "jsonl" ან "json" (ფორმატირებული)
retention_days = 180            # 180 დღეზე ძველი ჩანაწერების ავტო-წაშლა
max_entries = 10000             # მაქსიმალური ჩანაწერები როტაციამდე

[self_evolution.decision_log.database]
backend = "sqlite"
path = "~/.local/share/openprx/decisions.db"

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

ველიტიპინაგულისხმევიაღწერა
enabledbooltrueგადაწყვეტილებების ჟურნალირების ჩართვა ან გამორთვა
storageString"file"შენახვის ბექენდი: "file" ან "database"
pathString"~/.local/share/openprx/decisions/"ჟურნალის ფაილების დირექტორია (ფაილის რეჟიმი)
formatString"jsonl"ფაილის ფორმატი: "jsonl" (კომპაქტური) ან "json" (ადამიანისთვის წაკითხვადი)
retention_daysu64180N დღეზე ძველი ჩანაწერების ავტო-წაშლა. 0 = სამუდამოდ შენახვა
max_entriesusize10000მაქსიმალური ჩანაწერები ფაილზე როტაციამდე
database.backendString"sqlite"მონაცემთა ბაზის ბექენდი: "sqlite" ან "postgres"
database.pathString""მონაცემთა ბაზის ბილიკი (SQLite) ან კავშირის URL (PostgreSQL)

გადაწყვეტილების ჩანაწერის მაგალითი

json
{
  "decision_id": "019520b0-5678-7000-8000-000000000042",
  "cycle_id": "cycle_2026-03-21T03:00:00Z",
  "layer": "L2",
  "timestamp": "2026-03-21T03:05:12.345Z",
  "proposal": {
    "type": "prompt_refinement",
    "description": "Shorten system prompt preamble by 15% to reduce token usage",
    "parameters": {
      "target": "system_prompt.preamble",
      "old_token_count": 320,
      "new_token_count": 272
    }
  },
  "rationale": "Analysis of 500 sessions shows the preamble consumes 8% of context window with low recall contribution. A/B test variant with shortened preamble showed 3% improvement in response relevance.",
  "data_points": 500,
  "fitness_before": 0.72,
  "fitness_after": 0.75,
  "verdict": "approved",
  "verdict_reason": "Passed all safety checks. Risk score 0.12 (threshold: 0.5). No conflicts with existing policies.",
  "executed": true,
  "rollback_id": "snap_019520b0-5678-7000-8000-000000000043",
  "outcome": "improved"
}

გადაწყვეტილების ჟურნალის მოთხოვნები

CLI ბრძანებები

bash
# ბოლო გადაწყვეტილებების ნახვა
prx evolution decisions --tail 20

# ფენის მიხედვით ფილტრაცია
prx evolution decisions --layer L2 --last 30d

# განაჩენის მიხედვით ფილტრაცია
prx evolution decisions --verdict rejected --last 7d

# შედეგის მიხედვით ფილტრაცია
prx evolution decisions --outcome regressed

# კონკრეტული გადაწყვეტილების სრული დეტალებით ნახვა
prx evolution decisions --id 019520b0-5678-7000-8000-000000000042

# გადაწყვეტილებების ექსპორტი ანალიზისთვის
prx evolution decisions --last 90d --format json > decisions_q1.json

პროგრამული წვდომა

გადაწყვეტილების ჟურნალი გეითვეის API-ით ხელმისაწვდომია:

bash
# ბოლო გადაწყვეტილებების ჩამონათვალი
curl -H "Authorization: Bearer <token>" \
  http://localhost:3120/api/v1/evolution/decisions?limit=20

# კონკრეტული გადაწყვეტილების მიღება
curl -H "Authorization: Bearer <token>" \
  http://localhost:3120/api/v1/evolution/decisions/019520b0-5678-7000-8000-000000000042

გადაწყვეტილებების შაბლონების ანალიზი

გადაწყვეტილების ჟურნალი ანალიზის რამდენიმე ტიპს შესაძლებელს ხდის:

დამტკიცების მაჩვენებელი ფენის მიხედვით

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

bash
prx evolution stats --last 90d

გამოტანის მაგალითი:

Layer   Proposed  Approved  Rejected  Deferred  Approval Rate
L1      142       138       2         2         97.2%
L2      28        19        6         3         67.9%
L3      5         2         3         0         40.0%

რეგრესიის აღმოჩენა

იდენტიფიცირეთ გადაწყვეტილებები, რომლებმაც რეგრესია გამოიწვია:

bash
prx evolution decisions --outcome regressed --last 90d

ყოველი რეგრესიული გადაწყვეტილება შეიცავს fitness_before და fitness_after მნიშვნელობებს, რაც გავლენის გაზომვასა და ცვლილებასთან კორელაციას მარტივს ხდის.

უკუქცევის თვალთვალი

გადაწყვეტილების უკუქცევისას ჟურნალი აღრიცხავს:

  1. თავდაპირველ გადაწყვეტილებას outcome = "rolled_back"-ით
  2. ახალ გადაწყვეტილების ჩანაწერს თავად უკუქცევის მოქმედებისთვის
  3. rollback_id აბრუნებს აღდგენილ სნეპშოტთან კავშირს

ეს ჯაჭვი სრული სიცოცხლის ციკლის თვალთვალის საშუალებას გაძლევთ: წინადადება, შესრულება, რეგრესიის აღმოჩენა და უკუქცევა.

უკუქცევა გადაწყვეტილების ჟურნალიდან

კონკრეტული გადაწყვეტილების ხელით უკუქცევისთვის:

bash
# გადაწყვეტილებისა და მისი უკუქცევის სნეპშოტის ნახვა
prx evolution decisions --id <decision_id>

# სნეპშოტის აღდგენა
prx evolution rollback --snapshot <rollback_id>

უკუქცევის ოპერაცია ქმნის ახალ გადაწყვეტილების ჩანაწერს, რომელიც ხელით ჩარევას დოკუმენტირებს.

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

გადაწყვეტილების ჟურნალი უსაფრთხოების პაიპლაინთანაა ინტეგრირებული:

  • შესრულებამდე -- უსაფრთხოების პაიპლაინი კითხულობს წარსულ გადაწყვეტილებებს შაბლონების აღმოსაჩენად (მაგ., განმეორებითი წარუმატებლობები იმავე სფეროში)
  • შესრულების შემდეგ -- რეგრესიის სიგნალები ავტომატურ უკუქცევას იწვევს, რაც ჟურნალში აღირიცხება
  • სიჩქარის შეზღუდვა -- პაიპლაინი ჟურნალს ამოწმებს დროის ფანჯარაზე მაქსიმალური ცვლილებების აღსრულებისთვის

შეზღუდვები

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

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

Released under the Apache-2.0 License.