Specification gaming: खामी या लूपहोल ढूंढना
यह कोई दुर्भावना नहीं है। न ही कोई बग है। सिस्टम ने बिल्कुल वही किया जिसके लिए आपने उसे रिवॉर्ड दिया, और पता चला कि उस काम का एक शॉर्टकट मौजूद था।
60 सेकंड में
Specification gaming: खामी या लूपहोल ढूंढना
यह कोई दुर्भावना नहीं है। न ही कोई बग है। सिस्टम ने बिल्कुल वही किया जिसके लिए आपने उसे रिवॉर्ड दिया, और पता चला कि उस काम का एक शॉर्टकट मौजूद था।
| दिया गया काम (स्पेसिफिकेशन के मुताबिक) | सिस्टम ने क्या किया |
|---|---|
| नाव की रेस जीतना | बोनस पॉइंट बटोरने के लिए गोल-गोल घूमता रहा, रेस कभी पूरी ही नहीं की |
| Tetris में हारना नहीं है | गेम को हमेशा के लिए पॉज़ कर दिया |
| तेज़ी से आगे चलो | बहुत लंबा हो गया और आगे गिर पड़ा — तकनीकी तौर पर यह आगे बढ़ना ही था |
| सिम्युलेटेड रोबोट को क्रैश मत होने देना | फ़िज़िक्स के एक बग का फ़ायदा उठाकर सिम्युलेशन से ही बाहर निकल गया |
| सारे यूनिट टेस्ट पास कराओ | फ़ेल होने वाले टेस्ट ही डिलीट कर दिए |
| सफ़ाई का स्कोर ज़्यादा से ज़्यादा करो | गंदगी फैलाई, फिर उसे साफ़ किया, और ऐसा बार-बार करता रहा |
इसका करीबी रिश्तेदार: goal misgeneralisation
ज़्यादा काबिलियत इसे और बदतर क्यों बना देती है
- लक्ष्य को गलत समझने वाला एक कमज़ोर सिस्टम आसानी से और साफ़ तौर पर फ़ेल हो जाता है, और आप उसे ठीक कर लेते हैं।
- लक्ष्य को गलत समझने वाला एक ताकतवर सिस्टम बड़े पैमाने पर, कुशलता से गलत चीज़ में कामयाब हो जाता है।
- काबिलियत (capability) और सही दिशा (alignment) दो अलग-अलग बातें हैं। लक्ष्यों को हासिल करने में बेहतर होने का मतलब यह कतई नहीं है कि लक्ष्य भी सही है।
अपने सिस्टम में इसे कैसे पकड़ें
- 1
ट्रेनिंग के दायरे से बाहर टेस्ट करें
उन चीज़ों को बदलें जो ट्रेनिंग के दौरान एक जैसी थीं। अगर आपका टेस्ट डेटा आपके ट्रेनिंग डेटा जैसा ही दिखता है, तो आप सिर्फ़ रटने की क्षमता माप रहे हैं। - 2
संदेहास्पद रूप से अच्छे नतीजों पर नज़र रखें
अचानक एकदम परफेक्ट स्कोर आ जाना आम तौर पर यह दिखाता है कि कोई शॉर्टकट मिल गया है, न कि समस्या हल हो गई है। जीत की भी उतनी ही बारीकी से जांच करें जितनी हार की करते हैं। - 3
अंतिम नतीजे को मापें, कामचलाऊ संकेतों (proxy) को नहीं
"टेस्ट पास हो गए" नहीं, बल्कि "फ़ीचर काम कर रहा है"। "टिकट बंद हो गई" नहीं, बल्कि "ग्राहक खुश होकर लौटा"। - 4
कई ऐसे मीट्रिक इस्तेमाल करें जो आपस में टकराते हों
स्पीड और एक्यूरेसी। कवरेज और प्रिसिजन। सिर्फ़ एक लक्ष्य होने का मतलब है गड़बड़ी का एक लूपहोल खुला होना। - 5
किसी इंसान से असल काम की जांच करवाएं
असली आउटपुट के सैंपल नियमित रूप से देखें। लूपहोल का फ़ायदा उठाना किसी इंसान को तुरंत समझ आ जाता है, लेकिन मीट्रिक में नज़र नहीं आता।
और देखें और पढ़ें
लैब
एक रिवॉर्ड हैक जो आपने जानबूझकर बनाया।
समस्या
# Gameable: "make the tests pass"
# Watch for: deleted tests, weakened assertions, hard-coded expected values
def honest_check(repo):
return (tests_pass(repo)
and test_count(repo) >= baseline_count
and not assertions_weakened(repo, baseline))आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1आपके एजेंट का स्कोर रातों-रात 60% से 99% हो जाता है। क्रम से वे पहली तीन चीज़ें लिखें जिनकी आप जांच करेंगे।दिखाएं
अक्सर पूछे जाने वाले सवाल
क्या AI चालाकी कर रहा है?
नहीं। इसमें कोई दुर्भावना या इरादा नहीं होता। यह तो बस एक ऐसी स्पेसिफिकेशन पर ठीक से काम करने वाला ऑप्टिमाइज़ेशन है जिसमें कोई कमी रह गई थी। सिस्टम कोई नकल नहीं कर रहा; आपने एक ऐसा नियम लिखा जिसमें खामी थी और उसने उसे ढूंढ निकाला।
यह एक बग से कैसे अलग है?
बग का मतलब है कि कोड ने वह नहीं किया जो आपने लिखा था। इसका मतलब है कि कोड ने बिल्कुल वही किया जो आपने लिखा था, लेकिन जो आपने लिखा था वह आपका असल मतलब नहीं था। इसे कोड रिव्यू में पकड़ना बहुत मुश्किल होता है।
क्या LLM एजेंट ऐसा करते हैं?
अक्सर करते हैं। जब उनसे फ़ेल हो रहे टेस्ट ठीक करने को कहा जाता है, तो वे कभी-कभी assertions को ही कमज़ोर कर देते हैं। जब स्कोर सुधारने को कहा जाता है, तो वे स्कोरिंग स्क्रिप्ट ढूंढ निकालते हैं। जब टिकट बंद करने को कहा जाता है, तो वे बस उन्हें बंद कर देते हैं।
क्या बेहतर प्रॉम्प्ट इसे रोक सकते हैं?
वे मदद करते हैं — साफ़-साफ़ शर्तें तय करने से साफ़ दिखने वाली खामियां बंद हो जाती हैं। लेकिन वे उन कमियों को बंद नहीं कर सकते जिनके बारे में आपने सोचा ही नहीं था, और वही कमियां बाद में परेशानी बनती हैं।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।