नफा:
- एजंटला सर्वात सोपा उपाय पासून जटिलतेचे वाढते प्रमाण लागू करणे
- चेनिंग, रूटिंग आणि समांतर वर्कफ्लो पॅटर्नमध्ये फरक करणे
- नियोजन-अंमलबजावणी-सत्यापन चक्रामध्ये बहु-चरण कार्य खंडित करणे
आम्ही मागील युनिटमध्ये एकल-वाहन साधी सायकल स्थापित केली. वास्तविक कामासाठी अनेकदा अनेक पायऱ्या, अनेक साधने आणि काहीवेळा शाखांचे निर्णय आवश्यक असतात: "या महिन्यात उशिरा आलेले ऑर्डर शोधा, ग्राहकांना माफीचा ईमेल तयार करा, व्यवस्थापकासाठी सारांश द्या." या युनिटमध्ये, आम्ही आपल्याला खऱ्या एजंटची आवश्यकता असताना, बहु-चरण कार्ये आयोजित करण्यासाठी नमुने आणि नियोजन-अंमलबजावणी-सत्यापन चक्र कव्हर करतो. मुख्य तत्त्व: गरजेइतकी जटिलता.
सर्वात सोप्या सोल्युशनपासून एजंटपर्यंत स्केल
प्रत्येक कार्य सर्वात जटिल समाधानास पात्र नाही. क्लिष्टता स्केलवर चरण-दर-चरण चढा आणि सर्वात सोप्या पुरेशा समाधानावर थांबा:
- सिंगल कॉल: एकाच मॉडेल कॉलद्वारे टास्क सोडवल्यास (सारांश, वर्गीकरण) येथे थांबा.
- RAG सह सिंगल कॉल: माहिती आवश्यक असल्यास, पुनर्प्राप्ती आणि पुन्हा एक कॉल जोडा.
- निश्चित वर्कफ्लो: जर पायऱ्या अगोदरच माहीत असतील, तर त्यांचा क्रम मॅन्युअली करा (कोड प्रवाह). मॉडेल प्रत्येक टप्प्यावर उप-कार्य करते, परंतु आपण ऑर्डर निर्धारित करता.
- मॉडेल-चालित एजंट: जर पायऱ्या आधीच माहित नसतील, तर मॉडेल ठरवते की कोणत्या एजंटला कॉल करायचा आणि कधी. सर्वात शक्तिशाली परंतु सर्वात महाग आणि धोकादायक पर्याय.
वर्कफ्लो आणि एजंटमधील फरक गंभीर आहे: वर्कफ्लोमध्ये, तुम्ही फ्लो ऑफ कंट्रोल (अंदाज करण्यायोग्य, चाचणी करण्यायोग्य, स्वस्त) लिहिता. तुम्ही अजेंडाचे नियंत्रण मॉडेलला देता (लवचिक पण अप्रत्याशित). बहुतेक कॉर्पोरेट काम प्रत्यक्षात एक कार्यप्रवाह आहे; वास्तविक एजंट तुलनेने कमी आहेत.
टीप: "मी या कार्याच्या पायऱ्या आधीच लिहू शकतो का?" विचारा जर तुम्ही ते लिहू शकत असाल, तर वर्कफ्लो तयार करा — स्वस्त, सुरक्षित, अधिक चाचणी करण्यायोग्य. तथापि, इनपुटवर अवलंबून पावले बदलत असल्यास आणि अंदाज लावता येत नसल्यास, एजंट आवश्यक आहे.
तीन मूलभूत वर्कफ्लो नमुने
प्रॉम्प्ट चेनिंग: एका पायरीचे आउटपुट हे पुढचे इनपुट असते. "मसुदा → संपादन → स्वरूप तयार करा." प्रत्येक पाऊल सोपे आणि केंद्रित आहे; डीबग करणे सोपे.
राउटिंग: तुम्ही प्रथम येणाऱ्या विनंतीचे वर्गीकरण करा आणि योग्य तज्ञांना पाठवा. "हा प्रश्न तांत्रिक, बिलिंग किंवा परतावा आहे?" → दुरुस्त उप-प्रवाहाकडे पुनर्निर्देशित करा. प्रत्येक मार्ग त्याच्या स्वतःच्या प्रॉम्प्ट आणि साधनांसह ऑप्टिमाइझ केला जातो.
समांतरीकरण: एकाच वेळी स्वतंत्र नोकऱ्या चालवणे आणि परिणाम एकत्र करणे. "5 दस्तऐवज स्वतंत्रपणे सारांशित करा, नंतर एकत्र करा." केवळ वेगवानच नाही तर प्रत्येक तुकड्यावर पूर्ण लक्ष वेधले जाते.
नमुना
जेव्हा
उदाहरण
साखळदंड
पायऱ्या अनुक्रमिक आणि अवलंबून असतात
मसुदा → संपादन → स्वरूप
पुनर्निर्देशित
इनपुट प्रकारावर अवलंबून भिन्न प्रक्रिया
समर्थन विनंती वर्गीकरण
समांतर
स्वतंत्र उप-कार्ये
एकाधिक दस्तऐवजांचा स्वतंत्रपणे सारांश द्या
एजंट (लूप)
पावले आधीच सांगता येत नाहीत
मुक्त संशोधन/दुरुस्ती
# राउटिंग नमुना (वैचारिक) प्रकार = pattern.classify(विनंती) # "रिटर्न" | "तंत्र" | "इनव्हॉइस" जर दौरा == "परत": उत्तर = रिटर्न_फ्लो(विनंती)एलिफ टूर == "तांत्रिक": उत्तर = तांत्रिक_प्रवाह(विनंती) बाकी: उत्तर = इनव्हॉइस_फ्लो(विनंती)
नियोजन-अंमलबजावणी-सत्यापन चक्र
वास्तविक एजंट्समधील एक शक्तिशाली नमुना: मॉडेल योजना घ्या, नंतर कार्यान्वित करा, नंतर सत्यापित करा. मॉडेल जटिल कार्याला उप-चरणांमध्ये विभाजित करते, प्रत्येक चरण साधनांसह करते आणि शेवटी विचारते "मी ध्येय साध्य केले का?" तो तपासतो. पडताळणीची पायरी वेगळ्या, ताज्या स्वरूपासह त्रुटी पकडते ("हे आउटपुट कार्य पूर्ण करते का?").
# plan-execute-verify (conceptual)plan = model.uret("या कार्याला चरणांमध्ये खंडित करा:" + कार्य)योजनेतील पायरीसाठी: परिणाम = agent_loop(step) # execute with toolscheck = model.uret("हे आउटपुट कार्य पूर्ण करते का? काही गहाळ असल्यास मला सांगा: " + कार्य + परिणाम) # दुरुस्त्या तपासत नसल्यास: ...
दीर्घ कार्यांसाठी दोन चांगल्या पद्धती: थांबण्याची अट लागू करा (पायांची कमाल संख्या — अनंत लूप प्रतिबंधित करते) आणि प्रगती ट्रॅकिंग (एजंटला तो काय करत आहे ते लिहून द्या जेणेकरून तो विचलित होऊ नये). एजंट, ज्याला कोणतीही पायरी मर्यादा नाही, तो अडकल्यास तो कायमचा फिरू शकतो आणि खर्चाचा स्फोट होईल.
कमकुवत / मजबूत डिझाइन
कमकुवत (सर्व काही एका विशाल एजंटवर ठेवणे):
"ते क्लिष्ट गोष्ट पूर्ण करा" म्हणा आणि ते अमर्यादित साधनांसह सोडा. # परिणाम: अप्रत्याशित वर्तन, अनंत लूपचा धोका, उच्च किंमत, # डीबग करणे अशक्य.
शक्तिशाली (प्रथम प्रवाह, एजंट फक्त आवश्यक तेथे, मर्यादित):
प्रथम कार्य निश्चित चरणांमध्ये विभाजित करा (राउटिंग + चेनिंग). एजंट फक्त सबटास्कमध्ये वापरा जेथे पायऱ्या अज्ञात आहेत; चरण मर्यादा, प्रगती ट्रॅकिंग आणि सत्यापन फेरी जोडा.
तीन मिनी केसेस
केस 1 — एजंटऐवजी वर्कफ्लो. एका कार्यसंघाने विनामूल्य एजंटसह "प्रक्रिया समर्थन विनंती" कार्य सेट केले; कधीकधी एजंट 15 पावले वळतो आणि चुकीच्या मार्गावर जातो. पायऱ्या अनिवार्यपणे निश्चित केल्या होत्या (वर्गीकृत करा → संबंधित माहिती आणा → मसुदा लिहा → मंजुरीसाठी सबमिट करा). जेव्हा आम्ही रूटिंग + चेनिंग वर्कफ्लोवर स्विच केले, तेव्हा सातत्य 58% वरून 96% पर्यंत वाढले आणि खर्च अर्धा झाला.
केस 2 - समांतर लाभ. एक कायदेशीर संघ एकामागून एक 20 करारांचा सारांश देत होता; एकूण ४ मिनिटे लागली. जेव्हा आम्ही समांतर पॅटर्नवर स्विच केले (सर्व एकाच वेळी, नंतर एकत्र करा), वेळ 25 सेकंदांपर्यंत कमी केला गेला आणि प्रत्येक सारांशाकडे पूर्ण लक्ष दिल्याने गुणवत्ता वाढली.
केस 3 - कोणतीही थांबण्याची स्थिती नव्हती. एक तपास एजंट त्याच दोन साधनांना अविरतपणे कॉल करत राहिला, त्याला सापडलेली माहिती शोधत नाही; रात्रभर लक्षणीय खर्च जमा. जेव्हा कमाल 8-चरण मर्यादा आणि "जर तुम्हाला ते 3 प्रयत्नांमध्ये सापडले नाही, तर मला माहित नाही म्हणा" नियम जोडले गेले, तेव्हा किंमत नियंत्रणात ठेवली गेली आणि प्रामाणिकपणे "मला ते सापडले नाही" अशी उत्तरे आली.
सामान्य चुका
- एजंटला सर्वकाही सोपवणे: पायऱ्या माहीत असल्यास वर्कफ्लो स्वस्त, सुरक्षित आणि चाचणी करण्यायोग्य आहे.
- एजंटसह वर्कफ्लो मिसळणे: तुम्ही किंवा मॉडेल नियंत्रण घेतात का? हे स्पष्ट केल्याशिवाय डिझाइन करू नका.
- थांबण्याची स्थिती सेट करत नाही: एजंट अनंत लूपमध्ये प्रवेश करतो आणि खर्च जमा करतो.
- प्रगतीचा मागोवा घेणे नाही: दीर्घ मोहिमेदरम्यान, एजंट विचलित होतो, पुन्हा तेच काम करतो.
- पडताळणी फेरी वगळणे: चुकीचे परंतु प्रशंसनीय दिसणारे आउटपुट अनचेक केले जाते.
लक्ष द्या: एजंट जितका मोकळा असेल तितका स्फोट त्रिज्या मोठा होईल. लवचिकता मुक्त नाही; प्रत्येक अतिरिक्त स्वातंत्र्य अनपेक्षितता आणि जोखीम जोडते. सर्वात अरुंद पुरेसा उपाय निवडा.
सारांशात
- जटिलतेमध्ये, "आवश्यकतेनुसार" तत्त्व लागू होते: एकल कॉल → RAG → वर्कफ्लो → एजंट जर खरोखर आवश्यक असेल तरच.
- वर्कफ्लोमध्ये, तुम्ही नियंत्रणाचा प्रवाह लिहिता (अंदाज करता); तुम्ही अजेंडा मॉडेलवर सोडा (लवचिक पण धोकादायक).
- तीन मूलभूत नमुने: साखळी (क्रमशः अवलंबून), राउटिंग (प्रकारानुसार वितरित), समांतर (स्वतंत्र नोकरी).
- वास्तविक एजंट योजना-अंमलबजावणी-पडताळणी चक्र, थांबण्याची स्थिती आणि प्रगती ट्रॅकिंग वापरतात.
- जसजशी लवचिकता वाढते, अप्रत्याशितता आणि खर्च वाढतो; सर्वात अरुंद पुरेसा उपाय निवडा.
अर्ज कार्य
तुमच्या स्वतःच्या व्यवसायातून एक बहु-चरण कार्य निवडा (उदा. "मासिक अहवाल तयार करा आणि वितरित करा"). (1) तुम्ही या कामाच्या पायऱ्या आधीच लिहू शकता का? जर तुम्ही ते लिहू शकत असाल, तर ते वर्कफ्लो म्हणून डिझाइन करा (कोणता नमुना: चेनिंग/राउटिंग/समांतर?); तुम्ही लिहू शकत नसल्यास, एजंटची गरज का आहे ते स्पष्ट करा. (2) बॉक्स-बाण आकृतीसह तुमची निवडलेली रचना काढा. (३) एजन्सी असल्यास: तुम्ही थांबण्याची स्थिती, प्रगती ट्रॅकिंग आणि पडताळणी फेरी कशी सेट कराल ते लिहा. (4) "सिंगल डेव्ह एजंट" सोबत समान कार्य करण्याच्या 3 जोखमींची यादी करा.
चेकलिस्ट
- मी "आवश्यकतेनुसार जटिलता" स्केलवर योग्य स्तर निवडू शकतो.
- [ ] मी वर्कफ्लो आणि एजंटमधील नियंत्रणातील फरक ओळखू शकतो.
- [ ] मी योग्य कार्यांसाठी चेनिंग, राउटिंग आणि समांतर पॅटर्न मॅप करू शकतो.
- मी एजंट्समध्ये प्लॅन-एक्झिक्युट-व्हेरिफाय सायकल, स्टॉपिंग कंडिशन आणि प्रोग्रेस ट्रॅकिंग सेट करू शकतो.
- मी लक्षात ठेवतो की जास्त लवचिकता अप्रत्याशितता आणि खर्च आणते.