Skip to content

Agent Teams

Triggerfish agents स्थायी सहयोगी agents की टीमें बना सकते हैं जो जटिल कार्यों पर एक साथ काम करती हैं। प्रत्येक टीम सदस्य को अपना session, भूमिका, वार्तालाप संदर्भ, और tools मिलते हैं। एक सदस्य को lead नामित किया जाता है और वह कार्य का समन्वय करता है।

Teams उन खुले कार्यों के लिए सर्वोत्तम हैं जो विशेष भूमिकाओं से समानांतर में लाभ उठाते हैं: अनुसंधान + विश्लेषण + लेखन, आर्किटेक्चर + कार्यान्वयन + समीक्षा, या कोई भी कार्य जहाँ विभिन्न दृष्टिकोणों को एक-दूसरे के काम पर पुनरावृत्ति करने की आवश्यकता होती है।

उपलब्धता

Agent Teams के लिए Triggerfish Gateway उपयोग करते समय Power plan ($149/माह) आवश्यक है। अपनी API keys चलाने वाले open source उपयोगकर्ताओं के पास agent teams तक पूर्ण पहुँच है -- प्रत्येक टीम सदस्य आपके कॉन्फ़िगर किए गए provider से inference उपभोग करता है।

Tools

team_create

Agents की एक स्थायी टीम बनाएँ जो किसी कार्य पर सहयोग करती है। सदस्य भूमिकाएँ, tools, और models परिभाषित करें। बिल्कुल एक सदस्य lead होना चाहिए।

ParameterTypeआवश्यकविवरण
namestringहाँमानव-पठनीय टीम नाम
taskstringहाँटीम का उद्देश्य (lead को प्रारंभिक निर्देशों के रूप में भेजा जाता है)
membersarrayहाँटीम सदस्य परिभाषाएँ (नीचे देखें)
idle_timeout_secondsnumberनहींप्रति-सदस्य निष्क्रियता timeout। डिफ़ॉल्ट: 300 (5 मिनट)
max_lifetime_secondsnumberनहींअधिकतम टीम जीवनकाल। डिफ़ॉल्ट: 3600 (1 घंटा)
classification_ceilingstringनहींटीम-व्यापी classification ceiling (जैसे CONFIDENTIAL)

सदस्य परिभाषा:

फ़ील्डTypeआवश्यकविवरण
rolestringहाँअद्वितीय भूमिका पहचानकर्ता (जैसे researcher, reviewer)
descriptionstringहाँयह सदस्य क्या करता है (system prompt में इंजेक्ट किया जाता है)
is_leadbooleanहाँक्या यह सदस्य टीम lead है
modelstringनहींइस सदस्य के लिए model override
classification_ceilingstringनहींप्रति-सदस्य classification ceiling
initial_taskstringनहींप्रारंभिक निर्देश (lead डिफ़ॉल्ट रूप से टीम task उपयोग करता है)

सत्यापन नियम:

  • टीम में बिल्कुल एक सदस्य is_lead: true के साथ होना चाहिए
  • सभी भूमिकाएँ अद्वितीय और गैर-रिक्त होनी चाहिए
  • सदस्य classification ceilings टीम ceiling से अधिक नहीं हो सकतीं
  • name और task गैर-रिक्त होने चाहिए

team_status

एक सक्रिय टीम की वर्तमान स्थिति जाँचें।

ParameterTypeआवश्यकविवरण
team_idstringहाँTeam ID

टीम की स्थिति, समग्र taint स्तर, और प्रति-सदस्य विवरण लौटाता है जिसमें प्रत्येक सदस्य का वर्तमान taint, स्थिति, और अंतिम गतिविधि timestamp शामिल है।

team_message

एक विशिष्ट टीम सदस्य को संदेश भेजें। अतिरिक्त संदर्भ प्रदान करने, कार्य को पुनर्निर्देशित करने, या प्रगति अपडेट माँगने के लिए उपयोगी।

ParameterTypeआवश्यकविवरण
team_idstringहाँTeam ID
rolestringनहींलक्ष्य सदस्य भूमिका (डिफ़ॉल्ट lead)
messagestringहाँसंदेश सामग्री

टीम running स्थिति में होनी चाहिए और लक्ष्य सदस्य active या idle होना चाहिए।

team_disband

एक टीम बंद करें और सभी सदस्य sessions समाप्त करें।

