Glamorous Toolkit
(gtoolkit.com)- जैसे-जैसे बड़े सिस्टम और AI द्वारा तेज़ी से बनाया गया code इंसानों के लिए लगातार पढ़कर समझना कठिन होता जा रहा है, Glamorous Toolkit deterministic context tools के जरिए सिस्टम को समझने में मदद करने वाला Moldable Development Environment बनने का लक्ष्य रखता है
- हर सवाल के लिए सिस्टम के जरूरी हिस्से को compress करने वाले context tools बनाए जाते हैं, और उन्हें संबंधित objects या situations से जोड़कर केवल जरूरत पड़ने पर activate किया जाता है
- built-in agent harness conversation context, tools और structured output को script के रूप में define करता है, और इसे OpenAI, Anthropic, Ollama या अपने provider के साथ इस्तेमाल किया जा सकता है
- इसका उपयोग legacy system analysis से आगे बढ़कर domain discovery, API·data·log exploration, documentation, domain modeling, code rewriting, AI conversations और runtime inspection तक फैला है
- यह MIT license वाला free open source है; यह Pharo-based Smalltalk पर केंद्रित है, लेकिन Rust और कई languages·runtime analysis तक extend किया जा सकता है
सिस्टम और AI को समझने के लिए Moldable Development Environment
- Glamorous Toolkit का लक्ष्य सिस्टम के बारे में बेहतर तरीके से जानकारी प्राप्त करने के तरीके को optimize करना है
- सिस्टम बहुत बड़े हैं, और AI code बहुत तेज़ी से generate करता है, इसलिए सिर्फ code reading से समझने का तरीका bottleneck बन जाता है
- reading-centric approach के बजाय, problem के आसपास के सिस्टम को compress करने वाले deterministic context tools इस्तेमाल किए जाते हैं
- ये tools इंसानों और AI को सिस्टम को तेज़ी से explore करने में मदद करते हैं, और इन्हें एक integrated environment के भीतर सीधे बनाया जा सकता है या AI के साथ मिलकर बनाया जा सकता है
- मौजूदा सिस्टम से जुड़े सवालों का जवाब context tools से बने narrative के जरिए दिया जा सकता है
Built-in agent harness
-
Programmable agents
- script से conversation का context, tools और structured output define किया जा सकता है
-
Extensible agent memory
- code और examples से जुड़े executable explanations के जरिए context define किया जाता है
- context views का उपयोग करके agent memory को arbitrary objects तक extend किया जा सकता है
-
Explainable agent behavior
- AI जो कहता है कि उसने क्या किया, उसे जस का तस मानने के बजाय, context views के जरिए deterministic तरीके से समझा जा सकता है
-
Text नहीं, objects
- live objects को conversation में पास किया जा सकता है और structured objects वापस पाए जा सकते हैं
- हर object के पास context views होते हैं जिन्हें इंसान और AI explore कर सकते हैं
- इसे OpenAI, Anthropic, Ollama के साथ इस्तेमाल किया जा सकता है, और अपना provider भी बनाया जा सकता है
Context tools की जरूरत क्यों है
- software का कोई आकार नहीं होता, और software system के भीतर कुछ भी tools के बिना perceive नहीं किया जा सकता
- tools software को रूप देते हैं, इसलिए tools को control करने से perception और understanding भी control की जा सकती है
- software बहुत context-dependent होता है, इसलिए tools के effective होने के लिए उनमें भी context होना चाहिए
- एक software system की कोई single representation नहीं होती
- code का text form भी input medium का सिर्फ एक incidental form है
- problem के हिसाब से अलग-अलग representations की जरूरत होती है
- Glamorous Toolkit को interactive और visual operators से बनी language की तरह design किया गया है, ताकि बड़ी संख्या में unpredictable context tools को accommodate किया जा सके
- micro-tools को कम cost में program और compose किया जा सकता है
- tools को live environment में कई तरीकों से बनाया जा सकता है
Tools, compression और inversion of control
- tool calculation के साथ interact करने वाला interface है
- यह settings editor, runtime debugger या API inspector हो सकता है
- यह complex tool भी हो सकता है, या किसी एक सवाल पर focus करने वाला simple tool भी
- यह visual या plain-text based हो सकता है
- यह general-purpose हो सकता है, या केवल narrow input से संबंधित context tool हो सकता है
- general-purpose tools व्यापक रूप से apply होते हैं, लेकिन इसकी कीमत यह है कि वे हर चीज़ को लगभग एक जैसा दिखा देते हैं
- software system की value हमेशा specific होती है, इसलिए context tools उस value को ज्यादा efficient और comfortable तरीके से पहुँचा सकते हैं
- system understanding आखिरकार सवालों के जवाब देने की प्रक्रिया है
- जवाब system artifacts के भीतर होते हैं, लेकिन artifacts इतने बड़े होते हैं कि उन्हें पढ़ना कठिन होता है
- tools जवाब पाने के तरीके को deterministic रूप से encode करते हैं
- tool का result उस सवाल के लिए system के compression की तरह काम करता है
- हर सवाल का जवाब deterministic context tool से देने के लिए हर system में हजारों tools की जरूरत होगी
- Glamorous Toolkit में users tools को explicitly call करने के बजाय, उन्हें relevant context से जोड़ते हैं ताकि वे केवल उस context के साथ interact करते समय activate हों
- यह context individual object जैसी basic unit भी हो सकता है
Typical Moldable Development flow
- एक specific सवाल से शुरुआत होती है
- अगर relevant tool नहीं है, तो नया बनाया जाता है
- जवाब की व्याख्या की जाती है और decision लिया जाता है
- यह process repeat होती है
Object views और narratives
- objects से जुड़े views documentation की unit बनते हैं
- जब objects automatic examples से generate और test किए जाते हैं, तो tutorials से लेकर architecture constraints और business processes तक लंबे समय तक टिकने वाले concepts को convey करने वाला defined narrative बनाया जा सकता है
- यह narrative इंसानों और AI दोनों के लिए design किया जा सकता है
- वही components पूरी development experience में integrate होते हैं, इसलिए code के साथ automatic testing और refactoring संभव होती है
- defined narratives reusable pieces हैं, लेकिन software के contextual nature के कारण बड़े सवालों का on-demand जवाब देने वाले dynamic narratives भी जरूरी होते हैं
- cluster performance investigation
- COBOL system structure exploration
- narratives system के विभिन्न aspects को represent करने वाले किसी भी object को handle कर सकते हैं, जिसमें domain भी शामिल है
- अलग-अलग backgrounds और interests वाले stakeholders को target किया जा सकता है, इसलिए environment system stakeholders के बीच conversation को mediate करता है
Context editing
- contextualization, editing सहित system के साथ सभी interactions तक extend होती है
- system कई aspects से बना होता है
- technology
- domain rules
- conventions
- libraries
- interfaces
- tests
- generated artifacts
- runtime behavior
- editing सिर्फ text input नहीं, बल्कि इन aspects में से कुछ को affect करने वाली action है
- हर change उस context के भीतर होता है जो उसका meaning तय करता है
- general-purpose editors इस context को flat बना देते हैं और user को editor-level पर काम करने के लिए मजबूर करते हैं
- context editors interaction को user के mental model से मेल खाने वाले level तक ऊपर ले जाते हैं
उपयोग का दायरा और सीमाएँ
- Glamorous Toolkit का इस्तेमाल मुख्य रूप से system को समझने और बदलने के लिए tools, views, explanations और workflows बनाने में होता है
- यह alternative application platform नहीं है
- इसे बड़े legacy systems में भी इस्तेमाल किया जा सकता है, लेकिन इसमें कई अन्य scenarios भी शामिल हैं
- domain discovery
- API exploration
- data exploration
- log understanding
- documentation
- domain modeling
- code rewriting
- AI conversations
- runtime inspection
- standard tools general-purpose problems के लिए उपयोगी होते हैं
- किसी specific system के भीतर उभरने वाले specific सवालों के लिए context tools की जरूरत होती है
AI summaries और deterministic tools
- system से जुड़े ज्यादातर सवाल system information पर आधारित deterministic answers मांगते हैं
- AI summaries convenient हो सकती हैं, लेकिन यह पता नहीं होता कि वे accurate हैं या representative, और वे explainable भी नहीं होतीं
- engineering purposes के answers में accuracy, representativeness और explainability महत्वपूर्ण हैं
- deterministic context tools में भी bias हो सकता है, लेकिन output interpret करने से पहले उस bias की जांच की जा सकती है
- अधिक जानकारी Rewilding Software Engineering chapter 6 में देखी जा सकती है
Implementation और supporting technologies
- Glamorous Toolkit का इस्तेमाल करके context tools बनाना मुश्किल नहीं है
- environment visual और interactive operators से बनी language की तरह बनाया गया है, ताकि tools को आसानी से program किया जा सके और कई तरीकों से compose किया जा सके
- Glamorous Toolkit खोलने पर development process में इस्तेमाल किए गए 6,000 से अधिक context tools देखे जा सकते हैं
- tools की पूरी क्षमता का उपयोग करने के लिए programming की जरूरत होती है, और मुख्य तरीका Smalltalk में भी Pharo है
- Smalltalk को मुख्य रूप से इसलिए इस्तेमाल किया गया क्योंकि यह ऐसा reflective system देता है जिसमें उपयोग के दौरान भी environment को live बदला जा सकता है
- अभी Glamorous Toolkit का बड़ा हिस्सा Rust में भी implement किया गया है, और यह कई technologies के साथ काम करता है
- Pharo support sophisticated है, लेकिन इसे अन्य technologies और languages तक extend करने के लिए design किया गया है
- analyze किए जा सकने वाले source examples: Rust, Java, C#, Ruby/Rails, Python, TypeScript, JavaScript, React, COBOL
- जिन runtimes के साथ काम किया जा सकता है उनके examples: GraphQL, Python, JavaScript, Gemstone
- यह support built-in है, और इसे हर language और technology के लिए users द्वारा खुद बनाए जा सकने वाले examples के रूप में भी देखा जा सकता है
License और resources
- Glamorous Toolkit MIT license वाला free open source है
- practical details Glamorous Toolkit book में देखी जा सकती हैं
- higher-level explanation moldabledevelopment.com पर देखी जा सकती है
- getting started resources Get started पर उपलब्ध हैं
अभी कोई टिप्पणी नहीं है.