ქვეაგენტები
PRX არ არის ერთნაკადიანი საუბრის აგენტი. ის ანაწილებს სამუშაოს ქვეაგენტების სტრუქტურირებული იერარქიის საშუალებით, თითოეულს აქვს განსხვავებული შესრულების მოდელი, სიცოცხლის გარანტიები და ზედამხედველობის დონეები.
სამსაფეხურიანი დელეგირება
Section titled “სამსაფეხურიანი დელეგირება”საფეხური 1: დელეგირება (სინქრონული)
Section titled “საფეხური 1: დელეგირება (სინქრონული)”delegate ბრძანება აგზავნის ამოცანას დასახელებულ აგენტთან და ელოდება შედეგს გაგრძელებამდე. ეს არის სინქრონული, ბლოკირებადი დელეგირება.
PRX მთავარი ──delegate("coder", ამოცანა)──→ აგენტი "coder" │ │ │ (დაბლოკილი, ელოდება) │ (მუშაობს...) │ │ ◀── შედეგი ─────────────────┘ძირითადი თვისებები:
- დასახელებული აგენტები — ყოველ აგენტს აქვს სახელი, სისტემის პრომპტი და არჩევითად გამოყოფილი მოდელი
- აგენტური რეჟიმი — დელეგირებული აგენტი უშვებს ინსტრუმენტების სრულ ციკლს (დაკვირვება, ფიქრი, მოქმედება, გამეორება) ამოცანის დასრულებამდე
- სიღრმის კონტროლი — დელეგირების სიღრმე შეზღუდულია (ნაგულისხმევი: 3 დონე) უსასრულო რეკურსიის თავიდან ასაცილებლად. აგენტ A-ს შეუძლია დელეგირება აგენტ B-ზე, ვინც შეუძლია დელეგირება აგენტ C-ზე, მაგრამ C ვეღარ შეძლებს დელეგირებას
- კონტექსტის იზოლაცია — ყოველ დელეგირებულ აგენტს აქვს საკუთარი საუბრის კონტექსტი; ის ვერ ხედავს მშობლის სრულ ისტორიას, მხოლოდ ამოცანის აღწერას
[agents.coder]system_prompt = "You are a coding agent. Write clean, tested code."model = "anthropic/claude-sonnet-4-20250514"tools = ["read_file", "write_file", "bash", "grep"]max_depth = 3საფეხური 2: სესიის გაშვება (ასინქრონული Fire-and-Forget)
Section titled “საფეხური 2: სესიის გაშვება (ასინქრონული Fire-and-Forget)”sessions_spawn ბრძანება უშვებს აგენტს ასინქრონულად. მშობელი არ ელოდება — ის მყისიერად იღებს გაშვების ID-ს და აგრძელებს დამუშავებას.
PRX მთავარი ──sessions_spawn(ამოცანა)──→ აბრუნებს run_id="abc123" │ │ │ (აგრძელებს მუშაობას) │ გაშვებული სესია (მუშაობს დამოუკიდებლად) │ │ │ └──→ დასრულებისას: ავტო-გამოცხადება შედეგისძირითადი თვისებები:
- Fire-and-forget — გამომძახებელი იღებს გაშვების ID-ს და გრძელდება
- ავტო-გამოცხადება — გაშვებული სესია დასრულებისას გამოაცხადებს შედეგს თავდაპირველ არხში
- მართვა — მშობელს (ან მომხმარებელს) შეუძლია დამატებითი ინსტრუქციების გაგზავნა მიმდინარე სესიაზე მისი გაშვების ID-ით
- შეწყვეტა — მიმდინარე სესია შეიძლება შეწყდეს მისი გაშვების ID-ით
ეს სასარგებლოა ხანგრძლივი ამოცანებისთვის: „წადი გამოიკვლიე ეს თემა და შეატყობინე როცა დაასრულებ” სანამ მთავარი აგენტი აგრძელებს სხვა კითხვებზე პასუხის გაცემას.
საფეხური 3: ქვეაგენტების მართვა
Section titled “საფეხური 3: ქვეაგენტების მართვა”მართვის ბრძანებები მიმდინარე ქვეაგენტების ინსპექციისა და კონტროლისთვის:
| ბრძანება | აღწერა |
|---|---|
subagents list | ყველა აქტიური ქვეაგენტის სესიის ჩამოთვლა მათი გაშვების ID-ებით, სტატუსით და გასული დროით |
subagents kill <run_id> | მიმდინარე ქვეაგენტის სესიის შეწყვეტა |
subagents steer <run_id> <ინსტრუქცია> | დამატებითი ინსტრუქციის გაგზავნა მიმდინარე სესიაზე, მისი ქცევის გადამისამართება |
ეს ოპერატორებს აძლევს ხილვადობასა და კონტროლს ფონში მიმდინარე ავტონომიურ სამუშაოზე.
MCP კლიენტი
Section titled “MCP კლიენტი”PRX მოიცავს ჩაშენებულ MCP (Model Context Protocol) კლიენტს გარე MCP სერვერებთან დასაკავშირებლად და მათი ინსტრუმენტების გამოსაყენებლად.
[mcp_servers.memory]transport = "http"url = "http://localhost:8082/mcp"
[mcp_servers.filesystem]transport = "stdio"command = "npx"args = ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]მხარდაჭერილი ტრანსპორტები:
| ტრანსპორტი | აღწერა |
|---|---|
| HTTP | MCP სერვერთან დაკავშირება HTTP/SSE-ით |
| stdio | ქვეპროცესის გაშვება და კომუნიკაცია stdin/stdout-ით |
როცა MCP სერვერი კონფიგურირებულია, მისი ინსტრუმენტები ხელმისაწვდომი ხდება PRX-ისა და ყველა ქვეაგენტისთვის. ინსტრუმენტების გამოძახებები მარშრუტიზდება MCP კლიენტის საშუალებით გამჭვირვალედ — LLM ხედავს მათ როგორც ნეიტივ ინსტრუმენტებს.
ასე უკავშირდება PRX:
- prx-memory-ს მუდმივი ცოდნის შენახვისა და მოძიებისთვის
- OpenPR-ს პროექტების მართვის ოპერაციებისთვის (ამოცანების შექმნა, სტატუსის განახლება)
- ფაილური სისტემის სერვერებს სენდბოქსირებული ფაილზე წვდომისთვის
- ნებისმიერ მესამე მხარის MCP-თავსებადი სერვერს
დისტანციური კვანძები
Section titled “დისტანციური კვანძები”PRX მხარს უჭერს განაწილებულ შესრულებას დისტანციური კვანძების (prx-node) საშუალებით, რაც საშუალებას აძლევს სამუშაოს დელეგირებას სხვა მანქანებზე.
არქიტექტურა
Section titled “არქიტექტურა”PRX დემონი (ცენტრალური) │ ├── H2 ტრანსპორტი ──→ prx-node (სერვერი A) ├── H2 ტრანსპორტი ──→ prx-node (ლეპტოპი B) └── H2 ტრანსპორტი ──→ prx-node (GPU სერვერი C)მოწყობილობის დაწყვილება
Section titled “მოწყობილობის დაწყვილება”დისტანციური კვანძები ავტორიზდებიან დაწყვილების პროტოკოლით:
- დისტანციური კვანძი გენერირებს დაწყვილების კოდს
- ოპერატორი შეიყვანს დაწყვილების კოდს ცენტრალურ PRX ინსტანციაზე
- საერთო საიდუმლო დგინდება მომავალი კომუნიკაციისთვის
- ყველა შემდგომი ტრაფიკი დაშიფრულია H2 (HTTP/2) საშუალებით
გამოყენების შემთხვევები
Section titled “გამოყენების შემთხვევები”- GPU-ს გადატვირთვა — ინფერენსის მარშრუტიზაცია GPU-იანი მანქანისკენ, რომელზეც Ollama ან vLLM მუშაობს
- პლატფორმის სპეციფიკური ამოცანები — macOS ამოცანების დელეგირება Mac კვანძზე, Windows ამოცანებისა — Windows კვანძზე
- გეოგრაფიული განაწილება — კვანძების გაშვება სხვადასხვა რეგიონში ლოკალურ სერვისებთან დაყოვნების შესამცირებლად
- იზოლაცია — არასანდო ინსტრუმენტების შესრულება გამოყოფილ კვანძზე შეზღუდული წვდომით
[remote_nodes.gpu_server]address = "192.168.1.100:9090"paired = truecapabilities = ["gpu", "ollama"]ქვეაგენტები შეიძლება ექსპლიციტურად მარშრუტიზდეს დისტანციურ კვანძებზე, ან როუტერმა შეიძლება გაითვალისწინოს კვანძის შესაძლებლობები დელეგირების გადაწყვეტილებების მიღებისას.