• Qodo वह टीम है जो GPT-3 के दौर से AI कोडिंग सहायक टूल बना रही है, और हाल में उसने अधिक लचीले और डायनेमिक कोडिंग एजेंट बनाने के लिए LangGraph framework चुना
  • यह दस्तावेज़ बताता है कि LangGraph किस तरह development flow की flexibility और code quality standards—दोनों को एक साथ पूरा कर सका

शुरुआती structured approach से LangGraph की ओर बदलाव

  • GPT-3 आधारित शुरुआती चरण में test generation, code review, improvement tasks जैसे स्पष्ट flow वाले structured काम केंद्र में थे
  • Claude Sonnet 3.5 के बाद LLM की performance में बड़ा सुधार हुआ, जिससे अधिक dynamic agent design संभव हुआ
  • पहले केवल standardized workflow ही संभव थे, लेकिन नए models का उपयोग करके user requests के अनुसार लचीले ढंग से प्रतिक्रिया देने वाला system बनाना लक्ष्य था
  • तेज़ experimentation और validation के लिए उपयुक्त framework खोजते हुए LangGraph चुना गया, और यह शुरुआती proof of concept से आगे बढ़कर वास्तविक product तक scale कर सका

लचीलापन और स्पष्ट नियमों का सह-अस्तित्व

  • LangGraph state machine पर आधारित graph structure प्रदान करता है
  • हर node workflow के अलग-अलग चरणों (context collection, planning, execution, validation आदि) को संभालता है, और edge चरणों के बीच transition rules तय करते हैं
  • edge की density के अनुसार workflow कितना flexible या कितना structured होगा, यह बदलता है
    • sparse graph → स्थिर और अनुमानित flow
    • dense graph → dynamic flow और कई रास्ते चुनने की क्षमता
  • LangGraph की खासियत यह है कि model के विकसित होने के साथ workflow के structure level को आसानी से फिर से समायोजित किया जा सकता है
  • मुख्य flow की संरचना इस प्रकार है:
    • context collection → task planning → code execution → result validation → असफल होने पर पुनरावृत्ति

संक्षिप्त और सहज interface

  • LangGraph declarative तरीके से workflow परिभाषित करने देता है, इसलिए code लगभग documentation की तरह पढ़ा जा सकता है
  • यह state graph घोषित करके, फिर उसमें nodes और edges जोड़ने के तरीके से काम करता है
  • conditional flow भी आसानी से लागू किया जा सकता है (उदाहरण: validation fail होने पर execution node पर loop)
  • LangChain की जटिल abstractions के विपरीत, LangGraph में logic साफ़ दिखाई देता है, इसलिए developer experience बेहतर है

अलग-अलग workflows के बीच reusability

  • node-आधारित structure की वजह से components का reuse आसान है
    • उदाहरण: context collection node और validation node अधिकांश flows में बार-बार उपयोग होते हैं
  • नए specialized flows (जैसे TDD) बनाते समय भी मौजूदा nodes को फिर से जोड़कर तेज़ी से विस्तार किया जा सकता है

built-in state management

  • LangGraph state persistence की सुविधा built-in रूप में देता है, इसलिए persistence implement करना बहुत आसान हो जाता है
    • उदाहरण: Postgres के ज़रिए checkpointing कुछ ही lines of code में configure की जा सकती है
  • collected context, plans, execution results सहित पूरी state को save किया जा सकता है, और branch व rollback features भी समर्थित हैं
  • SQLite, in-memory जैसी दूसरी storage methods पर भी आसानी से switch किया जा सकता है

जिन हिस्सों में सुधार की ज़रूरत है

  • framework तेज़ी से विकसित हो रहा है, इसलिए कभी-कभी documentation अधूरी होती है या updates देर से आते हैं
    • अच्छी बात यह रही कि Slack के माध्यम से maintainers के साथ संवाद तेज़ और सक्रिय था
  • non-deterministic LLM systems की testing अब भी एक चुनौती है
    • IDE के साथ interact करने वाले agents के लिए automated test environment बनाना कठिन है
    • IDE की कुछ सुविधाओं को mock करना बहुत मुश्किल था, इसलिए manual testing पर निर्भर रहना पड़ा, जिससे iteration की गति धीमी हुई
  • mature frameworks अक्सर testing और mocking infrastructure देते हैं, और उम्मीद है कि LangGraph भी इस दिशा में आगे बढ़ेगा

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.