- SWE-agent, GPT-4 जैसे language models (LMs) को software engineering agents में बदलकर वास्तविक GitHub repositories के bugs और issues को ठीक करता है
- पूरे SWE-bench test set में 12.29% issues को हल करके, पूरे test set पर सर्वश्रेष्ठ प्रदर्शन हासिल किया
एजेंट-कंप्यूटर इंटरफेस (ACI)
- यह परिणाम LM-केंद्रित commands और feedback format डिज़ाइन करके हासिल किए गए, ताकि एजेंट के लिए repository को explore करना, code files को देखना, edit करना और run करना आसान हो सके.
- इसे agent-computer interface (ACI) कहा जाता है, और repository-स्तर के coding agents के लिए ACI design को आसानी से iterate करने हेतु SWE-agent repository बनाई गई.
- यह दिखाता है कि अच्छा ACI design, agents का उपयोग करते समय कहीं बेहतर परिणाम देता है.
सेटअप
- Docker इंस्टॉल करें और लोकल में Docker शुरू करें.
- Miniconda इंस्टॉल करें और
conda env create -f environment.yml का उपयोग करके swe-agent environment बनाएं.
conda activate swe-agent का उपयोग करके इसे activate करें.
./setup.sh चलाकर swe-agent Docker image बनाएं.
- इस repository के root में
keys.cfg फ़ाइल बनाएं और आवश्यक API keys तथा GitHub token दर्ज करें.
उपयोग
- SWE-agent pipeline में दो चरण होते हैं. पहला inference चरण है, जो GitHub issue को input के रूप में लेकर उसे हल करने की कोशिश करने वाला pull request लौटाता है.
- दूसरा चरण केवल SWE-bench benchmark के issues के लिए संभव है, और यह evaluation चरण है जो जांचता है कि बनाया गया pull request वास्तव में issue को हल करता है या नहीं.
मूल्यांकन
- यह चरण केवल SWE-bench set के issues के लिए संभव है.
- बनाए गए pull request का मूल्यांकन करने के लिए
evaluation/ directory में जाएं और ./run_eval.sh चलाएं.
GN⁺ की राय
- SWE-agent, वास्तविक GitHub issues को हल करने में language models का उपयोग करने वाला एक नवोन्मेषी दृष्टिकोण प्रस्तुत करता है, जिससे software development process में automation की संभावनाएं बढ़ती हैं.
- इस तकनीक में यह क्षमता है कि डेवलपर्स बार-बार होने वाले bug-fixing कार्यों से मुक्त होकर अधिक रचनात्मक और जटिल समस्या-समाधान पर ध्यान केंद्रित कर सकें.
- ACI design के महत्व पर ज़ोर देकर, यह मशीन और मनुष्य के बीच interaction को optimize करने वाली interface design की अहमियत को उजागर करता है.
3 टिप्पणियां
ऐसे agent अगर डेवलपर से इस तरह सवाल पूछते हुए काम करें, तो यह सच में काफ़ी अच्छा लगेगा।
"मैंने bug report में बताए गए reproduction steps को समस्या को reproduce करने वाले test code में बदलकर देखा है। क्या आप यह code देखकर बता सकते हैं कि मैंने सही समझा है या नहीं?"
"इस design के बजाय अगर हम इस तरह refactoring करें, तो लगता है कि पूरे project में 20312 lines of code कम की जा सकती हैं, do you approve?"
काफी आकर्षक open source है
Hacker News राय
bug report पर टिप्पणी:
project पर टिप्पणी:
इस्तेमाल की गई methodology पर टिप्पणी:
AI और bug tracker पर टिप्पणी:
SWEbench benchmark पर टिप्पणी:
डेमो तुलना पर टिप्पणी:
review work पर टिप्पणी:
समान project पर टिप्पणी:
लेखकों के लिए सुझाव वाली टिप्पणी:
open source project contribution पर टिप्पणी: