• AI प्रोग्रामिंग असिस्टेंट Sketch को विकसित करते समय सबसे चौंकाने वाली बात यह थी कि टूल उपयोग से जुड़ा LLM एजेंट सिर्फ लगभग 9 लाइनों के एक साधारण लूप के साथ भी बेहद ताकतवर तरीके से काम करता है
  • बेसिक फ्लो यह है कि यूज़र इनपुट को LLM को भेजा जाता है, और अगर जवाब में टूल कॉल हो तो उसके निष्पादन परिणाम को फिर से बातचीत में डालकर अगला फैसला लिया जाता है
  • सिर्फ सिस्टम प्रॉम्प्ट, बातचीत का इतिहास, और टूल विवरण के सहारे भी LLM तय किए गए स्कीमा के मुताबिक bash जैसे टूल कॉल कर सकता है
  • Sketch, Claude 3.7 Sonnet और सिर्फ bash के सहारे git काम, merge का पहला चरण, type checker errors को ठीक करना जैसी चीजें करता है, लेकिन कभी-कभी टेस्ट स्किप करने की झुंझलाहट भरी प्रवृत्ति भी दिखाता है
  • अगर डेवलपर वर्कफ़्लो के अनुरूप अतिरिक्त टूल और अस्थायी एजेंट लूप बढ़ते हैं, तो रोज़मर्रा के उन कामों का और बड़ा हिस्सा सौंपा जा सकता है जिन्हें मौजूदा ऑटोमेशन से संभालना मुश्किल था

लगभग 9-लाइन वाला एजेंट लूप

  • Sketch पिछले कुछ महीनों से विकसित किया जा रहा एक AI प्रोग्रामिंग असिस्टेंट है
  • इसका मुख्य लूप यूज़र इनपुट लेता है, LLM कॉल के नतीजे को जांचता है, फिर यदि टूल कॉल हो तो उसके execution result को अगले संदेश में जोड़ता है, और अगर न हो तो फिर से यूज़र इनपुट लेता है
  • पूरे implementation के लिए अतिरिक्त कोड चाहिए, लेकिन मूल विचार लगभग 9-लाइन के लूप जितना सरल है
  • llm() फ़ंक्शन की भूमिका सिस्टम प्रॉम्प्ट, अब तक की बातचीत, और अगले संदेश को LLM API तक भेजने की है
  • टूल उपयोग का तरीका यह है कि LLM किसी विशेष स्कीमा के अनुरूप आउटपुट लौटाता है
    • पूरे स्क्रिप्ट में सिस्टम प्रॉम्प्ट और टूल विवरण प्रॉम्प्ट के जरिए LLM को बताया जाता है कि वह bash तक पहुंच सकता है

Sketch से दिखी संभावनाएँ और सीमाएँ

  • bash नाम के सिर्फ एक general-purpose टूल से भी मौजूदा मॉडल, खासकर Claude 3.7 Sonnet, कई तरह के डेवलपमेंट काम संभाल सकते हैं
    • उलझे हुए git कामों को खोजकर कॉपी-पेस्ट करने के बजाय Sketch से कहा जा सकता है
    • git merge को हाथ से संभालने से पहले Sketch से पहली कोशिश कराई जा सकती है
    • type changes के बाद आने वाली type checker errors को एक-एक करके ठीक करने का काम भी Sketch को दिया जा सकता है
  • सही तरह से prompt करने पर एजेंट लूप लगातार चलता रहता है
    • अगर ज़रूरी टूल इंस्टॉल न हों तो उन्हें इंस्टॉल कर देता है
    • अगर grep के command-line options अलग-अलग environments में अलग हों, तो वह उस अंतर के मुताबिक खुद को ढाल लेता है
  • सीमाएँ भी साफ़ हैं
    • टेस्ट पास न होने पर वह उन्हें बस स्किप करने जैसी हरकत कर सकता है
  • Sketch सिर्फ bash का ही इस्तेमाल नहीं करता, बल्कि quality, iteration speed, और डेवलपर वर्कफ़्लो सुधारने के लिए कुछ अतिरिक्त टूल भी इस्तेमाल करता है
  • LLM से टेक्स्ट को सटीक रूप से edit करवाने वाले टूल अपेक्षा से अधिक कठिन हैं
    • sed की one-liner command में LLM का जूझना यह दिखाता है कि visual editor की ताकत line-oriented editor से अलग होती है
  • एजेंट लूप उन रोज़मर्रा के ऑटोमेशन कामों में और ज़्यादा उपयोगी हो सकता है जो general-purpose tools के लिए बहुत specific थे, और traditional automation के लिए बहुत कठिन या अस्थिर
    • stack trace और git commit को जोड़ने वाला काम ऐसा उदाहरण है जिसमें LLM पहला चरण अच्छी तरह संभाल सकता है
    • custom और ad-hoc LLM एजेंट लूप bin/ directory में और ज़्यादा दिखाई दे सकते हैं

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

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