63 पॉइंट द्वारा GN⁺ 2025-07-07 | 6 टिप्पणियां | WhatsApp पर शेयर करें
  • LLM-आधारित सिस्टम बनाने वाली ज़्यादातर टीमें सबसे पहले Agent बनाना चाहती हैं, लेकिन अधिकतर मामलों में वे complexity, control की कमी, और debugging की कठिनाई की वजह से जल्दी टूट जाती हैं
  • असली agent pattern, जिसमें memory, RAG, tool use, और workflow control सबकी ज़रूरत होती है, व्यवहार में कम ही मिलता है; ज़्यादातर समस्याएँ simple workflows (chaining, parallelization, routing आदि) से ज़्यादा प्रभावी ढंग से हल की जा सकती हैं
  • पहले वास्तव में उपयोगी 5 LLM workflow patterns लागू करने की सलाह दी जाती है, और agents का इस्तेमाल केवल तब करना चाहिए जब उनकी सच में ज़रूरत हो
    • Prompt Chaining, Parallelization, Routing, Orchestrator-Worker, Evaluator-Optimizer
  • जिन मामलों में agent की ज़रूरत पड़ती भी है, वहाँ भी मानव की भागीदारी, स्पष्ट नियंत्रण, और observability ही सबसे अहम हैं

AI एजेंट, क्या वाकई ज़रूरी हैं?

  • Netflix, Meta, अमेरिकी वायुसेना सहित कई इंजीनियरों और टीमों को LLM systems बनाने पर consulting और training देने वाले Hugo Bowne-Anderson की अंतर्दृष्टि

गलत शुरुआत: सब लोग agents पर इतने अटके क्यों हैं

  • कई टीमें LLM project शुरू करते समय agent, memory, routing, tool use, और character/persona जैसी जटिल संरचनाएँ पहले ही जोड़ देती हैं
  • जब इन्हें वास्तव में बनाया जाता है, तो agents के बीच collaboration, tool selection, और long-term memory जैसे हिस्सों में बार-बार असामान्य behavior और failure देखने को मिलता है
  • उदाहरण के तौर पर, CrewAI-आधारित research agent project में हर role (researcher, summarizer, coordinator) उम्मीद के मुताबिक सहयोग नहीं कर पाया और सिस्टम बुरी तरह ढह गया

Agent क्या है?

  • LLM system की 4 विशेषताएँ: memory, information retrieval (RAG), tool use, और workflow control
  • आख़िरी workflow control, यानी LLM का अगला step या tool use खुद तय करना, agentic trait कहलाता है
  • लेकिन वास्तविक दुनिया के ज़्यादातर कामों में simple workflows (chaining, routing आदि) ज़्यादा स्थिर साबित होते हैं

Agent की जगह इस्तेमाल करने लायक, व्यवहार में उपयोगी LLM workflow patterns

1. Prompt Chaining

  • विवरण: कई कामों को क्रमबद्ध चरणों की एक chain में बाँटकर, हर चरण को LLM से बारी-बारी प्रोसेस कराया जाता है
  • उदाहरण: LinkedIn profile से नाम, पद, और company जानकारी निकालना → उस company की अतिरिक्त जानकारी (mission, hiring आदि) जोड़ना → profile + company जानकारी के आधार पर customized email लिखना
  • फायदे: हर चरण साफ़ तौर पर अलग होता है, इसलिए bug आने पर कारण ढूँढना और सुधारना आसान होता है; debugging और maintenance में मदद मिलती है
  • Guidelines:
    • उन tasks के लिए उपयुक्त जो क्रम से जुड़े हों
    • एक भी चरण fail हुआ तो पूरी chain टूट सकती है
    • काम को छोटे हिस्सों में बाँटने से results ज़्यादा predictable होते हैं और debugging आसान होती है

2. Parallelization

  • विवरण: कई independent tasks को एक साथ चलाकर पूरी process की speed बढ़ाई जाती है
  • उदाहरण: कई लोगों की profiles से education, experience, skills जैसी कई जानकारियाँ parallel में निकालकर कुल processing time घटाना
  • फायदे: independent data extraction/processing जैसे कामों में बड़े scale पर भी efficient, और distributed processing environments के साथ अच्छी तरह काम करता है
  • Guidelines:
    • जब हर task एक-दूसरे से independent हो और साथ चलाने से overall speed काफ़ी बढ़े
    • parallel execution के दौरान race condition, timeout जैसी exceptions पर ध्यान देना ज़रूरी है
    • बड़े पैमाने के data processing और कई sources के simultaneous analysis के लिए उपयुक्त