ParameterTypeआवश्यकविवरण
team_idstringहाँTeam ID
reasonstringनहींटीम क्यों भंग की जा रही है

केवल वह session जिसने टीम बनाई है या lead सदस्य ही टीम भंग कर सकता है।

Teams कैसे काम करती हैं

निर्माण

जब agent team_create कॉल करता है, Triggerfish:

  1. टीम परिभाषा को सत्यापित करता है (भूमिकाएँ, lead गिनती, classification ceilings)
  2. Orchestrator factory के माध्यम से प्रत्येक सदस्य के लिए एक अलग agent session बनाता है
  3. प्रत्येक सदस्य के system prompt में एक team roster prompt इंजेक्ट करता है, जो उनकी भूमिका, साथियों, और सहयोग निर्देशों का वर्णन करता है
  4. Lead को प्रारंभिक कार्य भेजता है (या प्रति सदस्य कस्टम initial_task)
  5. एक lifecycle monitor शुरू करता है जो हर 30 सेकंड में टीम स्वास्थ्य जाँचता है

प्रत्येक सदस्य session पूरी तरह अलग है अपने वार्तालाप संदर्भ, taint ट्रैकिंग, और tool पहुँच के साथ।

सहयोग

टीम सदस्य sessions_send का उपयोग करके एक-दूसरे से संवाद करते हैं। बनाने वाले agent को सदस्यों के बीच संदेश रिले करने की आवश्यकता नहीं है। विशिष्ट प्रवाह:

  1. Lead टीम उद्देश्य प्राप्त करता है
  2. Lead कार्य को विभाजित करता है और sessions_send के माध्यम से सदस्यों को असाइनमेंट भेजता है
  3. सदस्य स्वायत्त रूप से काम करते हैं, tools कॉल करते हैं और पुनरावृत्ति करते हैं
  4. सदस्य परिणाम lead को (या सीधे दूसरे सदस्य को) वापस भेजते हैं
  5. Lead परिणामों को संश्लेषित करता है और तय करता है कि कार्य कब पूरा है
  6. Lead टीम बंद करने के लिए team_disband कॉल करता है

टीम सदस्यों के बीच संदेश orchestrator के माध्यम से सीधे डिलीवर किए जाते हैं -- प्रत्येक संदेश प्राप्तकर्ता के session में एक पूर्ण agent turn ट्रिगर करता है।

स्थिति

किसी भी समय प्रगति जाँचने के लिए team_status उपयोग करें। प्रतिक्रिया में शामिल है:

  • टीम स्थिति: running, paused, completed, disbanded, या timed_out
  • समग्र taint: सभी सदस्यों में उच्चतम classification स्तर
  • प्रति-सदस्य विवरण: भूमिका, स्थिति (active, idle, completed, failed), वर्तमान taint स्तर, और अंतिम गतिविधि timestamp

भंग

Teams इनके द्वारा भंग की जा सकती हैं:

  • बनाने वाला session team_disband कॉल करता है
  • Lead सदस्य team_disband कॉल करता है
  • Lifecycle monitor जीवनकाल सीमा समाप्त होने के बाद स्वचालित रूप से भंग करता है
  • Lifecycle monitor यह पता लगाता है कि सभी सदस्य निष्क्रिय हैं

जब एक टीम भंग होती है, सभी सक्रिय सदस्य sessions समाप्त किए जाते हैं और संसाधन साफ़ किए जाते हैं।

टीम भूमिकाएँ

Lead

Lead सदस्य टीम का समन्वय करता है। बनाने पर:

  • टीम के task को प्रारंभिक निर्देशों के रूप में प्राप्त करता है (जब तक initial_task द्वारा ओवरराइड न किया जाए)
  • कार्य विभाजन, कार्य सौंपने, और उद्देश्य पूरा होने पर निर्णय लेने के लिए system prompt निर्देश प्राप्त करता है
  • टीम भंग करने के लिए अधिकृत है

प्रति टीम बिल्कुल एक lead होता है।

सदस्य

गैर-lead सदस्य विशेषज्ञ होते हैं। बनाने पर:

  • यदि प्रदान किया गया तो अपना initial_task प्राप्त करते हैं, अन्यथा lead द्वारा कार्य भेजे जाने तक निष्क्रिय रहते हैं
  • पूर्ण कार्य lead को या अगले उपयुक्त साथी को भेजने के लिए system prompt निर्देश प्राप्त करते हैं
  • टीम भंग नहीं कर सकते

