- अगर Claude Code “honest take”, “load-bearing seam” जैसे phrases दोहराता है, तो MessageDisplay hook से उन्हें स्क्रीन पर दिखने से पहले दूसरे expressions से replace किया जा सकता है
- Python script standard input के JSON से
delta पढ़ती है, case-insensitive replacement करती है, और बदला हुआ displayContent JSON के रूप में लौटाती है
- उदाहरण में
seam को whatchamacallit, you're absolutely right को I'm a complete clown, honest take को spicy doodad, और load-bearing को cooked में बदला गया है
- script को
~/.claude/hooks/wordswap.sh में save करके execute permission दें, और ~/.claude/settings.json के hooks.MessageDisplay में command hook के रूप में register करें
- hook Claude Code शुरू होते समय load होता है, इसलिए इसे लागू करने के लिए नया session खोलना होगा; replacement list को अपनी पसंद के शब्दों से freely बदला जा सकता है
output wording बदलने वाली script
MessageDisplay hook का उपयोग करके Claude Code द्वारा स्क्रीन पर दिखाए जाने वाले text को बदला जाता है
wordswap.sh Python में लिखी जाती है, और standard input से JSON पढ़कर delta field की string लेती है
- हर original phrase के आगे-पीछे
\b boundary जोड़कर और re.escape() से escape करके, re.IGNORECASE लागू किया जाता है ताकि case की परवाह किए बिना replacement हो
- processing result निम्न structure वाले JSON के रूप में output किया जाता है
hookSpecificOutput.hookEventName: MessageDisplay
hookSpecificOutput.displayContent: बदला हुआ text
- example replacement rules इस प्रकार हैं
seam → whatchamacallit
you're absolutely right → I'm a complete clown
honest take → spicy doodad
load-bearing → cooked
install और activate करना
- script को
~/.claude/hooks/wordswap.sh में save करें
- execute permission देने के लिए
chmod +x ~/.claude/hooks/wordswap.sh चलाएँ
~/.claude/settings.json के hooks block में इसे नीचे दिए तरीके से register करें
{
"hooks": {
"MessageDisplay": [
{
"hooks": [
{
"type": "command",
"command": "$HOME/.claude/hooks/wordswap.sh"
}
]
}
]
}
}
- hook Claude Code शुरू होते समय load होता है, इसलिए settings के बाद नया session शुरू करना होगा ताकि यह लागू हो
replacements item को edit करके example की जगह ज्यादा useful या मजेदार phrases में बदला जा सकता है
1 टिप्पणियां
Hacker News की राय
Claude के साथ coding करते समय दिखने वाले आम Claude-जैसे phrases मुझे परेशान नहीं करते, लेकिन blog post या email जैसी prose में वही expressions दिखें तो वे कहीं ज़्यादा खटकते हैं
जब पता हो कि आप LLM से बात कर रहे हैं, तो यह expected response है; लेकिन जिस text को किसी इंसान ने लिखा होगा ऐसा आप सोच रहे हों, वह LLM output निकले—यह एहसास काफ़ी असहज करता है
आखिरकार मुझे “Claude की तरह बोलता है” जैसी टिप्पणी मिली और मैंने उसे पूरी तरह avoid करना शुरू कर दिया; भाषा और सामाजिक norms का यह intersection दिलचस्प है
लेकिन किसी ऐसे लेख में, जो किसी व्यक्ति की original thinking होना चाहिए, साफ़ AI traces मिलें तो बहुत निराशा होती है, और कभी-कभी यह readers का सम्मान न करने जैसा भी लगता है
किसी random blog में ऐसी language habits दिखती हैं तो हर बार खटकती हैं, और यह resentment होता है कि इंसानों ने जो भाषा invent की थी, उसे अब robots hijack कर रहे हैं
मैं उन शब्दों को track कर रहा हूँ जिनसे Claude धीरे-धीरे obsessed होता जा रहा है। जैसे एक data structure को दूसरे data structure का projection कहने वाला "projection", isolated या stalled data के लिए "strand", "load-bearing", tree के leaves के लिए "frontier", algorithm के stable होने का इंतज़ार करने वाला "quiescence", "honest", unprocessed data के लिए "residuals", वापस लिए गए proposal को बेवजह noun बनाकर "rescission", replaced चीज़ के लिए "supersession" वगैरह
शायद मेरे code के आसपास मौजूद अजीब vocabulary की नकल करने का असर भी है। जब मैंने root cause की जगह symptoms fix करने को whack-a-mole से compare किया, तो कुछ घंटों बाद से वह नए bugs को लगातार "moles" कहने लगा—जैसे “CI में mole 2 मिला”—यह सबसे यादगार था
समय-समय पर “professionally बोलो और complete sentences इस्तेमाल करो” कहना पड़ता है ताकि समझ आ सके; और जब वह output दूसरे session में paste किया, तो Claude खुद भी web-authentication वाले Claude की लिखी बात समझ नहीं पाया
ऐसा लगता है जैसे context जाने बिना buzzword की नकल कर रहा हो, इसलिए भरोसा घटता है
हर व्यक्ति की अपनी unique writing style और पसंदीदा expressions होना पुरानी बात है, और आम तौर पर यह बड़ा issue नहीं था
लेकिन जब किसी एक व्यक्ति की पसंद, जो दिन में अधिकतम 5,000 words में दिखती थी, एक single model के bias में बदलकर रोज़ 10 अरब generated tokens तक amplify हो जाए, तो कोई भी habit जरूरत से ज़्यादा prominent हो जाती है
मौजूदा Claude model को खास तौर पर "honest" बहुत पसंद है—हर evaluation और clue को "honest" से सजाता है; और Gemini 3 Pro से मैंने एक बार "analytical" शब्द इस्तेमाल किया तो उसके बाद लगभग हर जवाब में वह चिपक गया। अगर यह system prompt हो तो ठीक किया जा सकता है, लेकिन model weights की अपनी word preference संभालना मुश्किल है; training या post-training में statistically ऐसी चीज़ detect करके रोकने के तरीके निकल सकते हैं
बेशक यह sentence खुद एक intentional parody है
जैसे “क्या तुमने cookies खाईं?” पूछने पर जवाब दें: “पिताजी का शक करना पूरी तरह सही है। यह सच है कि मैंने सब खा लीं, लेकिन यह core issue नहीं है। Honest assessment में, दुकान से और खरीद लेना चाहिए”
ग्लोबल
CLAUDE.mdमें यह सेट किया था कि Claude खुद को refer करने के लिए first-person pronouns की जगह मज़ाकिया नाम "Clod" इस्तेमाल करे: https://github.com/alxndr/dotfiles/blob/272475280d84e/claude...सिर्फ "I", "me", "my" ही नहीं, "I'll", "I'm" जैसे contractions और "myself" को भी क्रमशः "Clod", "Clodself" में बदलने को कहा
इंसानी रिश्तों में, अगर सामने वाला ऐसा कहने के बाद भी आप मांग जारी रखें तो यह rude लगता है, इसलिए इसका असर यह होता है कि Anthropic की moral view को user के guilt में shift कर दिया जाता है। OpenAI की तरह safety block करना या “मैं वह नहीं कर सकता” जैसा छोटा जवाब देना बेहतर है, और मैं खुद भी पहले “जब model नहीं चाहता” लिख बैठा था और फिर उसे edit किया—इतनी आसानी से यह anthropomorphism खींच लेता है
CLAUDE.mdइसलिए बनाया था कि जब भी Claude मेरी तारीफ करना चाहे, उसे random onomatopoeia में बदल दे, और developer experience काफी बेहतर हो गयाहालांकि unicorn prompt की वजह से committed code में "Local Oaf" न डालने का rule भी लगाना पड़ा
अभिव्यक्ति निश्चित रूप से बेहतर हुई है, लेकिन अब भी खटकती है, और मुझे नहीं पता कि यह setting technical output quality घटाती है या नहीं
LLM द्वारा लिखे गए text का सबसे consistent संकेत यह है कि काम के दौरान हुई conversation के निशान final prose में leak हो जाते हैं
पढ़ते-पढ़ते अचानक वह किसी ऐसी position का rebuttal कर देता है जिसे किसी ने उठाया ही नहीं और जो कहीं और दिखाई भी नहीं देती, फिर काफी देर बाद बिल्कुल अलग side branch में वही काम दोहराता है। कुछ इस तरह: “कोई भी जिस तरीके पर विचार नहीं करेगा, वह आकर्षक लग सकता है, लेकिन इन वजहों से fail होता है”; इससे ऐसा दृश्य याद आता है कि Claude की गलतियां ठीक करते-करते थक चुका इंसान पूरी finished writing को proofread किए बिना ही publish कर देता है
LLM अच्छे writer होने से बहुत दूर हैं। वे लंबे, coherent sentences बनाने में struggle करते हैं, और छोटे phrases को जोड़ते हुए grammatical correctness बनाए रखने के लिए dash और semicolon पर निर्भर रहते हैं
सोचता हूं कि labs ने base model को grammar correct करने के लिए reinforcement learning लगाया, और नतीजा यह हुआ कि छोटे-छोटे टूटे sentences को natural तरीके से rewrite करने के बजाय उसने बस ऐसे punctuation से जोड़ना सीख लिया जो automatic grammar checker pass करा दे
आम छोटे और concise phrases शायद labs ने post-training में उन users के लिए जोड़े हैं जो लंबे sentences नहीं चाहते
Opus 4.7 से Fable/Mythos 5 पर आते हुए उन्होंने कैसी training की, पता नहीं, लेकिन इसे "substrate" शब्द से जरूरत से ज्यादा प्यार है
असली technical docs या conversations में पहले किसी को यह शब्द इस्तेमाल करते नहीं देखा, और यह पागल कर देने वाला है
पहले Opus 3 को GPT की तुलना में कहीं ज़्यादा इंसानों जैसा बोलवाना आसान था, इसलिए अच्छा लगता था
अब एजेंट और coding पर ध्यान देते-देते models RLHF से हद से ज़्यादा एकरूप हो गए हैं, इसलिए उन्हें default बोलचाल से हटाना बहुत मुश्किल है। अगर लिखे हुए text या code comments की समीक्षा कराकर खुद सुधरवाने वाला feature बनाया जाए तो सुधार होता है, लेकिन वह perfect नहीं होता। यह चौंकाने वाली बात है कि मानवता के सारे ज्ञान पर trained बताया जाने वाला model पुराने commands का reference लेते हुए Bash को 100 बार call करने में तो नहीं हिचकता, लेकिन बातचीत में "load-bearing" के अलावा शब्दावली शायद ही इस्तेमाल कर पाता है
खासकर gemini-2.5-pro-experimental का file patch में कई बार fail होने के बाद उदास होकर self-pity में डूबना और codebase बिगाड़ देना बहुत मज़ेदार था
writing में कलात्मकता होती है, इसलिए मैं चाहता हूँ कि LLM इसे कभी भी पूरी तरह perfect न कर पाए
जो industry AGI लक्ष्य की बात करती थी, वह अब coding agents पर हद से ज़्यादा focus कर रही है और अगले marketing breakthrough का इंतज़ार करती दिखती है
agent use-case में strong autonomy के साथ ढेरों safeguards और controls चाहिए, जबकि creative writing में कभी-कभी risk लेना और monotone robot जैसा न सुनाई देना ज़रूरी है। खुद model train करके देखा तो दोनों use-cases की requirements साफ़ तौर पर टकराती हैं
Claude का Concise Style गायब हो जाना अफसोसजनक है। अगर कोई मोटा-मोटा लिखा paragraph देकर “इसे clear करके फिर से लिखो” कहता था, तो वह content को वैसा ही रखते हुए research grant application के लिए उपयुक्त तरीके से साफ़-सुथरा polish कर देता था
चूँकि वह मेरे पहले से लिखे text को ही directly edit करता था, इसलिए "load-bearing" जैसे expressions भी कम होते थे, और scientific content उसके हवाले किए बिना sentence finishing में लगने वाला समय बहुत बचता था। मैंने feature के रूप में इसे recreate करने की कोशिश की है, लेकिन पक्का नहीं कि यह पहले जितना अच्छा है या नहीं
Claude.mdके सबसे ऊपर दो “लोगों” के बीच कुछ सवाल-जवाब बहुत छोटे रूप में होने का example डाल देना चाहिएसमस्या किसी खास expression में नहीं, बल्कि predictable tone patterns में अटककर उन्हें लगातार दोहराने में है
इंसान भी यही करते हैं, लेकिन इंसानों के लिए हम उसे style कहते हैं, जबकि machine ऐसा करे तो हमें पागल कर देने वाली हद तक नापसंद होता है—यह एक दिलचस्प psychological phenomenon है
लेकिन जब कुछ popular models सभी के सवालों का जवाब देते हैं, हर जगह quote और forward होते हैं, और personal communication तक rewrite करते हैं, तो वह signal noise में बदल जाता है। सभी एक जैसे सुनाई देने लगते हैं और हम वे source-distinguishing cues खो देते हैं जिन पर हम biological और cultural रूप से निर्भर रहे हैं। prosopagnosia या color blindness की तरह कुछ लोग इसे बहुत महसूस नहीं करते होंगे, लेकिन बहुत-से लोग सचमुच असहज होते हैं, बस वजह को ठीक से शब्दों में नहीं कह पाते
models बहुत overlap करने वाले training data, पहले से ही अप्रिय internet marketing copy, और दूसरे models के outputs से सीखते हैं; RLHF भी आसानी से reward मिलने वाली खास बोलचाल को मजबूत करता है, इसलिए वे एक-दूसरे जैसे styles की ओर converge करते हैं
Claude मेरे देखे सबसे खराब project manager की तरह किसी सरल conclusion को expressions की कई परतों से ढककर core point खो देता है, और भले ही ज़्यादातर दबा दिया गया हो, कुछ हिस्सा लगातार leak होता रहता है। एक समय वह "scaffolding" रोक ही नहीं पा रहा था, और मुझे उसे कड़ाई से correct करना पड़ा