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

სესიები და აგენტები

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

სესიების ინსტრუმენტები (sessions_spawn, sessions_send, sessions_list, sessions_history, session_status, subagents) ქვე-აგენტის სესიების სასიცოცხლო ციკლს მართავს. აგენტის დელეგაციის ინსტრუმენტები (delegate, agents_list) ამოცანების მარშრუტიზაციას უზრუნველყოფს დასახელებულ აგენტებზე საკუთარი პროვაიდერით, მოდელითა და ინსტრუმენტების კონფიგურაციით.

სესიების ინსტრუმენტები all_tools() რეესტრში რეგისტრირებულია და ყოველთვის ხელმისაწვდომია. delegate და agents_list ინსტრუმენტები პირობითად რეგისტრირდება მხოლოდ კონფიგურაციაში აგენტის განსაზღვრებების არსებობისას.

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

ქვე-აგენტის ერთდროულობა

toml
[agent.subagents]
max_concurrent = 4          # მაქსიმალური ერთდროული ქვე-აგენტები
max_depth = 3               # მაქსიმალური ჩადგმის სიღრმე (ქვე-აგენტების მიერ ქვე-აგენტების გაშვება)
max_total_spawns = 20       # გაშვების მთლიანი ბიუჯეტი ძირეული სესიისთვის
child_timeout_secs = 300    # ინდივიდუალური შვილი აგენტის შესრულების დროის ამოწურვა

დელეგატი აგენტების განსაზღვრებები

დასახელებული აგენტები [agents.*] სექციებში განისაზღვრება:

toml
[agents.researcher]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
system_prompt = "You are a research assistant. Find accurate, up-to-date information."
agentic = true
max_iterations = 10
allowed_tools = ["web_search_tool", "web_fetch", "file_read", "memory_store"]

[agents.coder]
provider = "openai"
model = "gpt-4o"
system_prompt = "You are a code generation specialist. Write clean, well-tested code."
agentic = true
max_iterations = 15
allowed_tools = ["shell", "file_read", "file_write", "git_operations"]

[agents.reviewer]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
system_prompt = "You are a code reviewer. Focus on correctness, security, and style."
agentic = true
max_iterations = 5
allowed_tools = ["file_read", "shell"]

ინსტრუმენტების მითითება

sessions_spawn

ასინქრონული ქვე-აგენტის გაშვება, რომელიც ფონში მუშაობს. დაუყოვნებლივ აბრუნებს შესრულების ID-ს. მშობელი ავტომატურად ეცნობება შვილის დასრულებისას.

json
{
  "name": "sessions_spawn",
  "arguments": {
    "task": "Research the latest Rust async runtime benchmarks and summarize the findings.",
    "action": "spawn"
  }
}
პარამეტრიტიპისავალდებულონაგულისხმევიაღწერა
taskstringდიახ--ქვე-აგენტის ამოცანის აღწერა / სისტემური პრომპტი
actionstringარა"spawn"მოქმედება: "spawn", "history" (ჟურნალის ნახვა) ან "steer" (გადამისამართება)
allowed_toolsarrayარამშობლის ინსტრუმენტებიქვე-აგენტისთვის ხელმისაწვდომი ინსტრუმენტების ქვესიმრავლე

sessions_send

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

json
{
  "name": "sessions_send",
  "arguments": {
    "session_id": "run_abc123",
    "message": "Focus on performance comparisons, not API differences."
  }
}
პარამეტრიტიპისავალდებულონაგულისხმევიაღწერა
session_idstringდიახ--სამიზნე ქვე-აგენტის შესრულების ID
messagestringდიახ--ქვე-აგენტისთვის გასაგზავნი შეტყობინება

sessions_list

ყველა აქტიური ქვე-აგენტის სესიის სია მათი სტატუსით, ამოცანის აღწერითა და გასულ დროით.

json
{
  "name": "sessions_list",
  "arguments": {}
}

პარამეტრები არ არის საჭირო. აბრუნებს აქტიური სესიების სიას.

sessions_history

ქვე-აგენტის შესრულების საუბრის ჟურნალის ნახვა, ყველა ინსტრუმენტის გამოძახებისა და LLM პასუხის ჩათვლით.

json
{
  "name": "sessions_history",
  "arguments": {
    "session_id": "run_abc123"
  }
}
პარამეტრიტიპისავალდებულონაგულისხმევიაღწერა
session_idstringდიახ--შესრულების ID ისტორიის მისაღებად

session_status

კონკრეტული სესიის სტატუსის შემოწმება (მიმდინარე, დასრულებული, მარცხი, დროის ამოწურვა).

json
{
  "name": "session_status",
  "arguments": {
    "session_id": "run_abc123"
  }
}
პარამეტრიტიპისავალდებულონაგულისხმევიაღწერა
session_idstringდიახ--შესამოწმებელი შესრულების ID

subagents

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

json
{
  "name": "subagents",
  "arguments": {
    "action": "list"
  }
}
პარამეტრიტიპისავალდებულონაგულისხმევიაღწერა
actionstringდიახ--მოქმედება: "list", "stop", "inspect"
session_idstringპირობითი--სავალდებულოა "stop" და "inspect" მოქმედებებისთვის

