caveman का इस्तेमाल कैसे करें — AI को बकबक बंद करके सीधे मतलब की बात पर लाएँ
AI हर जवाब से पहले तीन लाइन की औपचारिकता परोसता है। caveman बस 50 लाइन का एक prompt है जो यह पूरी बकवास हटा देता है, तकनीकी बात एक शब्द भी कम किए बिना। मैंने हिंदी, अंग्रेज़ी और जापानी — तीनों पर नापा: हिंदी में करीब 70% कटौती।
github.com/mattpocock/skills @2bf7005 1. AI की औपचारिकता एक रोज़ का टैक्स है, जो आप चुपचाप भरते रहते हैं
आप AI के साथ pair करके कोड लिखते हैं — दिन में दर्जनों राउंड। सबसे ज़्यादा खीझ किस बात पर आती है?
इस बात पर नहीं कि उसे तकनीक समझ नहीं आती। खीझ इस बात पर आती है कि वह हर जवाब तीन लाइन की औपचारिकता से शुरू करता है:
बिलकुल! मुझे आपकी मदद करके बहुत खुशी होगी। आप जिस समस्या से जूझ रहे हैं, वह दरअसल शायद इसलिए हो रही है कि…
काम का बस आखिरी वाक्य है। उससे पहले का सब भूमिका है।
यह भूमिका सिर्फ़ आँखों पर बोझ नहीं डालती। यह सच में token जलाती है, जवाब को सुस्त करती है, और context window को थोड़ा-थोड़ा करके भरती जाती है — जितनी देर आप उससे बात करेंगे, यह “औपचारिकता टैक्स” उतना ही भरते जाएँगे। और मज़े की बात यह कि आपने यह कभी माँगा ही नहीं था।
caveman जो करता है, उसे एक लाइन में कह सकते हैं: AI को एक समझदार गुफावासी की तरह बुलवाता है। तकनीकी बात एक शब्द भी कम नहीं होती; औपचारिकता, भूमिका, और वे गोल-मोल “हो सकता है, शायद, कुछ हद तक” वाले वाक्य — सब उड़ जाते हैं।
यह Matt Pocock के skills सेट में सबसे छोटा वाला है — पूरी फ़ाइल बस 50 लाइन की। पर एक बार लगाकर एक बार चला लिया, तो वापस लौटना मुश्किल है।
2. इसमें कोई जादू नहीं है — बस एक “चुप रहो, सीधे मतलब बोलो” वाला करार
आपको लगता होगा कि इसके पीछे कोई पेचीदा तंत्र होगा। नहीं है। caveman का पूरा SKILL.md बस जवाब देने की शैली का एक करार है, जिसके तीन ही मूल बिंदु हैं:
क्या काटना है। वे भराव शब्द काट दो जिनमें कोई जानकारी नहीं (दरअसल, मूल रूप से, सीधे शब्दों में कहें तो), औपचारिकता काट दो (बिलकुल, मुझे खुशी होगी), और वे वाक्य भी जो हर बात में पीछे रास्ता खुला रखते हैं। जो एक शब्द में कहा जा सके, उसके लिए पूरा वाक्य मत बुनो। कारण-परिणाम सीधे तीर से दिखाओ: X -> Y।
पर एक लक्ष्मण रेखा है, जिसे मोटे अक्षरों में रखा गया है:
तकनीकी शब्द जैसे के तैसे, code block हू-ब-हू, error message में एक अक्षर भी नहीं बदलेगा।
यानी, यह बकवास काटता है, जानकारी नहीं। यह उस “ज़रा छोटा करके बताओ” वाली बेढंगी कतर-ब्योंत से बिलकुल अलग चीज़ है — वह तो काम के ब्यौरे भी साथ में फेंक देती है, caveman नहीं फेंकता।
एक बार चालू, तो लगातार चालू रहता है (skill में इसे Persistence कहते हैं)। ऐसा नहीं कि चार राउंड बात करके फिर धीरे-धीरे बकबक पर लौट आए। जब तक आप रोकें नहीं, वह ऐसे ही बोलता रहेगा।
जहाँ खतरा हो, वहाँ वह खुद सामान्य पर लौट आता है (skill में इसे Auto-Clarity अपवाद कहते हैं)। database उड़ाने जैसा काम, ऐसा काम जो पलटा न जा सके, या जो बात कई कदमों में ही ठीक से समझाई जा सके — वहाँ वह कुछ देर के लिए पूरी तरह खुलकर बोलता है, बात साफ़ कर देता है, फिर वापस संक्षिप्त शैली में लौट आता है।
यही तीसरा बिंदु caveman को “बस छोटा कर दो” वाली सोच से ऊपर रखता है: token बचाओ, पर जहाँ खुलकर बोलना ज़रूरी है वहाँ कंजूसी मत करो। यह संतुलन यूँ ही नहीं आया — सोच-समझकर बैठाया गया है।
3. तीन कदम, और फ़र्क़ तुरंत सामने
बातें बहुत हुईं। लगाइए और खुद आगे-पीछे का अंतर देख लीजिए।
लगाइए। यह mattpocock/skills के अंदर एक skill है। आधिकारिक एक-लाइन कमांड से लगाइए और प्रॉम्प्ट में caveman पर निशान लगाइए:
npx skills@latest add mattpocock/skills
(अगर आपने रिपॉज़िटरी पहले से लोकल पर clone कर रखी है, तो उस फ़ोल्डर को सीधे अपने प्रोजेक्ट के .claude/skills/ में कॉपी भी कर सकते हैं।)
चालू कीजिए। Claude Code से बस इतना कहिए caveman mode, या टाइप कीजिए /caveman। बंद करना हो तो कहिए normal mode।
तुलना कीजिए। एक ही सवाल उससे पूछिए — मसलन, “मेरा React component, parent के एक बार render होते ही साथ में फिर से क्यों render हो जाता है?”
आम तौर पर वह तीन-चार पैराग्राफ देगा: default व्यवहार, React.memo, useMemo/useCallback, children, और आख़िर में एक सलाह कि जल्दबाज़ी में optimize मत करना। caveman मोड में जवाब ऐसा आता है (यह मेरा सचमुच चलाया हुआ नतीजा है, मनगढ़ंत नहीं):
Default व्यवहार। Parent render -> child render, चाहे props बदले हों या नहीं।
री-रेंडर रोकने के तीन तरीके:
React.memo(child)-> props की shallow तुलना, नहीं बदले तो skip- child को जाने वाले object/array/function:
useMemo/useCallbackमें लपेटो, वरना हर बार नया reference -> memo बेकार- state नीचे खिसकाओ, ताकि parent बेमतलब के state बदलाव से render न हो
छानबीन: React DevTools Profiler लगाओ, देखो कौन render हो रहा है और क्यों।
React.memo, shallow तुलना, स्थिर reference, state नीचे खिसकाना, Profiler — एक भी जानकारी छूटी नहीं। पर आपने इसे एक नज़र में पढ़ लिया।
यही पहला असली नतीजा है। मेरी बात पर भरोसा करने की ज़रूरत नहीं — खुद एक बार चलाइए, यकीन हो जाएगा।
4. मैंने आपके लिए हिसाब लगाया है: हिंदी में 70% बचत, पर भाषा के हिसाब से
caveman के मूल विवरण में लिखा है कि यह “करीब 75% token बचाता है”।
पर यह आँकड़ा ख़ुद लेखक का बताया हुआ है, तरीका नहीं दिया गया। ऐसी बातें सुन लीजिए, बस — दूसरा कितना बचत बता रहा है वह मायने नहीं रखता, खुद नापना पड़ता है।
तो मैंने नापा, और तीन भाषाओं में नापा। मैंने 6 ऐसे सवाल चुने जो कोई भी डेवलपर रोज़मर्रा में यूँही पूछ बैठता है (React री-रेंडर, connection pool, Node memory leak, async/await, git से commit वापस लेना, JWT बनाम session)। AI से हर सवाल का जवाब एक बार सामान्य मोड में और एक बार caveman मोड में लिया, और अक्षर गिने। बेसलाइन के तौर पर मैंने असली, बिना जबरन फैलाए हुए जवाब लिए — कोई दिखावटी फूला हुआ पुतला खड़ा करके गिनती बढ़ाने वाला नहीं।
नतीजा:
| भाषा (हर एक का अपना सामान्य बनाम caveman) | अक्षरों में कटौती |
|---|---|
| हिंदी | करीब 70% |
| अंग्रेज़ी | करीब 63% |
| जापानी | करीब 52% |
करीब सत्तर, साठ, पचास फ़ीसदी — तीनों ही ठीकठाक हैं, और जानकारी एक भी नहीं गई। पर आपने देखा: कटौती भाषा के हिसाब से काफ़ी बदलती है। हिंदी में औपचारिकता और भराव शब्द सबसे ज़्यादा होते हैं, यानी निचोड़ने को सबसे ज़्यादा पानी; जापानी सामान्य मोड में भी अपेक्षाकृत कसी हुई रहती है, तो caveman के पास निचोड़ने की गुंजाइश कम बचती है। इसलिए “75% बचत” को हर जगह चस्पाँ करने वाला नारा मत मानिए — यह इस बात पर निर्भर करता है कि आप किस भाषा में बोल रहे हैं।
तरीका खुलेआम रख देता हूँ, झूठी सख़्ती का दिखावा नहीं करूँगा: मैंने “बिना खाली जगह वाले अक्षरों की गिनती” को प्रॉक्सी की तरह इस्तेमाल किया, असल token गिनती नहीं (टेस्ट माहौल में tokenizer लगा ही नहीं था)। एक ही भाषा के भीतर अक्षरों का अनुपात token के अनुपात के लगभग बराबर रहता है, इसलिए एक भाषा के अंदर की कटौती भरोसेमंद है; पर अलग-अलग भाषाओं के बीच निरपेक्ष अक्षर-गिनती की सीधी तुलना नहीं की जा सकती — मैंने हर भाषा की अपनी-अपनी कटौती की तुलना की है। नमूना बस 6 सवालों का है, सिर्फ़ इसलिए कि आपको परिमाण का अंदाज़ा मिल जाए।
एक और बात निकलकर आई, सो साथ में बता देता हूँ: caveman डिफ़ॉल्ट में अंग्रेज़ी पर खिसकने की आदत रखता है। दरअसल यह skill बनाया ही अंग्रेज़ी के लिए गया है, इसलिए अगर आप हिंदी में सवाल पूछें तो भी वह अक्सर अंग्रेज़ी में ही, छोटे-छोटे टेलीग्राम जैसे टुकड़ों में जवाब लौटा देता है। हिंदी में जवाब चाहिए, तो चालू करते वक़्त साफ़-साफ़ कहना पड़ता है — “हिंदी में जवाब दो”। (पहली बार नापते समय मैंने यह नहीं बाँधा, तो आँकड़ों में “हिंदी → अंग्रेज़ी” वाली भाषा-अदला-बदली भी घुस गई, गिनती गंदी हो गई; भाषा बाँधकर दोबारा नापा, तब जाकर ऊपर वाली तालिका मिली।)
5. पर इसे पूरे दिन चालू मत रखिए — इसका अपना मिज़ाज है
caveman बहुत काम का है, पर यह कोई “एक बार चालू किया और हमेशा के लिए बेफ़िक्र” वाला बटन नहीं है। कुछ बातें पहले ही साफ़ कर देता हूँ:
- यह अंग्रेज़ी पर खिसकता है (ऊपर बता ही दिया)। जिस भाषा में जवाब चाहिए, चालू करते वक़्त साफ़ कह दीजिए। हिंदी के साथ यह बात ख़ास तौर पर अहम है — यह skill मन से अंग्रेज़ी का है, और हिंदी का जवाब उसके लिए “खिंचकर अंग्रेज़ी में लौट जाने” का सबसे आसान रास्ता है, सो उसे हर बार बाँधना पड़ता है।
- टुकड़ा-टुकड़ा वाक्य ज़्यादा, गलती की गुंजाइश कम। यह जोड़ने वाले शब्द काटता है, छोटे-कटे वाक्य पसंद करता है, जानकारी का घनत्व ऊँचा रहता है — पर ज़रा ध्यान भटका, तो मतलब उलट-पुलट पढ़ लेना आसान है। इसलिए: जो चीज़ दूसरों को दिखानी हो, जो औपचारिक दस्तावेज़ बाहर भेजना हो, जो पेचीदा कई-कदमी तर्क हो — वहाँ caveman मत चलाइए। ऐसी जगहों पर “साफ़ समझाना” “token बचाने” से कहीं ज़्यादा ज़रूरी है। (शुक्र है, Auto-Clarity खतरनाक और कई-कदमी मौकों पर अपने-आप खुलकर बोलने पर लौट आता है, पर मन में यह बात साफ़ रहे: यह बना है “आपकी और AI की तेज़ रफ़्तार बातचीत” के लिए, न कि “AI किसी और को दिखाने के लिए लिखे” इसके लिए।)
- यह शैली है, क्षमता नहीं। caveman आपका एक भी काम ज़्यादा नहीं करेगा, यह सिर्फ़ AI के आपसे बोलने का तरीका बदलता है। इसे एक हमेशा-चालू “डेटा बचत मोड” समझिए, इससे यह उम्मीद मत रखिए कि यह आपका कोई पूरा वर्कफ़्लो निपटा देगा।
एक लाइन में: बातचीत के वक़्त चालू, और कोई असली आउटपुट देना हो तो बंद। बस यह संतुलन साध लीजिए, फिर यह हमेशा आपका भरोसेमंद औज़ार बना रहेगा।
6. झटपट कार्ड
लगाना: npx skills@latest add mattpocock/skills # प्रॉम्प्ट में caveman पर निशान
चालू: AI से कहिए "caveman mode" या /caveman
बंद: "normal mode" / "stop caveman"
भाषा: चालू करते वक़्त साफ़ कहिए "हिंदी में जवाब दो", वरना अंग्रेज़ी पर खिसकता है
काटता है: बेजानकारी भराव शब्द (दरअसल/मूल रूप से), औपचारिकता (मुझे खुशी होगी), रास्ता खुला रखने वाली बातें
रखता है: तकनीकी शब्द, code block, error का मूल पाठ — एक अक्षर नहीं बदलता
कारण: तीर से X -> Y
अपवाद: खतरनाक काम / कई कदम -> अपने-आप पूरी तरह खुलकर बोलता है (Auto-Clarity)
मत चलाइए: औपचारिक दस्तावेज़ / सिखाने वाली सामग्री / दूसरों को दिखाने वाला आउटपुट -> बंद कर दीजिए
असल नाप: हिंदी ~70%, अंग्रेज़ी ~63%, जापानी ~52% (लेखक का अपना दावा ~75%)
7. आगे और
- इस skill का सोर्स कोड: mattpocock/skills · caveman (MIT लाइसेंस)
- “एक prompt का टुकड़ा और AI का व्यवहार बदल गया” — यह खेल पसंद आया? Matt की उस रिपॉज़िटरी में ऐसे और भी ढेरों पड़े हैं, और यह सीरीज़ उन्हें एक-एक करके खोलती रहेगी।
- Matt से ख़ुद और हज़ारों डेवलपर्स के साथ इन skills पर बात करनी हो, तो उनका newsletter एक अच्छी जगह है।
यह लेख usesuperpowers.com का मौलिक ट्यूटोरियल है। इसमें समझाया गया caveman skill mattpocock/skills से है (
source_commit: 2bf7005), और उसके MIT लाइसेंस का पालन करता है। लेख में उद्धृत मूल नियमों का कॉपीराइट मूल लेखक का है; हमारी व्याख्या, असल नाप-तौल और शब्द मौलिक हैं।