• बड़े codebase में LLM का प्रभावी उपयोग करने के लिए ‘guide’ और ‘oversight’ में निवेश सबसे महत्वपूर्ण है
  • Guide संदर्भ और वातावरण प्रदान करता है ताकि LLM बेहतर निर्णय ले सके, और oversight परिणामों की पुष्टि करने और दिशा देने की भूमिका निभाता है
  • Prompt library बनाना महत्वपूर्ण है ताकि LLM codebase के नियम, documentation और best practices को समझ सके
  • Technical debt management, code structure की सरलता, modularization और consistency सीधे तौर पर LLM की code समझ और productivity सुधार से जुड़े हैं
  • Automated oversight और verification system के जरिए LLM को सुरक्षित और consistent code generate करने में सहायता देना दीर्घकालिक scalability की कुंजी है

LLM स्केलिंग के लिए मुख्य अवधारणाएँ

  • बड़े codebase में LLM को लागू करने का तरीका अभी पूरी तरह स्थापित नहीं है, लेकिन guide और oversight में निवेश को सबसे प्रभावी दृष्टिकोण के रूप में प्रस्तुत किया गया है
  • Guide(Guidance) का अर्थ है वह संदर्भ और वातावरण जो LLM को सही निर्णय लेने में मदद करे, जबकि oversight की भूमिका generated परिणामों की पुष्टि करना और दिशा समायोजित करना है

Guide में निवेश

  • यदि LLM से एक ही प्रयास में high-quality code generate कराने वाला ‘one-shotting’ हासिल करना है, तो स्पष्ट guide आवश्यक है
    • इसके विपरीत, जब परिणाम अनुपयुक्त हो और manual correction की जरूरत पड़े, तो वह rework बन जाता है और अक्षम होता है
  • क्योंकि LLM code के भीतर हर चुनाव (variable name, function structure, tech stack आदि) generate करता है, इसलिए आदर्श स्थिति यह है कि prompt में केवल business requirements हों और बाकी बातें inferable या encoded हों

Prompt library बनाना

  • Prompt library LLM के लिए संदर्भों का एक संग्रह है, जिसमें codebase की documentation, best practices और structural map शामिल होते हैं
    • जब भी LLM का output गलत दिशा में जाए, तब यह समीक्षा करें कि “क्या अधिक स्पष्ट किया जाना चाहिए था” और उसे library में जोड़ें
    • व्यापकता और संक्षिप्तता के बीच संतुलन महत्वपूर्ण है
  • उदाहरण में @prompts/How_To_Write_Views.md, @prompts/The_API_File.md जैसे दस्तावेज़ LLM को देकर feature development को निर्देशित किया गया है
  • Prompt पर्याप्त रूप से specific होना चाहिए, लेकिन generated code की हर पंक्ति की समीक्षा करनी चाहिए

Environment और code quality

  • Technical debt अधिक होने वाला codebase, LLM के उपयोग की दक्षता को कम कर देता है
    • Meta के उदाहरण में कहा गया है कि technical debt के कारण automation लक्ष्य हासिल करना कठिन था
  • Clean code, modularization, clear naming, simple structure LLM की समझ और accuracy को बेहतर बनाते हैं
  • Django उदाहरण में, हर app का entry point _api.py file में रखकर ऐसी संरचना बनाई गई है जिससे LLM आवश्यक functionality जल्दी खोज सके
    • उदाहरण: visit_api.handoff_to_doctor(user) के रूप में external access को एकीकृत करना
    • _api pattern को prompt library में स्पष्ट रूप से लिखकर LLM को सही स्थान संदर्भित करने के लिए प्रेरित किया जाता है

Oversight में निवेश

  • LLM automation को engineer की जगह लेने के बजाय टीम को मजबूत करने की दिशा में देखा जाना चाहिए
  • Oversight का अर्थ team, alignment और workflow में निवेश भी है
    • Team स्तर पर design capability को बढ़ाना महत्वपूर्ण है, और यही architecture quality से जुड़ता है
  • Design capability बढ़ाने के तरीकों में किताबें·ब्लॉग·code पढ़ना, masterwork को दोहराना, और स्वयं implementation का अभ्यास करना शामिल है
    • उदाहरण: TLDraw, SerenityOS Jakt जैसे code का विश्लेषण करके design intuition का विस्तार करना

Automated oversight

  • Design verification का कुछ हिस्सा programmatically automate किया जा सकता है
    • उदाहरण: type error या rule violation पर environment में तुरंत feedback देना
  • ‘Safety’ का मतलब abstraction की रक्षा करना है
    • Pierce की परिभाषा के अनुसार, एक safe language यह सुनिश्चित करती है कि programmer अनजाने में abstraction को न तोड़े
  • उदाहरण: Django app के बीच internal file पर direct access को प्रतिबंधित करने वाले नियम को AST-आधारित inspection script से automate करना
    • from visit import logic.internal_file जैसे अवैध access का पता लगाना

Verification

  • Design और implementation के अलावा verification चरण (code review, QA) भी quality सुनिश्चित करने के लिए आवश्यक है
  • जैसे-जैसे workload बढ़ता है, review speed bottleneck बन सकती है, इसलिए निम्न सुधार सुझाए गए हैं
    • Development environment के बिना भी QA संभव बनाने के लिए entry barrier कम करना
    • Test data generation जैसी चीज़ों सहित ऐसा environment बनाना जिसमें test लिखना आसान हो
    • बार-बार दोहराए जाने वाले PR feedback को दस्तावेज़ित करके LLM को कुछ review अपने-आप करने में सक्षम बनाना
    • Security rules को framework defaults में शामिल करना

निष्कर्ष और अतिरिक्त अवलोकन

  • LLM खासकर नए (greenfield) project में बहुत अच्छा काम करता है
    • क्योंकि वहाँ पहले से संदर्भ नहीं होता और consistency की मांग भी कम होती है
  • जैसे-जैसे project बड़ा होता है, consistency और modularization productivity तय करते हैं
    • Verified components के पुन: उपयोग पर आधारित modular structure कुशल विकास की कुंजी है

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

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