Lifecycle निगरानी

Teams में स्वचालित lifecycle निगरानी होती है जो हर 30 सेकंड चलती है।

निष्क्रियता Timeout

प्रत्येक सदस्य का एक निष्क्रियता timeout होता है (डिफ़ॉल्ट: 5 मिनट)। जब कोई सदस्य निष्क्रिय होता है:

  1. पहली सीमा (idle_timeout_seconds): सदस्य को एक nudge संदेश प्राप्त होता है जो उनसे पूछता है कि क्या कार्य पूरा होने पर परिणाम भेजें
  2. दोहरी सीमा (2x idle_timeout_seconds): सदस्य समाप्त किया जाता है और lead को सूचित किया जाता है

जीवनकाल Timeout

Teams का अधिकतम जीवनकाल होता है (डिफ़ॉल्ट: 1 घंटा)। जब सीमा पहुँच जाती है:

  1. Lead को 60 सेकंड के साथ अंतिम आउटपुट देने के लिए चेतावनी संदेश प्राप्त होता है
  2. Grace अवधि के बाद, टीम स्वचालित रूप से भंग हो जाती है

स्वास्थ्य जाँच

Monitor हर 30 सेकंड session स्वास्थ्य जाँचता है:

  • Lead विफलता: यदि lead session अब पहुँच योग्य नहीं है, टीम रुक जाती है और बनाने वाले session को सूचित किया जाता है
  • सदस्य विफलता: यदि कोई सदस्य session गायब है, उसे failed चिह्नित किया जाता है और lead को शेष सदस्यों के साथ जारी रखने के लिए सूचित किया जाता है
  • सभी निष्क्रिय: यदि सभी सदस्य completed या failed हैं, बनाने वाले session को नए निर्देश देने या भंग करने के लिए सूचित किया जाता है

Classification और Taint

टीम सदस्य sessions सभी अन्य sessions के समान classification नियमों का पालन करते हैं:

  • प्रत्येक सदस्य PUBLIC taint से शुरू होता है और वर्गीकृत डेटा तक पहुँचने पर बढ़ता है
  • Classification ceilings प्रति-टीम या प्रति-सदस्य सेट किए जा सकते हैं ताकि सदस्य किस डेटा तक पहुँच सकें उसे प्रतिबंधित किया जाए
  • Write-down प्रवर्तन सभी अंतर-सदस्य संचार पर लागू होता है। CONFIDENTIAL पर tainted सदस्य PUBLIC सदस्य को डेटा नहीं भेज सकता
  • समग्र taint (सभी सदस्यों में उच्चतम taint) team_status में रिपोर्ट किया जाता है ताकि बनाने वाला session टीम के समग्र classification जोखिम को ट्रैक कर सके

सुरक्षा सदस्य classification ceilings टीम ceiling से अधिक नहीं हो

सकतीं। यदि टीम ceiling INTERNAL है, तो कोई सदस्य CONFIDENTIAL ceiling के साथ कॉन्फ़िगर नहीं किया जा सकता। यह निर्माण समय पर सत्यापित किया जाता है। :::

Teams बनाम Sub-Agents

पहलूSub-Agent (subagent)Team (team_create)
जीवनकालएकल कार्य, परिणाम लौटाता है और बंद होता हैभंग या timeout तक स्थायी
सदस्यएक agentविशिष्ट भूमिकाओं वाले कई agents
इंटरैक्शनपैरेंट से fire-and-forgetसदस्य sessions_send के माध्यम से स्वतंत्र रूप से संवाद करते हैं
समन्वयपैरेंट परिणाम की प्रतीक्षा करता हैLead समन्वय करता है, पैरेंट team_status से जाँच कर सकता है
उपयोगकेंद्रित एकल-चरण प्रत्यायोजनजटिल बहु-भूमिका सहयोग

Sub-agents उपयोग करें जब आपको एक agent को एक केंद्रित कार्य करने और परिणाम लौटाने की आवश्यकता हो। Teams उपयोग करें जब कार्य कई विशेष दृष्टिकोणों से एक-दूसरे के काम पर पुनरावृत्ति करने से लाभ उठाता है।

Teams बनाने के बाद स्वायत्त होती हैं। बनाने वाला agent स्थिति जाँच सकता

है और संदेश भेज सकता है, लेकिन सूक्ष्म प्रबंधन की आवश्यकता नहीं है। Lead समन्वय संभालता है। :::