𝗖𝗼𝗱𝗶𝗻𝗴 𝗔𝗴𝗲𝗻𝘁𝘀 𝗪𝗿𝗶𝘁𝗲 𝗦𝘄𝗶𝗳𝘁 𝗪𝗲𝗹𝗹, 𝗕𝘂𝘁 𝗧𝗵𝗲𝘆 𝗖𝗮𝗻'𝘁 𝗙𝗶𝗻𝗶𝘀𝗵 𝗜𝘁
मी प्रत्यक्ष Swift आणि Xcode च्या कामांवर AI कोडिंग एजंट्सची अनेक महिने चाचणी केली. मी केवळ साध्या डेमोचा वापर केला नाही. मी त्यांना बिल्ड टार्गेट्स आणि टेस्ट्ससह प्रत्यक्ष कामे दिली.
पहिला ड्राफ्ट सहसा ठीक असतो. एक सक्षम मॉडेल असे कोड लिहिते जे योग्य वाटते. टाइप्स (types) जुळतात. व्ह्यूज (views) अर्थपूर्ण असतात. जर Swift लिहिणे ही एकमेव समस्या असती, तर ही साधने पूर्णपणे तयार झाली असती.
खरी समस्या पहिल्या ड्राफ्टनंतर निर्माण होते. कोड जो पूर्ण वाटतो आणि जो प्रत्यक्षात बरोबर आहे, यामधील तफावत हीच खरी अडचण आहे.
Claude Code किंवा Codex सारखी आधुनिक साधने कंपाईल एरर्स (compile errors) चांगल्या प्रकारे हाताळतात. ते तुम्हाला असा कोड देत नाहीत जो बिल्ड होण्यास अपयशी ठरतो. खरी अपयशी ठरण्याची कारणे ती असतात जी कंपायलरला दिसत नाहीत.
या त्रुटींमुळे माझा वेळ वाया जातो:
• Intent mismatch (हेतूतील तफावत): कोड कंपाईल होतो आणि टेस्ट्स पास होतात. तरीही, त्याचे वर्तन (behavior) चुकीचे असते. एजंट तुमच्या वास्तविक ध्येयाऐवजी केवळ पास होणाऱ्या टेस्टच्या 'ग्रीन लाईट'चा पाठपुरावा करतो. त्याच्याकडे हेतू तपासण्याचा कोणताही मार्ग नसतो.
• Concurrency races: कोड व्यवस्थित बिल्ड होतो पण त्यात डेटा रेसेस (data races) असतात. हे केवळ रनटाइम दरम्यान दिसून येतात. एजंटला 'ग्रीन बिल्ड' दिसते आणि तो पुढे जातो. हे दुरुस्त करण्यासाठी सहसा रिडिझाइनची आवश्यकता असते, जे करण्यास एजंट अपयशी ठरतो.
• Regression loops: एजंट एक बग फिक्स करतो पण दुसरा निर्माण करतो. दुसरा बग फिक्स करताना, तो पहिला फिक्स रद्द करतो. तो अशा लूपमध्ये अडकतो जिथे तो दोन खराब स्थितींमध्ये हेल काढत राहतो. यापूर्वी काय चुकले होते, याची त्याला स्मृती नसते.
• Poor architecture: एजंट असा कोड लिहितो जो फ्रेमवर्कच्या विरुद्ध जातो. तो तुमच्या ॲपच्या स्ट्रक्चरकडे दुर्लक्ष करतो. तो एखाद्या तात्पुरत्या स्क्रिप्टसाठी काम करतो, पण रिअल कोडबेसमध्ये अपयशी ठरतो.
या भाषेच्या समस्या नाहीत. मॉडेलला Swift माहिती आहे. कंपायलरला जे दिसत नाही, ते मॉडेललाही समजत नाही. निकाल तुमच्या हेतूशी जुळतो की नाही किंवा स्ट्रक्चर व्यावसायिक (professional) आहे की नाही, हे त्याला माहित नसते.
यामुळे खर्च टोकन्सकडून लक्ष (attention) कडे वळतो. असा एजंट ज्याला तुम्हाला दर काही वेळाने लक्ष द्यावे लागते, त्याने तुमचे काम वाचवले नाही. त्याने लेखनाचे रूपांतर देखरेखीमध्ये (supervising) केले आहे.
मी मॉडेलच्या सभोवतालचा लूप बदलून माझे निकाल सुधारत आहे. एजंट काय तपासतो आणि काय लक्षात ठेवतो, यावर मी लक्ष केंद्रित करत आहे.
तुमचा अनुभव असाच आहे का? जेव्हा तुम्ही Apple प्लॅटफॉर्मवर एजंट्स चालवता, तेव्हा ते कुठे चुकतात? हे हेतूतील तफावत आहे, रनटाइम रेसेस आहेत की अजून काही?
Source: https://dev.to/jbrackin/coding-agents-are-good-at-writing-swift-theyre-bad-at-finishing-it-md3
Optional learning community: https://t.me/GyaanSetuAi
