एकाइ 10 / 11

एजेन्ट कार्यप्रवाह र बहु-चरण कार्यहरू

लाभ:

  • एजेन्टलाई सरल समाधानबाट जटिलताको बढ्दो मात्रा लागू गर्दै
  • चेनिङ, रूटिङ र समानान्तर कार्यप्रवाह ढाँचाहरू बीचको भिन्नता
  • बहु-चरण कार्यलाई योजना-कार्यान्वयन-प्रमाणीकरण चक्रमा तोड्दै

हामीले अघिल्लो एकाइमा एकल-वाहन सरल चक्र स्थापना गर्यौं। वास्तविक कामको लागि प्रायः धेरै चरणहरू, बहु उपकरणहरू, र कहिलेकाहीँ शाखा निर्णयहरू आवश्यक पर्दछ: "यस महिना ढिलो भएका अर्डरहरू फेला पार्नुहोस्, ग्राहकहरूलाई माफी माग्ने इमेलको मस्यौदा तयार गर्नुहोस्, प्रबन्धकको लागि संक्षेप गर्नुहोस्।" यस इकाईमा, हामी बहु-चरण कार्यहरू व्यवस्थित गर्नका लागि ढाँचाहरू समावेश गर्दछौं, जब तपाईंलाई वास्तविक एजेन्ट चाहिन्छ, र योजना-कार्यान्वयन-प्रमाणीकरण चक्र। मुख्य सिद्धान्त: आवश्यकता जति जटिलता।

सरल समाधानबाट एजेन्टमा स्केल

प्रत्येक कार्य सबैभन्दा जटिल समाधानको योग्य छैन। जटिलता स्केलमा चरणबद्ध रूपमा चढ्नुहोस् र सरल पर्याप्त समाधानमा रोक्नुहोस्:

  1. एकल कल: यदि कार्य एकल मोडेल कल द्वारा हल गरिएको छ (संक्षेप, वर्गीकरण) यहाँ रोक्नुहोस्।
  2. RAG सँग एकल कल: यदि जानकारी आवश्यक छ भने, पुन: प्राप्ति र फेरि एकल कल थप्नुहोस्।
  3. निश्चित कार्यप्रवाह: यदि चरणहरू पहिले नै थाहा छ भने, तिनीहरूलाई म्यानुअल रूपमा क्रमबद्ध गर्नुहोस् (कोड प्रवाह)। मोडेलले प्रत्येक चरणमा उप-कार्य गर्छ, तर तपाईंले अर्डर निर्धारण गर्नुहुन्छ।
  4. मोडेल-संचालित एजेन्ट: यदि चरणहरू पहिले नै थाहा हुन सक्दैन भने, मोडेलले निर्णय गर्दछ कि कुन एजेन्टलाई कल गर्ने र कहिले। सबैभन्दा शक्तिशाली तर सबैभन्दा महँगो र जोखिमपूर्ण विकल्प।

कार्यप्रवाह र एजेन्ट बीचको भिन्नता महत्वपूर्ण छ: कार्यप्रवाहमा, तपाइँ नियन्त्रणको प्रवाह लेख्नुहुन्छ (अनुमानित, परीक्षण योग्य, सस्तो)। तपाईले एजेन्डाको नियन्त्रण मोडेललाई दिनुहुन्छ (लचिलो तर अप्रत्याशित)। अधिकांश कर्पोरेट काम वास्तवमा एक कार्यप्रवाह हो; वास्तविक एजेन्टहरू अपेक्षाकृत थोरै छन्।

सुझाव: "के म यस कार्यको लागि चरणहरू अग्रिम लेख्न सक्छु?" सोध्नुहोस्। यदि तपाइँ यसलाई लेख्न सक्नुहुन्छ भने, कार्यप्रवाह निर्माण गर्नुहोस् — सस्तो, सुरक्षित, थप परीक्षण योग्य। यद्यपि, यदि इनपुटको आधारमा चरणहरू भिन्न हुन्छन् र भविष्यवाणी गर्न सकिँदैन भने, एजेन्ट आवश्यक हुन्छ।