3. Routing

  • विवरण: LLM input data को classify करके अपने-आप उपयुक्त workflow की ओर भेजता है
  • उदाहरण: customer support tool में input को product query, payment issue, या refund request के रूप में classify करके संबंधित workflow में भेजना; type अस्पष्ट हो तो default handler को देना
  • फायदे: input type के अनुसार specialized processing logic लागू करके अलग-अलग मामलों को साफ़-सुथरे ढंग से अलग किया जा सकता है
  • Guidelines:
    • जब अलग-अलग input types या situations के लिए अलग handling चाहिए
    • boundary cases या exceptions में routing fail हो सकती है या कुछ छूट सकता है
    • unclassified/exception cases के लिए catch-all handler ज़रूर डिज़ाइन करें

4. Orchestrator-Worker

  • विवरण: orchestrator की भूमिका वाला LLM task को तोड़ता/आँकता है और worker (execution LLM) को detail tasks सौंपता है, जबकि पूरी flow और sequence पर खुद नियंत्रण रखता है
  • उदाहरण: target profile को tech/non-tech में classify करना → अगर tech हो तो specialized worker को email generation देना, non-tech हो तो दूसरे worker को देना
  • फायदे: decision-making (classification/judgment) और execution (individual processing) अलग हो जाते हैं, जिससे dynamic flow control और scaling आसान होती है
  • Guidelines:
    • जब हर task के लिए specialized handling चाहिए, या branching और step-by-step coordination जटिल हो
    • अगर orchestrator task को ग़लत तरीके से तोड़े या delegate करे, तो पूरी flow में error आ सकती है
    • logic को स्पष्ट और सरल रखें, और delegation/sequence/termination conditions को साफ़ तौर पर डिज़ाइन करें

5. Evaluator-Optimizer

  • विवरण: LLM output का मूल्यांकन करता है (score/feedback), और अगर वह मानक से कम हो तो उसे बार-बार सुधारता/बेहतर करता है
  • उदाहरण: email draft बनाना → evaluator quality score/feedback देता है → तय मानक पूरा होने पर या maximum iteration limit पार होने पर समाप्त, नहीं तो फिर से संशोधन
  • फायदे: final output की quality को लक्ष्य स्तर तक बार-बार बेहतर किया जा सकता है, और quantitative criteria का उपयोग आसान होता है
  • Guidelines:
    • जब speed से ज़्यादा quality महत्वपूर्ण हो, और iterative optimization की ज़रूरत हो
    • termination condition न हो तो infinite loop में फँसने का जोखिम है
    • स्पष्ट quality criteria और iteration limits तय करना ज़रूरी है

जब agent सच में ज़रूरी हो

  • ऐसे environment में जहाँ Human-in-the-loop की real-time भागीदारी सुनिश्चित हो, agent अपनी असली उपयोगिता दिखाते हैं
    • उदाहरण1: data science assistant - SQL query, visualization, data analysis recommendation जैसे कामों में LLM रचनात्मक रूप से कोशिश करे, और इंसान परिणाम को आँके/सुधारे
    • उदाहरण2: creative partner - copy idea, headline suggestion, text structure recommendation जैसे कामों में इंसानी दिशा-संशोधन और quality review अहम हो
    • उदाहरण3: code refactoring assistant - design pattern suggestions, edge-case detection, code optimization आदि में developer approval/adjustment दे
  • विशेषता: agent “सब कुछ अपने-आप” नहीं करता; यह सबसे प्रभावी तब होता है जब इंसान real time में errors और direction को संभालता है

जब agent उपयुक्त नहीं है

  • Enterprise और mission-critical systems (finance, healthcare, legal आदि):
    • यहाँ automation की reliability और deterministic behavior महत्वपूर्ण हैं, इसलिए LLM agent द्वारा decision लेने वाली संरचना जोखिमपूर्ण है
    • Orchestrator, routing जैसे स्पष्ट control patterns का उपयोग करना चाहिए
  • हर वह स्थिति जहाँ stability और predictability महत्वपूर्ण है
    • असामान्य उदाहरण: agent बिना context/memory के बार-बार ग़लत tool चुनता रहे, या delegation/coordination fail होने से पूरी flow टूट जाए
  • व्यावहारिक काम में अक्सर दिखने वाले agent systems के failure factors
    • explicit memory system डिज़ाइन न होने से context छूट जाना
    • tool selection constraints की कमी (अनावश्यक/ग़लत tools का उपयोग)
    • बहुत ढीली delegation structure पर निर्भर रहने से collaboration/coordination का विफल होना

