- कई डेवलपर LLM का उपयोग कोड लिखने के लिए करते हुए hallucination का अनुभव करते हैं और भरोसा खो देते हैं
- LLM का ऐसी methods या libraries गढ़ लेना जो अस्तित्व में ही नहीं हैं, एक आम बात है
- लेकिन कोड में होने वाले hallucination, hallucination के सबसे कम खतरनाक प्रकार हैं
- सबसे खतरनाक स्थिति वह है जब LLM गलती पैदा करे, लेकिन compiler या interpreter उसे तुरंत पकड़ न पाए
- hallucination से बनी methods चलाते ही error देती हैं, इसलिए उन्हें आसानी से पकड़ा जा सकता है
- error message को फिर से LLM में डालने पर वह उसे अपने-आप ठीक भी कर सकता है
- सामान्य text hallucination से अलग, कोड को चलाकर fact-check किया जा सकता है
- automatic error fixing क्षमता वाले LLM
- ChatGPT Code Interpreter, Claude Code जैसे tools, LLM द्वारा लिखे गए कोड को चलाकर errors पकड़ते हैं और खुद सुधारते हैं
- LLM द्वारा लिखे गए कोड को चलाए बिना उसका मूल्यांकन करना अप्रभावी है
- कुछ डेवलपर सिर्फ इसलिए इस तकनीक को खारिज करना चाहते हैं क्योंकि LLM ने hallucinated methods बना दीं
- लेकिन इसे प्रभावी ढंग से उपयोग करने के लिए सीखना और प्रयोग करना ज़रूरी है
- लेखक 2 साल से अधिक समय से AI-आधारित code writing पर काम कर रहे हैं, और अब भी नई तकनीकें सीख रहे हैं
- कोड का manual testing अनिवार्य है
- कोड सही से चल जाए, यह इस बात की गारंटी नहीं कि वह उम्मीद के मुताबिक काम भी करता है
- सिर्फ code review या automated tests से कोड की शुद्धता पूरी तरह सत्यापित नहीं की जा सकती
- उसे खुद चलाकर और सत्यापित करना ज़रूरी है
- LLM द्वारा बनाया गया कोड अक्सर बहुत readable होता है, इसलिए लापरवाह होने का जोखिम रहता है
- इंसानों द्वारा लिखा गया कोड भी ऐसा ही है; उसे खुद चलाकर देखने से पहले भरोसा नहीं करना चाहिए
- hallucination कम करने के तरीके
- दूसरे model का उपयोग: ऐसे model चुनें जिनके training data में किसी खास platform के बारे में अधिक जानकारी हो
- उदाहरण: Claude 3.7 Sonnet (thinking mode enabled), OpenAI o3-mini-high, GPT-4o (Python Code Interpreter सहित)
- context का उपयोग: अगर LLM किसी खास library को नहीं जानता, तो example code देकर उसे pattern सिखाया जा सकता है
- स्थिर तकनीक चुनें: पुरानी libraries चुनने पर LLM के उन्हें बेहतर संभालने की संभावना बढ़ती है
- code review का महत्व
- लेखक इस दावे का खंडन करते हैं कि "अगर LLM द्वारा लिखे गए सारे कोड की review करनी है, तो खुद लिखना ही तेज़ है"
- यह बात code review क्षमता की कमी भी दिखा सकती है
- LLM द्वारा बनाए गए कोड की review, कौशल सुधारने का अच्छा अवसर हो सकती है
- बोनस: Claude 3.7 Sonnet का feedback
- लेखक ने अपने ब्लॉग draft को Claude 3.7 Sonnet के "extended thinking mode" में समीक्षा के लिए दिया
- उन्होंने पूछा, "क्या इस लेख की तर्कशृंखला प्रभावशाली है, इसमें क्या सुधारा जा सकता है, और क्या कुछ छूटा है?"
- Claude ने draft के tone को थोड़ा नरम बनाने में मदद की
- Claude feedback conversation link
1 टिप्पणियां
Hacker News राय
लेखक पिछली पोस्ट से सहमत था, लेकिन इस पोस्ट से सहमत नहीं है
भले ही LLM से बना कोड ठीक से काम करे, अगर आप उसके लेखक नहीं हैं तो bug या logic की खामियां ढूंढना मुश्किल होता है
LLM-जनरेटेड कोड साफ-सुथरा दिखता है, लेकिन QA और cleanup पर ज़्यादा समय लगवाता है
The Primeagen और Casey Muratori ने नवीनतम LLM code generators के output की समीक्षा की
Simon ने जिस एक और error category को नज़रअंदाज़ किया, वह है मॉडल का functionality भूल जाना — यही hallucination है
hallucinated methods एक छोटी बाधा हैं, और जब लोग इसकी शिकायत करते हैं तो यह मान लिया जाता है कि उन्होंने सिस्टम को प्रभावी ढंग से इस्तेमाल करना सीखने में न्यूनतम समय लगाया है
hallucination खुद LLM का सबसे बड़ा जोखिम नहीं है
यह केवल compile errors के सीमित context में कम खतरनाक है
LLM से अच्छे नतीजे पाने के लिए बहुत मेहनत करनी पड़ती है
मेडिकल सेंटर में मरीज के 'मुख्य' clinic को खोजने वाला कोड लिखने का अनुभव