𝗪𝗵𝘆 𝗔𝗜 𝗖𝗼𝗱𝗶𝗻𝗴 𝗔𝗴𝗲𝗻𝘁𝘀 𝗦𝗵𝗼𝘂𝗹𝗱𝗻'𝘁 𝗨𝘀𝗲 𝗖𝗵𝗮𝘁 𝗕𝗼𝘅𝗲𝘀
मेरे द्वारा खोला गया हर AI टूल एक जैसा ही दिखता है। यह एक टेक्स्ट फ़ील्ड में टिमटिमाते कर्सर जैसा है। Claude Code और Codex उसी इंटरफ़ेस का उपयोग करते हैं जिसका उपयोग हमने 1999 में IRC बॉट्स के लिए किया था।
चैट बनाना एक आसान तरीका है। यह डेमो को अच्छा दिखाता है। लेकिन चैट केवल एक प्लेसहोल्डर है। असली लक्ष्य एक बेहतर चैट बॉक्स बनाना नहीं है। लक्ष्य चैट बॉक्स का होना ही नहीं है।
एक चैट इंटरफ़ेस काम का बोझ वापस आप पर डाल देता है।
आपको पता होना चाहिए कि क्या पूछना है। आपको इसे सही ढंग से कहना होगा। आपको लंबे पैराग्राफ पढ़ने होंगे और उन्हें एक्शन में बदलना होगा। मॉडल सोचता है, लेकिन इंटरफ़ेस का काम आपको अपने दिमाग में करना पड़ता है।
कोडिंग एजेंट्स के लिए यह एक समस्या है। कोडिंग स्थानिक (spatial) और संरचनात्मक (structural) होती है। आप फाइलों, diffs और डिपेंडेंसी ग्राफ के साथ काम करते हैं। इनमें से कोई भी चीज़ पैराग्राफ नहीं है। टेक्स्ट स्ट्रीम के माध्यम से कोड को समझने की कोशिश करना वैसा ही है जैसे फोन पर किसी के वर्णन को सुनकर नक्शा पढ़ने की कोशिश करना।
जब कोई एजेंट किसी फंक्शन को रिफैक्टर (refactor) करता है और आपको तीन वाक्यों में बताता है कि उसने क्या बदला है, तो वह होमवर्क है। मदद नहीं।
मॉडल कोड, लेआउट और कंपोनेंट्स जेनरेट कर सकता है। उसे काम का विवरण देने के बजाय, काम के लिए इंटरफ़ेस जेनरेट करना चाहिए।
सारांश के बजाय, मुझे 'accept' और 'reject' बटन के साथ एक diff व्यू दें।
"इस फंक्शन को किसने कॉल किया" पूछने के बजाय, मुझे एक कॉल ग्राफ दिखाएं जिस पर मैं क्लिक कर सकूं।
बारह फाइलों को छूने के बाद स्वीकारोक्ति (confession) देने के बजाय, चलने से पहले मुझे उन फाइलों की एक चेकलिस्ट दिखाएं।
इंटरफ़ेस मॉडल का एक तरल (fluid) आउटपुट होना चाहिए। कार्य के आधार पर UI बदलना चाहिए। इसे उस निर्णय के अनुरूप ढल जाना चाहिए जो आपको अभी लेने की आवश्यकता है।
यह भरोसे के बारे में है।
चैट एजेंट को शब्दों के पीछे छिपा देती है। यदि कोई एजेंट कहता है "मैंने टेस्ट अपडेट कर दिए हैं," तो आपको उसकी बात माननी पड़ती है। या तो आप उस पर अंधा विश्वास करते हैं या आप खुद फाइलों को खंगालते हैं। दोनों ही विकल्प विफल रहते हैं।
एक जेनरेट किया गया इंटरफ़ेस काम का निरीक्षण करना आसान बनाता है। diff वहीं होता है। योजना वहीं होती है। एजेंट "मुझ पर भरोसा करें" कहना बंद कर देता है और "इसे दो सेकंड में सत्यापित करें" कहना शुरू कर देता है।
मैं जानता हूँ कि चैट का महत्व है। भाषा अस्पष्टता (ambiguity) को संभालती है। कभी-कभी जटिल विचार व्यक्त करने का एकमात्र तरीका शब्द ही होते हैं।
समाधान भाषा को हटाना नहीं है। भाषा को एंट्री पॉइंट के रूप में और जेनरेट किए गए UI को रिस्पॉन्स के रूप में उपयोग करें।
अपनी रिक्वेस्ट साधारण शब्दों में टाइप करें। उस रिक्वेस्ट के लिए तुरंत सही इंटरफ़ेस प्राप्त करें। भाषा अंदर जाती है, इंटरफ़ेस बाहर आता है। चैट केवल मुख्य द्वार है, पूरा घर नहीं।
हमने बेहतर चैट उत्पाद बनाने की कोशिश में वर्षों बिताए। हमने मेमोरी और स्पीड पर ध्यान केंद्रित किया। लेकिन हम उसी छोटे टेक्स्ट बॉक्स के भीतर ही रहे।
असली छलांग बॉक्स के अंदर बेहतर उत्तर देना नहीं है। असली छलांग बॉक्स का विलीन (dissolving) होना है। मॉडल को आपको ठीक वही सतह देनी चाहिए जिसकी आपको अपना अगला निर्णय लेने के लिए आवश्यकता है।
एजेंट्स काफी स्मार्ट हैं। हमें बस उनसे बात करना बंद करने और उन टूल्स को बनाना शुरू करने के लिए कहने की ज़रूरत है जिनकी हमें आवश्यकता है।
Source: https://dev.to/nishkarsh_gupta/why-ai-coding-agent-shouldnt-hand-us-a-chat-box-3ccj
Optional learning community: https://t.me/GyaanSetuAi