व्यावहारिक system design के लिए सबक

  • agent अपनाने पर भी “उच्च-गुणवत्ता वाले software system” के स्तर की design, observability, और control व्यवस्था अनिवार्य है
  • जटिल agent frameworks के बजाय, observability, स्पष्ट evaluation loops, और सीधे नियंत्रित की जा सकने वाली संरचना के साथ डिज़ाइन करना ज़्यादा तेज़ और सुरक्षित है

निष्कर्ष (TL;DR)

  • agents को अक्सर ज़रूरत से ज़्यादा महत्व दिया जाता है या उनका अति-उपयोग होता है
  • ज़्यादातर वास्तविक कार्यों के लिए simple workflow patterns ज़्यादा उपयुक्त हैं
  • agents की असली ताकत “जहाँ इंसान सीधे शामिल हो” ऐसे environments में दिखती है
  • स्थिर systems में वे उलटे जोखिम पैदा कर सकते हैं
  • systems को observability, explicit control, और iterative evaluation structure के साथ डिज़ाइन करें
  • जटिल agent frameworks की जगह, observability, स्पष्ट evaluation loops, और सीधे नियंत्रित की जा सकने वाली संरचना के साथ डिज़ाइन करना ही वास्तव में तेज़ और सुरक्षित LLM-आधारित services बनाने की कुंजी है

6 टिप्पणियां

 
samdo103 2025-07-12

एक महीने पहले CURSOR का उपयोग करके AI coding क्या है यह सीखने के लिए मैंने एक development framework बनाना शुरू किया।

करीब 3 हफ्तों तक, सफलता और AI Agent द्वारा validate किया गया source code बार-बार टूटता रहा, और मैंने हर संभव तरीका अपनाकर AI Agent को नियंत्रित करने की कोशिश की, लेकिन असफल रहा।

फिर मुझे एहसास हुआ कि development framework बनाने से पहले AI Agent को नियंत्रित करने वाला source code विकसित करना प्राथमिकता है।

आखिरकार, पहला AI क्या है यह समझने के लिए शुरुआत करने के ठीक एक महीने के भीतर, मैंने ऐसा software पूरी तरह विकसित कर लिया जो AI द्वारा 100% implement और 100% operate किया जा सकता है — या अधिक सटीक रूप से कहें तो जिसमें external LLM या AI Agent की आवश्यकता ही नहीं है।

अब 14वें दिन पर, अतिरिक्त उन्नयन के लिए मैं उस META AI को आगे train कर रहा हूँ और उसके लिए operation rules बनाकर उनका पालन करवाने की प्रक्रिया चला रहा हूँ। साथ ही, लोगों द्वारा पहले अपूर्ण रूप से बनाए गए 3 MES systems का एक साथ migration, improvement और standardization चल रहा है, और यह अब समापन चरण में है।

और अब मैं एक और evolution की तैयारी कर रहा हूँ।

 
spilist2 2025-07-09

लेकिन क्या prompt chaining में individual prompts चलाने वाले LLM, execution worker, orchestrator worker, evaluator LLM वगैरह को अलग-अलग agent कहना भी ठीक नहीं होगा?

 
spilist2 2025-07-09