तीन आधारभूत कार्यप्रवाह ढाँचाहरू

प्रम्प्ट चेनिङ: एक चरणको आउटपुट अर्कोको इनपुट हो। "ड्राफ्ट → सम्पादन → ढाँचा उत्पन्न गर्नुहोस्।" प्रत्येक चरण सरल र केन्द्रित छ; डिबग गर्न सजिलो।

रूटिङ: तपाईंले पहिले आगमन अनुरोध वर्गीकृत गर्नुहोस् र उपयुक्त विशेषज्ञलाई पठाउनुहोस्। "यो प्रश्न प्राविधिक, बिलिङ, वा फिर्ती हो?" → उप-स्ट्रिमलाई सही गर्न पुन: निर्देशित गर्नुहोस्। प्रत्येक मार्ग आफ्नै प्रम्प्ट र उपकरण संग अनुकूलित छ।

समानान्तरीकरण: स्वतन्त्र कार्यहरू एकैसाथ चलाउने र परिणामहरू संयोजन गर्ने। "5 कागजातहरू अलग-अलग संक्षेप गर्नुहोस्, त्यसपछि संयोजन गर्नुहोस्।" न केवल यो छिटो छ, तर प्रत्येक टुक्रा पूर्ण ध्यान दिन्छ।

ढाँचा

कहिले

उदाहरण

जंजीर

चरणहरू क्रमिक र निर्भर छन्

मस्यौदा → सम्पादन → ढाँचा

रिडिरेक्ट

इनपुट प्रकारको आधारमा फरक प्रशोधन

समर्थन अनुरोध वर्गीकरण

समानान्तर

स्वतन्त्र उप-कार्यहरू

धेरै कागजातहरू अलग-अलग संक्षेप गर्नुहोस्

एजेन्ट (लूप)

कदमहरू अग्रिम भविष्यवाणी गर्न सकिँदैन

खुला-समाप्त अनुसन्धान / मर्मत

# रूटिङ ढाँचा (वैचारिक) प्रकार = pattern.classify(अनुरोध) # "रिटर्न" | "प्रविधि" | "इनभ्वाइस" यदि भ्रमण == "फिर्ता": उत्तर = फिर्ता_प्रवाह (अनुरोध) elif tur == "प्राविधिक": जवाफ = प्राविधिक_प्रवाह (अनुरोध) अन्य: जवाफ = इनभ्वाइस_फ्लो (अनुरोध)

योजना-कार्यान्वयन-प्रमाणीकरण चक्र

वास्तविक एजेन्टहरूमा शक्तिशाली ढाँचा: मोडेल योजना छ, त्यसपछि कार्यान्वयन गर्नुहोस्, त्यसपछि प्रमाणित गर्नुहोस्। मोडेलले जटिल कार्यलाई उप-चरणहरूमा तोड्छ, उपकरणहरूको साथ प्रत्येक चरण प्रदर्शन गर्दछ, र अन्तमा सोध्छ "के मैले लक्ष्य हासिल गरें?" उसले जाँच गर्छ। प्रमाणिकरण चरणले त्रुटिहरू अलग, ताजा लुकमा समात्छ ("के यो आउटपुटले कार्य पूरा गर्छ?")।

# योजना-कार्यान्वयन-प्रमाणित (वैचारिक) योजना = model.uret("यो कार्यलाई चरणहरूमा तोड्नुहोस्: " + कार्य) योजनामा ​​चरणको लागि: परिणाम = agent_loop(चरण) # execute with toolscheck = model.uret("के यो आउटपुटले कार्य पूरा गर्छ? यदि केहि छुटेको छ भने मलाई भन्नुहोस्: " + कार्य + परिणामहरू) यदि # राउन्ड जाँच छैन: ...

लामो कार्यहरूका लागि दुई राम्रा अभ्यासहरू: रोक्ने अवस्था लागू गर्नुहोस् (चरणहरूको अधिकतम संख्या - अनन्त लुप रोक्छ) र प्रगति ट्र्याकिङ (एजेन्टलाई उसले के गरिरहेको छ भनेर लेख्नुहोस् ताकि उसले विचलित नहोस्)। एजेन्ट, जसको कुनै चरण सीमा छैन, सधैंको लागि घुमाउन सक्छ यदि ऊ फँस्यो र लागत विस्फोट हुनेछ।