agents_list

ყველა კონფიგურირებული დელეგატი აგენტის სია მათი მოდელებით, შესაძლებლობებითა და ნებადართული ინსტრუმენტებით. რეგისტრირებულია მხოლოდ [agents.*] სექციების განსაზღვრისას.

json
{
  "name": "agents_list",
  "arguments": {}
}

პარამეტრები არ არის საჭირო. აბრუნებს კონფიგურაციიდან აგენტის განსაზღვრებებს.

delegate

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

json
{
  "name": "delegate",
  "arguments": {
    "agent": "researcher",
    "task": "Find the top 5 Rust web frameworks by GitHub stars in 2026."
  }
}
პარამეტრიტიპისავალდებულონაგულისხმევიაღწერა
agentstringდიახ--კონფიგურირებული აგენტის სახელი ([agents.*]-დან)
taskstringდიახ--დელეგატი აგენტის ამოცანის აღწერა

გამოყენების შაბლონები

პარალელური კვლევა

მრავალი ქვე-აგენტის ერთდროულად გაშვება სხვადასხვა თემის კვლევისთვის:

მშობელი: მჭირდება 3 მონაცემთა ბაზის ძრავის შედარება ჩვენი პროექტისთვის.

  [sessions_spawn] task="Research PostgreSQL strengths, weaknesses, and use cases"
  [sessions_spawn] task="Research SQLite strengths, weaknesses, and use cases"
  [sessions_spawn] task="Research DuckDB strengths, weaknesses, and use cases"

  [ელოდება სამივეს დასრულებას]
  [შედეგებს შედარების ცხრილად აერთიანებს]

დელეგირებული კოდის განხილვა

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

მშობელი: განიხილეთ ეს pull request უსაფრთხოების პრობლემებზე.

  [delegate] agent="reviewer", task="Review the diff in /tmp/pr-42.patch for security vulnerabilities"

  [reviewer აგენტი file_read და shell ინსტრუმენტებით მუშაობს]
  [აბრუნებს დეტალურ უსაფრთხოების განხილვას]

იერარქიული ამოცანების დეკომპოზიცია

ქვე-აგენტებს შეუძლიათ საკუთარი ქვე-აგენტების გაშვება (max_depth-მდე):

მშობელი აგენტი
  ├── კვლევის აგენტი
  │     ├── ვებ ძიების ქვე-აგენტი
  │     └── დოკუმენტის ანალიზის ქვე-აგენტი
  ├── კოდის გენერაციის აგენტი
  └── ტესტირების აგენტი

უსაფრთხოება

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

PRX ქვე-აგენტების გაშვებაზე მკაცრ ლიმიტებს აღასრულებს რესურსების ამოწურვის თავიდან ასაცილებლად:

  • max_concurrent: ერთდროულად მიმდინარე ქვე-აგენტების შეზღუდვა (ნაგულისხმევი: 4)
  • max_depth: ჩადგმის სიღრმის შეზღუდვა (ნაგულისხმევი: 3). მაქსიმალური სიღრმისას sessions_spawn ინსტრუმენტი შვილის ხელმისაწვდომი ინსტრუმენტებიდან ამოიშლება.
  • max_total_spawns: გაშვებების მთლიანი რაოდენობის შეზღუდვა ძირეულ სესიაზე (ნაგულისხმევი: 20)
  • child_timeout_secs: დროის ამოწურვის გადამეტებული ქვე-აგენტების გაჩერება (ნაგულისხმევი: 300 წამი)

ინსტრუმენტების შეზღუდვები

ქვე-აგენტები მშობლის სენდბოქსის პოლიტიკას მემკვიდრეობით იღებს, მაგრამ შეზღუდული ინსტრუმენტების ნაკრები შეიძლება ჰქონდეთ:

json
{
  "name": "sessions_spawn",
  "arguments": {
    "task": "Search the web for information",
    "allowed_tools": ["web_search_tool", "web_fetch"]
  }
}

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

ავტორიზაციის იზოლაცია

დელეგატი აგენტებს მშობლისგან განსხვავებული პროვაიდერები და API გასაღებები შეუძლიათ გამოიყენონ:

toml
[agents.researcher]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
# იყენებს პროვაიდერის კონფიგურირებულ API გასაღებს

ეს საშუალებას იძლევა ამოცანების სხვადასხვა LLM პროვაიდერზე გადამისამართება ამოცანის მოთხოვნების მიხედვით, თითოეული პროვაიდერის ავტორიზაციის იზოლაციით.

პოლიტიკის ძრავი

სესიისა და აგენტის ინსტრუმენტები პოლიტიკის ძრავის ქვეშ მოქმედებს:

toml
[security.tool_policy.groups]
sessions = "allow"

[security.tool_policy.tools]
delegate = "supervised"    # დელეგირებისთვის დამტკიცების მოთხოვნა

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

Released under the Apache-2.0 License.