आह, तो "अंतिम workflow control (जब LLM सीधे तय करता है कि अगला कदम क्या होगा या टूल का इस्तेमाल करना है या नहीं, इसे agentic विशेषता कहा जाता है)" जैसी बात है। समझ गया। यह autonomous agent को target करके लिखी गई पोस्ट थी। मुझे अभी agent के बारे में ज़्यादा जानकारी नहीं है, इसलिए...

 
GN⁺ 2025-07-07
Hacker News राय
  • एजेंट बनाना सच में मज़ेदार था, लेकिन यह साफ़ है कि ‘context engineering’ में गंभीर समस्याएँ हैं। context window कितना भी बड़ा कर लें, एजेंट को क्या दिखाना है उसका क्यूरेशन फिर भी करना पड़ता है, और सच में महत्वपूर्ण जानकारी चुनकर देने वाला प्रभावी फ़िल्टर अभी कमज़ोर लगता है। इसलिए इधर-उधर *.md फ़ाइलें बिखेरकर मदद करनी पड़ती है, और roles बाँटना भी महत्वपूर्ण है। यह *.md सिस्टम एक तरह का प्रारंभिक memory system है, और इसे कहीं ज़्यादा मज़बूती से विकसित किया जा सकता है। मुझे लगता है कि यूज़र की इंटरैक्शन के आधार पर रियल टाइम में प्रोग्राम या मॉडल (natural language आधारित) बनाना भी संभव है। Claude Code इस्तेमाल करते हुए मुझे समझ आया कि test suite से एजेंट को ‘guide’ करना वास्तव में बहुत शक्तिशाली reinforcement learning mechanism है, और यह loop ज़्यादातर सफलतापूर्वक चलता रहता है, इसलिए उम्मीद है कि आगे एजेंट को और स्मार्ट collaborator बनाने के नए विचार आएँगे
    • ऐसा महसूस होने लगता है कि असली काम से ज़्यादा समय tools से लड़ने में जा रहा है
    • मुझे जिज्ञासा है कि ऐसे सिस्टम में .md फ़ाइलें व्यवस्थित करने का कोई recommended तरीका है या नहीं। चिंता यह है कि अगर इंसानों के पढ़ने लायक बहुत ज़्यादा markup डाल दें तो क्या llm के प्रोसेस करने में दिक्कत होगी। जानना चाहता हूँ कि अगर .md फ़ाइलें इंसानों के पढ़ने के लिए जैसे बनाते हैं वैसे ही बनाई जाएँ, तो क्या वह llm उपयोग में बाधा नहीं बनतीं
    • मेरे अनुभव में context management लगभग हर समस्या का केंद्र है। उदाहरण के लिए parallel/recursive काम के लिए सही context बनाना, कुछ चरणों (जैसे पिछला response edit करना) हटाकर सिर्फ़ संशोधित परिणाम दिखाना, और जब मैं comment जोड़ूँ तो एजेंट उस comment के आधार पर अपने output को समझे—ऐसी बहुत सारी वास्तविक स्थितियाँ हैं
    • test suite से एजेंट को मज़बूत करने वाली बात दिलचस्प लगी, क्या आप थोड़ा विस्तार से बता सकते हैं कि यह प्रक्रिया ठोस रूप से कैसे चलती है
  • अभी मुझे पूरा भरोसा नहीं है कि AI एजेंट वैसा mainstream बनेंगे जैसा लोग LinkedIn पर कहते हैं, लेकिन मैं उस संभावना को खुला रखता हूँ। मैं इस समय Claude Code, Cursor जैसे tools में AI को काफ़ी सख़्ती से नियंत्रित करके इस्तेमाल करता हूँ। वजह यह नहीं कि मॉडल कमज़ोर है, बल्कि यह है कि मैं खुद अक्सर अपना ‘taste’ और दिशा देना चाहता हूँ। AI को ज़्यादा autonomy देना मुझे उतना आकर्षक नहीं लगता, क्योंकि मैं बीच में शामिल रहूँ तभी पहचान और जुड़ाव महसूस करता हूँ। आगे काम करने का तरीका बदले या नया UX आए तो मेरी राय बदल सकती है, लेकिन फ़िलहाल मुझे AI का बहुत ज़्यादा agent-like होना नहीं चाहिए
    • क्या आपको लगता है कि समय के साथ, मॉडल के व्यवहार को अच्छी तरह समझ लेने के बाद, सिर्फ़ और ज़्यादा/बेहतर context और instructions देकर यूज़र के taste और दिशा संबंधी अपेक्षाएँ काफी हद तक पूरी की जा सकेंगी? मेरे अनुभव में अच्छी prompt engineering भर से भी कई workflows में AI को मनचाहे तरीके से चलाया जा सकता है, इसलिए अक्सर बार-बार हस्तक्षेप ज़रूरी नहीं होता
    • बिल्कुल सहमत हूँ। मैंने कहीं और भी ऐसा ही comment किया था, और मुझे लगता है कि ‘free lunch जैसी कोई चीज़ नहीं होती’ वाली पुरानी कहावत आज भी सही है। अगर LLM इंसान को लगभग हटाकर भी समस्याएँ हल कर सकता है, तो इसका मतलब होगा कि कुछ पंक्तियों के prompt से हर कोई एक जैसा परिष्कृत सिस्टम बना सकता है, और उस स्थिति में अलग-अलग systems की कोई भिन्नता या value नहीं बचेगी। अगर prompt एक नया abstraction layer है, तो मान लीजिए आप Claude से कहते हैं “मेरे लिए note app बना दो”, फिर लाखों लोग वही कम-लागत वाला prompt डालेंगे—तो सवाल यह है कि ऐसे में prompter वास्तव में अतिरिक्त अर्थ क्या जोड़ रहा है
    • मुझे लगता है कि समय के साथ इन अलग-अलग ‘taste’ तत्वों को भी धीरे-धीरे prompt के रूप में व्यवस्थित किया जा सकेगा। उदाहरण के लिए, एक prompt से code changes के समय अनावश्यक mutability न लाने और जहाँ संभव हो immutable तरीके से लिखने के लिए कहा जा सकता है। एक और prompt बेकार logging से बचने के लिए हो सकता है (मेरी अपनी परिभाषा के अनुसार)। जब मैं code changes review करता हूँ, तो इन सभी prompts को अलग-अलग चलाकर structured MCP outputs के रूप में इकट्ठा करता हूँ। इस तरह इन चीज़ों को code agent पर लागू करके automated review iteration चलाता हूँ। अगर कभी ऐसी स्थिति आती है जहाँ context मुझे खुद जोड़ना पड़ता है, तो मैं नया prompt बनाता हूँ या मौजूदा prompt का विस्तार करके उसे मज़बूत करता हूँ
  • मज़ेदार बात यह है कि जिस क्षेत्र का अनुभव 1–2 साल से ज़्यादा का नहीं लगता, उसमें भी ‘authority’ उभर आते हैं। यह कुछ-कुछ ‘2 साल पुरानी भाषा में 10 साल का अनुभव’ वाले meme का उल्टा संस्करण लगता है
    • मैं GPT-3 आने के समय से ही ऐसी चीज़ें बना रहा हूँ जिन्हें ‘ai agent’ कहा जाता है, और मेरे अलावा भी बहुत से लोगों का अनुभव ऐसा ही रहा है। अब तो 5 साल हो चुके हैं; अगर 5 साल में भी विशेषज्ञ पैदा न हों, तो फिर मानना पड़ेगा कि शायद विशेषज्ञ नाम की चीज़ ही नहीं है। हाँ, आजकल ‘agent’ शब्द खुद एक buzzword बनता जा रहा है, इसलिए उसका अर्थ भी धुंधला हो रहा है
    • लेकिन जब “मैंने दर्जनों टीमों के साथ काम किया है...” जैसी बातें पढ़ता हूँ तो प्रतिक्रिया थोड़ी नाटकीय लगती है
  • मुख्य सार: अगर आपके पास पहले से परिभाषित solution है, तो एजेंट की ज़रूरत नहीं है (जैसे लेख में आए ‘patterns’)। आम तौर पर programmers उन समस्याओं के लिए, जिन्हें program से हल किया जा सकता है, ज़्यादा सरल और भरोसेमंद तरीका सुझाते हैं। भविष्य में AI इतना स्मार्ट हो सकता है कि हर समस्या को brute force से हल कर दे, लेकिन अभी यह बस complexity बढ़ाता है। मुझे लगता है लोग एजेंट को लेकर उत्साहित इसलिए भी हैं क्योंकि ज़्यादातर ने LLM को पहले chat assistant के रूप में जाना। ऐसे chat assistant मामलों में तयशुदा solution नहीं होता और interaction काफ़ी complex हो सकता है, इसलिए वहीं agent वास्तव में काम आता है। उदाहरण: “सबसे नज़दीकी Friday evening ढूँढ़ो और Bob को message भेजो कि क्या वह मिल सकता है”—ऐसी चीज़ों के लिए हर संभावित case को पहले से program करना मुश्किल है। Assistant के साथ interaction के तरीके लगभग अनंत हो जाते हैं, इसलिए agent उपयुक्त हो जाता है
    • यह तब बहुत अच्छा काम करता है जब verification की speed खुद करके करने से तेज़ हो। लेकिन मेरे लिए बिना verify किए AI पर भरोसा करना मुश्किल है
  • मुझे समझ नहीं आता कि इतने सारे उदाहरण आख़िरकार “spam को तेज़ और बेहतर तरीके से भेजने के तरीक़े” पर ही क्यों आकर टिक जाते हैं
    • सच कहूँ तो क्या वही उदाहरण नहीं था? LinkedIn crawl करके लोगों को ढूँढ़ना और उन्हें ‘personalized’ emails के रूप में spam भेजना
    • इसे ऐसे भी कहा जा सकता है कि पहिया आख़िर grease के बिना नहीं घूमता
  • 2023 के अंत से 2024 की शुरुआत तक यह बात सही थी, लेकिन अब mid 2025 के आसपास SOTA LLM के साथ मुझे लगता है कि यह कई कामों पर लागू नहीं होती। पहले ज़्यादातर लोग LLM को function की तरह call करते थे, लेकिन वह आंशिक रूप से गलत tool choice का नतीजा भी था। आज के top-tier LLM (Gemini 2.5 Pro, Claude 4 आदि) सच में बहुत स्मार्ट हैं, और ‘instruction following’ तथा tool selection में बहुत अच्छे हो गए हैं। Checklist tools, delegate commands, task breakdown जैसी चीज़ें अब भी ज़रूरी हैं। लेकिन instructions बनाकर commands निर्दिष्ट करने का तरीका—खासकर जब UI environment में tool commands आसानी से तय किए जा सकें—workflow की तुलना में ज़्यादा flexible और ऊँचे स्तर का abstraction है। Visual workflows भी आख़िरकार नाज़ुक और tune करना कठिन programming ही हैं। 6–12 महीने पहले यह संभव नहीं था, लेकिन अगर आपके LLM अच्छे नहीं हैं तो यह बात अभी भी लागू नहीं होगी। बड़े परिप्रेक्ष्य में, instruction following और tool integration अच्छी तरह करने वाले models अभी कम हैं, इसलिए ऐसे models पर agent लागू करना फ़ायदेमंद है। अगले 1–2 साल में browser/computer-use agents का बड़ा trend आएगा। इनमें अच्छे memory systems और ‘demonstration/observation mode’ भी जुड़ेंगे, ताकि यूज़र के UI इस्तेमाल करने की प्रक्रिया को सीखना (record करना) संभव हो, और इंसानी मौखिक/दस्तावेज़ी निर्देशों से optimized procedures भी सीखे जा सकें
    • हाल में सबसे शक्तिशाली agent models (Claude Opus 4 आदि) आने के बाद स्थिति पूरी तरह बदल गई है। अच्छे context की ज़रूरत अब भी है, लेकिन tools के बारे में सटीक चुनाव करने की क्षमता वाकई शानदार है
    • मूल पोस्ट की तकनीकों में ज़्यादातर चीज़ें बस ‘data flow graph के रूप में समस्या को model करना और उसी का पालन करना’ हैं। अगर modeling से आगे बढ़कर बस ‘यह खुद समझ जाएगा’ वाले रवैये से काम करेंगे, तो वह engineering नहीं बल्कि faith है
  • पिछले 3 हफ़्तों से मैं agents को स्थिर रूप से चलाने की कोशिश कर रहा था, लेकिन अंत में कहीं अधिक सरल pattern पर लौटना पड़ा। मौजूदा एजेंट मुझे ऐसे लगते हैं जैसे विकास के शुरुआती चरण में ‘छह उँगलियों वाला हाथ’
  • जब कोई “coordinator काम की परिभाषा साफ़ न हो तो हार मान लेता है” जैसी बात देखकर “तो coordinator भी हटा दो और imperative logic पर जाओ” वाला निष्कर्ष निकालता है, तब मुझे लगता है कि शायद वह समस्या prompt या tool description को ज़्यादा ठोस लिखकर, और intermediate summaries या LLM context compression जैसी प्रक्रियाएँ जोड़कर हल की जा सकती थी। अगर लेख में वास्तव में उपयोगी लंबे tool descriptions/prompts के उदाहरण ही नहीं हैं, तो निर्णय लेना आसान नहीं है। सहज रूप से तो काम के अनुकूल orchestration ही जवाब लगता है, लेकिन मुझे सच में विश्वास है कि बहुत अधिक कामों में agentic orchestration प्रभावी रूप से इस्तेमाल हो सकती है
  • मैं भी 100% सहमत हूँ। Agents वाकई मज़ेदार हैं और experiment के लिए अच्छे हैं, लेकिन वास्तविक productivity बढ़ाने के लिए ज़रूरी यह है कि खास workflows और processes को अच्छे से orchestrate किया जाए, और उन हिस्सों पर ध्यान दिया जाए जो केवल AI से संभव हैं। वैसे ai.intellectronica.net पर AI workflows के बारे में लेख भी सुझाऊँगा
  • आजकल मैं यह बहुत देख रहा हूँ कि मौजूदा workflow orchestration tools में LLM जोड़कर सिस्टम बनाना बहुत आसान हो गया है। ज्यादातर complexity a) model itself (जहाँ नए labs इस्तेमाल में आसान models दे रहे हैं), b) workflow को production तक ले जाना (जो workflow tools आसान बना देते हैं) में है। चूँकि ये workflows मौजूदा business processes पर आधारित होते हैं, इसलिए उनकी value को पहचानना और मापना आसान होता है। ऐसे patterns इतने बढ़ गए कि मैंने Airflow (एक बहुत लोकप्रिय workflow tool) के लिए बाकायदा SDK पैकेज करके जारी कर दिया।
    https://github.com/astronomer/airflow-ai-sdk
 