कमजोर / बलियो डिजाइन

कमजोर (सबै कुरा एउटै विशाल एजेन्टमा राखेर):

"त्यो जटिल कुरा गर" भन्नुहोस् र यसलाई असीमित उपकरणहरूको साथ छोड्नुहोस्। # नतिजा: अप्रत्याशित व्यवहार, अनन्त लूपहरूको जोखिम, उच्च लागत, # डिबग गर्न असम्भव।

शक्तिशाली (प्रवाह पहिले, एजेन्ट मात्र जहाँ आवश्यक छ, सीमित):

पहिले कामलाई निश्चित चरणहरूमा विभाजन गर्नुहोस् (राउटिंग + चेनिङ)। एजेन्ट मात्र सबटास्कमा प्रयोग गर्नुहोस् जहाँ चरणहरू अज्ञात छन्; चरण सीमा, प्रगति ट्र्याकिङ र प्रमाणीकरण राउन्ड थप्नुहोस्।

तीन मिनी केसहरू

केस १ — एजेन्टको सट्टा कार्यप्रवाह। एउटा टोलीले नि:शुल्क एजेन्टसँग "प्रक्रिया समर्थन अनुरोध" कार्य सेटअप गर्यो; कहिलेकाहीँ एजेन्टले 15 पाइला घुमाउँछ र गलत बाटोमा जान्छ। चरणहरू अनिवार्य रूपमा निश्चित गरिएको थियो (वर्गीकरण → सान्दर्भिक जानकारी ल्याउनुहोस् → मस्यौदा लेख्नुहोस् → अनुमोदनको लागि पेश गर्नुहोस्)। जब हामीले रूटिङ + चेनिङ कार्यप्रवाहमा स्विच गर्यौं, स्थिरता 58% बाट 96% मा बढ्यो र लागत आधा भयो।

केस २ - समानान्तर लाभ। कानुनी टोलीले एकपछि अर्को गरी २० वटा सम्झौताहरू सार्दै थियो; जम्मा ४ मिनेट लाग्यो। जब हामीले एक समानान्तर ढाँचामा स्विच गर्यौं (सबै एकै समयमा, त्यसपछि संयोजन), समयलाई 25 सेकेन्डमा घटाइयो र प्रत्येक सारांशले पूर्ण ध्यान पाएको रूपमा गुणस्तर बढ्यो।

केस 3 - त्यहाँ कुनै रोक्ने अवस्था थिएन। एक खोजकर्ता एजेन्टले एउटै दुई उपकरणहरूलाई अनन्त रूपमा कल गरिरहे, उसले फेला पार्न नसक्ने जानकारी खोज्दै; रातारात महत्वपूर्ण लागत संचित। जब अधिकतम 8-चरण सीमा र "यदि तपाईंले यसलाई 3 प्रयासहरूमा फेला पार्न सक्नुहुन्न भने, मलाई थाहा छैन भन्नुहोस्" नियम थपियो, लागत नियन्त्रणमा राखिएको थियो र इमानदार "मैले फेला पार्न सकिन" जवाफहरू आए।

सामान्य गल्तीहरू

  • एजेन्टलाई सबै कुरा प्रत्यायोजन गर्दै: कार्यप्रवाह सस्तो, सुरक्षित र परीक्षण योग्य छ यदि चरणहरू थाहा छ भने।
  • एजेन्टसँग कार्यप्रवाह मिक्स गर्दै: के तपाइँ वा मोडेलले नियन्त्रण लिनुहुन्छ? यो स्पष्ट नगरी डिजाइन नगर्नुहोस्।
  • रोक्ने अवस्था सेट गर्दैन: एजेन्टले अनन्त लूपमा प्रवेश गर्छ र लागतहरू जम्मा गर्छ।
  • कुनै प्रगति ट्र्याकिङ छैन: लामो मिशनको समयमा, एजेन्ट विचलित हुन्छ, फेरि उही काम गर्दै।
  • प्रमाणीकरण राउन्ड छोड्दै: गलत तर प्रशंसनीय देखिने आउटपुट जाँच नगरी पठाइन्छ।
