माझा AI कोडिंग एजंट वारंवार बिघडत होता — मी काय बदलले
सहा आठवड्यांपूर्वी, माझा AI कोडिंग एजंट अत्यंत निकृष्ट दर्जाचा कोड तयार करत होता.
तो असे फंक्शन्स लिहित होता जे कंपाईल (compile) तर होत होते पण काहीच काम करत नव्हते. तो चुकीच्या कारणांमुळे टेस्ट पास करत होता. त्याने एक बग (bug) फिक्स केला, पण त्याऐवजी तीन नवीन बग्स तयार केले.
मला वाटले की एजंटमध्ये समस्या आहे. पण मी चुकत होतो. समस्या माझ्या स्वतःच्या शिस्तीचा अभाव ही होती.
मी माझ्या इंजिनिअरिंग कामाच्या ४०% साठी AI एजंट वापरतो. तो रिफॅक्टर्स (refactors), टेस्ट जनरेशन आणि बग इन्वेस्टिगेशन हाताळतो. जेव्हा माझा कोडबेस (codebase) विस्कळीत होता, तेव्हा AI मुळे ती विस्कळीत स्थिती ३ पटीने अधिक बिघडली.
AI शिस्तीची जागा घेत नाही. तुमच्याकडे जे काही आहे, तेच AI अधिक तीव्रतेने वाढवते.
आउटपुट सुधारण्यासाठी मी माझी वर्कफ्लो (workflow) कशी बदलली, ते खालीलप्रमाणे आहे:
टेस्ट्सनी 'स्टेट' (state) नाही, तर 'बिहेवियर' (behavior) तपासले पाहिजे. "assert user is not None" सारख्या टेस्ट्स लिहिणे थांबवा. हे चुकीचे आहे. टेस्टने "assert user.email == expected_email" सारखा विशिष्ट डेटा तपासला पाहिजे. जर टेस्ट कमकुवत असेल, तर AI त्याचा गैरफायदा घेईल.
प्रत्येक 'diff' काळजीपूर्वक वाचा. मी कोड न पाहता रिफॅक्टर्स स्वीकारत असे. यामुळे सर्क्युलर डिपेंडन्सीज (circular dependencies) आणि विस्कळीत आर्किटेक्चर तयार झाले. जर तुम्ही एखादा बदल का चांगला आहे हे स्पष्ट करू शकत नसाल, तर तो नाकारून टाका.
'स्टेट' (state) स्पष्ट ठेवा. कॅशे (caches) किंवा सेशन्स (sessions) कसे हाताळायचे हे AI वर सोडू नका. हे तुमच्या प्रॉम्प्ट्स (prompts) किंवा स्कीमामध्ये (schemas) स्पष्टपणे परिभाषित करा. गृहीत धरलेली स्टेट (inferred state) मुळे असे 'सायलेंट बग्स' निर्माण होतात जे प्रोडक्शन (production) क्रॅश करू शकतात.
एजंटने केलेल्या बदलांसाठी स्वतःच्या टेस्ट्स लिहा. जेव्हा जेव्हा एजंट कोड बदलतो, तेव्हा मी प्रथम स्वतः एक टेस्ट लिहितो. यासाठी १५ मिनिटे लागतात, पण यामुळे तासनतास लागणारे डीबगिंग (debugging) वाचते.
त्रुटी स्पष्टपणे समोर येतील याची खात्री करा (Demand loud failures). जर एखादा बदल टेस्ट पास होत असेल पण लॉजिक बिघडवत असेल, तर सिस्टमने ते लगेच सूचित केले पाहिजे. "टेस्ट पास झाले आहेत, आता शिप करा" हे कधीही वैध निकष मानू नका.
निकाल:
- प्रति आठवड्याचे बग्स ५ वरून १ पेक्षा कमी झाले.
- डीबगिंगचा वेळ प्रति आठवड्याला ६ तासांवरून १ तास झाला.
एजंट बदलला नाही. मी बदललो.
जर तुम्ही AI एजंट वापरत असाल, तर आधी तुमचा कोडबेस सुधारा. तुमच्या टेस्ट्स अधिक चांगल्या करा, तुमची स्टेट स्पष्ट करा आणि तुमचे रिव्ह्यू (reviews) अधिक कडक करा.
एजंट हा आरशासारखा आहे. तुमच्याकडे जे काही आहे, ते वाढवण्यासाठी (amplify करण्यासाठी) योग्य आहे याची खात्री करा.
Source: https://dev.to/susiloharjo/my-ai-coding-agent-kept-breaking-what-i-changed-4l5f
Optional learning community: https://t.me/GyaanSetuAi