sto1111 2025-07-08

मैं भी अभी UseDesktop

https://youtu.be/aBkbsvMxP_A?si=uaugxKQEu4ZEz7jq

usedesktop.com

नाम का एक Computer-use Agent बना रहा हूँ, और ज़्यादातर बातों से सहमत हूँ.

इस लेख में व्यावहारिक टिप्स से ज़्यादा बस एक बड़ा overview दिया गया है, इसलिए अगर LLM based agentic/agent डेवलप करते समय कुछ और टिप्स जोड़ूँ, तो आखिरकार LLM transformer (यानी probabilistic based inference; मौजूदा token/state के आधार पर अगले token को संदर्भ/semantic रूप से सच में “समझकर” अगला शब्द बोलने के बजाय probability के आधार पर output देने वाला) पर आधारित होता है. इसलिए चाहे sys prompt कितना भी अच्छा लिख दें, कई बार वह मनचाहा जवाब नहीं देता (जैसे JSON output में जवाब देने को कहें, लेकिन कभी-कभी } छोड़ दे वगैरह). इसलिए regex based कई fallback fn जोड़ना हमेशा ज़रूरी है.

और अगर structured output देने वाला sys prompt लिखते हैं, तो आम तौर पर non reasoning model इस्तेमाल करें. Context जितना लंबा होता है, hallucination उतनी ज़्यादा होती है, इसलिए कई बार एक sys prompt लंबा करने के बजाय कई sys prompt बनाकर chaining करना बेहतर होता है.