ध्यान दिनुहोस्: एजेन्ट जति खाली हुन्छ, विस्फोटको त्रिज्या ठूलो हुन्छ। लचिलोपन नि: शुल्क छैन; प्रत्येक अतिरिक्त स्वतन्त्रताले अप्रत्याशितता र जोखिम थप्छ। संकीर्ण पर्याप्त समाधान छान्नुहोस्।

संक्षेपमा

  • जटिलतामा, "आवश्यकता अनुसार" सिद्धान्त लागू हुन्छ: एकल कल → RAG → कार्यप्रवाह → एजेन्ट वास्तवमा आवश्यक भएमा मात्र।
  • कार्यप्रवाहमा, तपाइँ नियन्त्रणको प्रवाह लेख्नुहुन्छ (अनुमानित); तपाईंले एजेन्डा मोडेलमा छोड्नुहुन्छ (लचिलो तर जोखिमपूर्ण)।
  • तीन आधारभूत ढाँचाहरू: चेनिङ (क्रमबद्ध रूपमा निर्भर), मार्ग (प्रकारद्वारा वितरण), समानान्तर (स्वतन्त्र कामहरू)।
  • वास्तविक एजेन्टहरूले योजना-कार्यान्वयन-प्रमाणीकरण चक्र, रोक्ने अवस्था, र प्रगति ट्र्याकिङ प्रयोग गर्छन्।
  • लचिलोपन बढ्दै जाँदा, अप्रत्याशितता र लागत वृद्धि; संकीर्ण पर्याप्त समाधान छान्नुहोस्।

आवेदन कार्य

तपाईंको आफ्नै व्यवसायबाट बहु-चरण कार्य छनौट गर्नुहोस् (जस्तै "मासिक रिपोर्ट तयार गर्नुहोस् र वितरण गर्नुहोस्")। (१) के तपाइँ यस कार्यको चरणहरू अग्रिम लेख्न सक्नुहुन्छ? यदि तपाइँ यसलाई लेख्न सक्नुहुन्छ भने, यसलाई कार्यप्रवाहको रूपमा डिजाइन गर्नुहोस् (कुन ढाँचा: चेनिङ/रुटिङ्/समानान्तर?); यदि तपाइँ लेख्न सक्नुहुन्न भने, किन एजेन्ट चाहिन्छ भनेर व्याख्या गर्नुहोस्। (२) बक्स-एरो रेखाचित्रको साथ आफ्नो रोजेको डिजाइन कोर्नुहोस्। (३) यदि एजेन्सी: लेख्नुहोस् कि तपाइँ कसरी रोकिने अवस्था, प्रगति ट्र्याकिङ, र प्रमाणीकरण राउन्ड सेट अप गर्नुहुन्छ। (४) "एकल डेभ एजेन्ट" सँग एउटै कार्य गर्ने ३ जोखिमहरू सूचीबद्ध गर्नुहोस्।

चेकलिस्ट

  • [ ] म "आवश्यकता अनुसार जटिलता" मापनमा सही स्तर रोज्न सक्छु।
  • [] म कार्यप्रवाह र एजेन्ट बीचको नियन्त्रणमा भिन्नता छुट्याउन सक्छु।
  • [] म उपयुक्त कार्यहरूमा चेनिङ, राउटिङ र समानान्तर ढाँचाहरू नक्सा गर्न सक्छु।
  • [ ] म एजेन्टहरूमा योजना-कार्यान्वयन-प्रमाणीकरण चक्र, रोक्ने अवस्था र प्रगति ट्र्याकिङ सेटअप गर्न सक्छु।
  • धेरै लचिलोपनले अप्रत्याशितता र लागतहरू ल्याउँछ भन्ने कुरा म ध्यानमा राख्छु।