სესიები და აგენტები
PRX რვა ინსტრუმენტს გთავაზობთ მულტი-აგენტის ორკესტრაციისთვის, რომელიც მშობელ აგენტს შვილი აგენტების გაშვების, სპეციალიზებული აგენტებისთვის ამოცანების დელეგირებისა და ერთდროული სესიების მართვის საშუალებას აძლევს. ეს PRX-ის პარალელური ამოცანების დეკომპოზიციის არქიტექტურის საფუძველია, სადაც რთული ამოცანები ქვეამოცანებად იშლება და დამოუკიდებელი აგენტის ინსტანციები ამუშავებს.
სესიების ინსტრუმენტები (sessions_spawn, sessions_send, sessions_list, sessions_history, session_status, subagents) ქვე-აგენტის სესიების სასიცოცხლო ციკლს მართავს. აგენტის დელეგაციის ინსტრუმენტები (delegate, agents_list) ამოცანების მარშრუტიზაციას უზრუნველყოფს დასახელებულ აგენტებზე საკუთარი პროვაიდერით, მოდელითა და ინსტრუმენტების კონფიგურაციით.
სესიების ინსტრუმენტები all_tools() რეესტრში რეგისტრირებულია და ყოველთვის ხელმისაწვდომია. delegate და agents_list ინსტრუმენტები პირობითად რეგისტრირდება მხოლოდ კონფიგურაციაში აგენტის განსაზღვრებების არსებობისას.
კონფიგურაცია
ქვე-აგენტის ერთდროულობა
[agent.subagents]
max_concurrent = 4 # მაქსიმალური ერთდროული ქვე-აგენტები
max_depth = 3 # მაქსიმალური ჩადგმის სიღრმე (ქვე-აგენტების მიერ ქვე-აგენტების გაშვება)
max_total_spawns = 20 # გაშვების მთლიანი ბიუჯეტი ძირეული სესიისთვის
child_timeout_secs = 300 # ინდივიდუალური შვილი აგენტის შესრულების დროის ამოწურვადელეგატი აგენტების განსაზღვრებები
დასახელებული აგენტები [agents.*] სექციებში განისაზღვრება:
[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-ს. მშობელი ავტომატურად ეცნობება შვილის დასრულებისას.
{
"name": "sessions_spawn",
"arguments": {
"task": "Research the latest Rust async runtime benchmarks and summarize the findings.",
"action": "spawn"
}
}| პარამეტრი | ტიპი | სავალდებულო | ნაგულისხმევი | აღწერა |
|---|---|---|---|---|
task | string | დიახ | -- | ქვე-აგენტის ამოცანის აღწერა / სისტემური პრომპტი |
action | string | არა | "spawn" | მოქმედება: "spawn", "history" (ჟურნალის ნახვა) ან "steer" (გადამისამართება) |
allowed_tools | array | არა | მშობლის ინსტრუმენტები | ქვე-აგენტისთვის ხელმისაწვდომი ინსტრუმენტების ქვესიმრავლე |
sessions_send
მიმდინარე ქვე-აგენტის სესიაზე შეტყობინების გაგზავნა, რაც მშობელსა და შვილს შორის ინტერაქტიულ კომუნიკაციას უზრუნველყოფს.
{
"name": "sessions_send",
"arguments": {
"session_id": "run_abc123",
"message": "Focus on performance comparisons, not API differences."
}
}| პარამეტრი | ტიპი | სავალდებულო | ნაგულისხმევი | აღწერა |
|---|---|---|---|---|
session_id | string | დიახ | -- | სამიზნე ქვე-აგენტის შესრულების ID |
message | string | დიახ | -- | ქვე-აგენტისთვის გასაგზავნი შეტყობინება |
sessions_list
ყველა აქტიური ქვე-აგენტის სესიის სია მათი სტატუსით, ამოცანის აღწერითა და გასულ დროით.
{
"name": "sessions_list",
"arguments": {}
}პარამეტრები არ არის საჭირო. აბრუნებს აქტიური სესიების სიას.
sessions_history
ქვე-აგენტის შესრულების საუბრის ჟურნალის ნახვა, ყველა ინსტრუმენტის გამოძახებისა და LLM პასუხის ჩათვლით.
{
"name": "sessions_history",
"arguments": {
"session_id": "run_abc123"
}
}| პარამეტრი | ტიპი | სავალდებულო | ნაგულისხმევი | აღწერა |
|---|---|---|---|---|
session_id | string | დიახ | -- | შესრულების ID ისტორიის მისაღებად |
session_status
კონკრეტული სესიის სტატუსის შემოწმება (მიმდინარე, დასრულებული, მარცხი, დროის ამოწურვა).
{
"name": "session_status",
"arguments": {
"session_id": "run_abc123"
}
}| პარამეტრი | ტიპი | სავალდებულო | ნაგულისხმევი | აღწერა |
|---|---|---|---|---|
session_id | string | დიახ | -- | შესამოწმებელი შესრულების ID |
subagents
ქვე-აგენტების პულის მართვა -- მიმდინარე ქვე-აგენტების სიის ნახვა, შეჩერება ან შემოწმება.
{
"name": "subagents",
"arguments": {
"action": "list"
}
}| პარამეტრი | ტიპი | სავალდებულო | ნაგულისხმევი | აღწერა |
|---|---|---|---|---|
action | string | დიახ | -- | მოქმედება: "list", "stop", "inspect" |
session_id | string | პირობითი | -- | სავალდებულოა "stop" და "inspect" მოქმედებებისთვის |
agents_list
ყველა კონფიგურირებული დელეგატი აგენტის სია მათი მოდელებით, შესაძლებლობებითა და ნებადართული ინსტრუმენტებით. რეგისტრირებულია მხოლოდ [agents.*] სექციების განსაზღვრისას.
{
"name": "agents_list",
"arguments": {}
}პარამეტრები არ არის საჭირო. აბრუნებს კონფიგურაციიდან აგენტის განსაზღვრებებს.
delegate
ამოცანის დელეგირება დასახელებულ აგენტზე საკუთარი პროვაიდერით, მოდელითა და ინსტრუმენტების ნაკრებით. დელეგატი აგენტი იზოლირებულ აგენტურ ციკლს ასრულებს და შედეგს აბრუნებს.
{
"name": "delegate",
"arguments": {
"agent": "researcher",
"task": "Find the top 5 Rust web frameworks by GitHub stars in 2026."
}
}| პარამეტრი | ტიპი | სავალდებულო | ნაგულისხმევი | აღწერა |
|---|---|---|---|---|
agent | string | დიახ | -- | კონფიგურირებული აგენტის სახელი ([agents.*]-დან) |
task | string | დიახ | -- | დელეგატი აგენტის ამოცანის აღწერა |
გამოყენების შაბლონები
პარალელური კვლევა
მრავალი ქვე-აგენტის ერთდროულად გაშვება სხვადასხვა თემის კვლევისთვის:
მშობელი: მჭირდება 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 წამი)
ინსტრუმენტების შეზღუდვები
ქვე-აგენტები მშობლის სენდბოქსის პოლიტიკას მემკვიდრეობით იღებს, მაგრამ შეზღუდული ინსტრუმენტების ნაკრები შეიძლება ჰქონდეთ:
{
"name": "sessions_spawn",
"arguments": {
"task": "Search the web for information",
"allowed_tools": ["web_search_tool", "web_fetch"]
}
}დელეგატი აგენტებს ინსტრუმენტები ექსპლიციტურად აქვთ განსაზღვრული კონფიგურაციაში. მათ allowed_tools სიის მიღმა ინსტრუმენტებზე წვდომა არ შეუძლიათ.
ავტორიზაციის იზოლაცია
დელეგატი აგენტებს მშობლისგან განსხვავებული პროვაიდერები და API გასაღებები შეუძლიათ გამოიყენონ:
[agents.researcher]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
# იყენებს პროვაიდერის კონფიგურირებულ API გასაღებსეს საშუალებას იძლევა ამოცანების სხვადასხვა LLM პროვაიდერზე გადამისამართება ამოცანის მოთხოვნების მიხედვით, თითოეული პროვაიდერის ავტორიზაციის იზოლაციით.
პოლიტიკის ძრავი
სესიისა და აგენტის ინსტრუმენტები პოლიტიკის ძრავის ქვეშ მოქმედებს:
[security.tool_policy.groups]
sessions = "allow"
[security.tool_policy.tools]
delegate = "supervised" # დელეგირებისთვის დამტკიცების მოთხოვნადაკავშირებული გვერდები
- ქვე-აგენტები -- ქვე-აგენტის არქიტექტურა და გაშვების მოდელი
- აგენტის Runtime -- აგენტის შესრულების არქიტექტურა
- აგენტის ციკლი -- ბირთვული შესრულების ციკლი
- სესიის Worker -- სესიების პროცესის იზოლაცია
- კონფიგურაციის მითითება -- აგენტისა და ქვე-აგენტის პარამეტრები
- ინსტრუმენტების მიმოხილვა -- ყველა ინსტრუმენტი და რეესტრის სისტემა