अगर आप service डेवलप कर रहे हैं, तो कई तरह की errors आ सकती हैं, इसलिए service architecture को modular और fault tolerant बनाकर डिज़ाइन करना सबसे अहम है (जैसे supervisor agent को async रखना और बाकी agents को sync). खासकर ऐसे agentic/agents में, जहाँ unexpected output बहुत बार आता है. इसलिए शुरू से ही code लिखते समय SRP को मानते हुए declarative तरीके से लिखना अच्छा है. मेरा कहना है कि functional approach बेहतर है (= side effect नहीं होता, और flow intuitive रहता है).

और LLM को API के जरिए इस्तेमाल कर रहे हैं या खुद model serving करेंगे, इस पर भी फर्क पड़ता है. लेकिन अगर आप खुद SLM या LLM serve करने वाले हैं, तो backend host करने वाले उसी server पर model serving मत रखिए. IO bound task और CPU bound tasks (यानी GPU required, matrix multiplication जैसी चीज़ों वाले tasks) को अलग-अलग servers पर रखना fault tolerant होने के लिहाज़ से बेहतर है (जैसे runpod पर cpu bound task host करना).

इसके अलावा भी कई development tips हैं, लेकिन जवाब बहुत लंबा हो जाएगा इसलिए अभी यहीं तक लिखता हूँ.

उम्मीद है यह किसी के काम आएगा.

 
jypark 2025-07-09

अपना बहुमूल्य अनुभव और विचार साझा करने के लिए आपका बहुत-बहुत धन्यवाद। इस तरह मैदान में काम कर रहे व्यक्ति की राय वास्तव में बहुत मददगार होती है।