Aider - टर्मिनल में AI के साथ pair programming करें
(github.com/paul-gauthier)- GPT-3.5/GPT-4 के साथ pair programming करते हुए लोकल git रिपॉज़िटरी में सेव किए गए कोड को एडिट करने में मदद करने वाला कमांडलाइन टूल
- aider लोकल source files के कोड को सीधे एडिट करता है और उपयुक्त commit message के साथ बदलावों को git commit करता है
- आप नया प्रोजेक्ट शुरू कर सकते हैं या मौजूदा git रिपॉज़िटरी में काम कर सकते हैं
- aider की खास बात यह है कि आप पहले से मौजूद बड़े codebase में बदलावों का अनुरोध कर सकते हैं
मुख्य फीचर्स
- एडिट करने वाले source files के सेट के साथ कमांडलाइन से aider शुरू करके आप कोड के बारे में GPT से चैट कर सकते हैं। aider के जरिए GPT उन files की सामग्री देखता है और उन्हें एडिट करता है
- GPT python, javascript, typescript, php, html, css जैसी ज़्यादातर लोकप्रिय भाषाओं में कोड लिख और एडिट कर सकता है
- आप कोड के लिए नए फीचर, बदलाव, सुधार या bug fix का अनुरोध कर सकते हैं। नए test case, अपडेटेड documentation या code refactoring भी मांग सकते हैं
- aider GPT द्वारा सुझाए गए संशोधनों को सीधे source files पर लागू करता है
- aider हर change set को विवरण वाले commit message के साथ लोकल git रिपॉज़िटरी में अपने आप commit करता है। ये बार-बार होने वाले auto commit एक safety net देते हैं। आप बदलावों को आसानी से undo कर सकते हैं या standard git workflow का इस्तेमाल करके लंबे change sequence को मैनेज कर सकते हैं
- कई source files को एक साथ aider के साथ इस्तेमाल किया जा सकता है, इसलिए GPT एक ही change set/commit में सभी files के बीच कोड बदलावों का समन्वय कर सकता है
- aider GPT-4 को पूरी git रिपॉज़िटरी का map दे सकता है, जिससे बड़े codebase को समझने और संशोधित करने में मदद मिलती है
- aider के साथ चैट करते समय आप editor का उपयोग करके files को मैन्युअली भी एडिट कर सकते हैं। aider ऐसे out-of-band edits को पहचान लेता है और GPT को files के नवीनतम version के साथ up to date रखता है। इससे आप aider चैट और editor के बीच आते-जाते हुए GPT के साथ मिलकर coding कर सकते हैं
- openai के जरिए सीधे gpt-4 का उपयोग करने पर आप image files को context में जोड़ सकते हैं, और ऐसा करने पर यह अपने आप gpt-4-vision-preview मॉडल पर स्विच हो जाता है
चैट के अंदर कमांड
- aider चैट के अंदर
/से शुरू होने वाले कमांड्स को सपोर्ट करता है। कुछ सबसे उपयोगी in-chat commands:/add: मैच होने वाली files को चैट session में जोड़ें/drop: मैच होने वाली files को चैट session से हटाएँ/undo: अगर aider ने किया हो तो आख़िरी git commit को undo करें/diff: आख़िरी aider commit का diff दिखाएँ/run: shell command चलाएँ और चाहें तो उसका output चैट में जोड़ें/voice: आवाज़ से कोड बदलाव माँगने के लिए aider से बात करें/help: सभी commands के लिए help दिखाएँ
टिप्स
- बदलाव करने के लिए सोचें कि किन files को एडिट करना होगा और उन्हें चैट में जोड़ें। aider कुछ हद तक यह समझ सकता है कि GPT को कौन-सी files एडिट करनी चाहिए, लेकिन सबसे प्रभावी तरीका है कि ज़रूरी files को आप खुद स्पष्ट रूप से चैट में जोड़ें
- बड़े बदलावों को approach और overall design की योजना बनाते हुए सोच-समझकर चरणों की sequence में करना सबसे अच्छा है। बदलावों को GPT को ऐसे गाइड करें जैसे आप किसी junior developer के साथ काम कर रहे हों। पहले तैयारी के लिए refactoring माँगें, फिर वास्तविक बदलावों का अनुरोध करें। code quality/structure सुधारने के लिए समय देना चाहिए
- अगर GPT उपयोगी जवाब नहीं दे रहा हो, तो Control-C का उपयोग करके उसे सुरक्षित रूप से रोक सकते हैं। आंशिक जवाब बातचीत में बने रहते हैं, इसलिए GPT को ज़्यादा जानकारी या दिशा के साथ जवाब देते समय उनका संदर्भ लिया जा सकता है
/runकमांड का उपयोग करके tests, linter आदि चला सकते हैं और उनका output GPT को दिखाकर समस्याएँ हल कर सकते हैं- Meta-ENTER (कुछ environments में Esc+ENTER) का उपयोग करके multi-line chat message दर्ज किए जा सकते हैं। या फिर पहली पंक्ति में सिर्फ
{लिखकर multi-line message शुरू करें और आख़िरी पंक्ति में सिर्फ}लिखकर message समाप्त करें - अगर कोड में error आए, तो
/runका उपयोग करें या error output को चैट में paste करके GPT के साथ साझा करें। GPT से bug ढूँढ़ने और उसे ठीक करने को कहें - GPT कई standard tools और libraries के बारे में जानता है, लेकिन API और function arguments के विवरण को कभी-कभी गलत समझ सकता है। documentation snippets को चैट में paste करके इन समस्याओं को हल किया जा सकता है
- GPT सिर्फ उन्हीं files की सामग्री देख सकता है जिन्हें विशेष रूप से "चैट में जोड़ा" गया है। aider पूरी git रिपॉज़िटरी का map भी GPT-4 को भेजता है। इसलिए अगर GPT को लगे कि अनुरोध के लिए ज़रूरी है, तो वह अतिरिक्त files देखने का अनुरोध कर सकता है
GN⁺ की राय
- बड़े प्रोजेक्ट्स में aider का उपयोग करने से पूरे codebase में एकसमान बदलावों को आसानी से लागू किया जा सकता है। खासकर GPT-4 की क्षमता के साथ मिलकर यह और भी शक्तिशाली लगता है
- हालांकि GPT द्वारा सुझाए गए बदलावों को बिना सोचे-समझे स्वीकार करने के बजाय, developer द्वारा सीधे review और testing की प्रक्रिया ज़रूरी लगती है। अभी GPT मॉडल पूरी तरह परफेक्ट नहीं हैं, इसलिए bugs आने की संभावना रहती है
- सिर्फ कोड ही नहीं, documentation और test case लिखने में भी aider उपयोगी हो सकता है। GPT की natural language understanding क्षमता का उपयोग करके बेहतर गुणवत्ता वाली documentation और test code तेज़ी से तैयार किए जा सकते हैं
- CLI-आधारित होने से इसकी accessibility अच्छी है, लेकिन अगर editor plugins आदि के जरिए इसे development environment के साथ और अधिक गहराई से जोड़ा जाए तो developer productivity बढ़ाने में बहुत मदद मिल सकती है
- GitHub Copilot जैसे समान AI pair programming tools की तुलना में इसकी अलग पहचान GPT-4 के उपयोग और git-आधारित workflow में दिखती है। मौजूदा tools के साथ इसके फायदे-नुकसान की तुलना दिलचस्प होगी
1 टिप्पणियां
Hacker News राय
नीचे Hacker News टिप्पणियों का सारांश दिया गया है: