1 पॉइंट द्वारा GN⁺ 5 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • अगर 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 इस प्रकार हैं
    • seamwhatchamacallit
    • you're absolutely rightI'm a complete clown
    • honest takespicy doodad
    • load-bearingcooked

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 टिप्पणियां

 
GN⁺ 5 시간 전
Hacker News की राय
  • Claude के साथ coding करते समय दिखने वाले आम Claude-जैसे phrases मुझे परेशान नहीं करते, लेकिन blog post या email जैसी prose में वही expressions दिखें तो वे कहीं ज़्यादा खटकते हैं
    जब पता हो कि आप LLM से बात कर रहे हैं, तो यह expected response है; लेकिन जिस text को किसी इंसान ने लिखा होगा ऐसा आप सोच रहे हों, वह LLM output निकले—यह एहसास काफ़ी असहज करता है

    • कुछ समय तक Claude इस्तेमाल न करने के बावजूद, colleagues द्वारा लिखे गए vibe-coded documents पढ़ते-पढ़ते मैं "load-bearing" से संक्रमित हो गया, और वह पसंद आने लगा तो रोज़मर्रा की बातचीत में भी इस्तेमाल करने लगा
      आखिरकार मुझे “Claude की तरह बोलता है” जैसी टिप्पणी मिली और मैंने उसे पूरी तरह avoid करना शुरू कर दिया; भाषा और सामाजिक norms का यह intersection दिलचस्प है
    • अगर Claude काम plan और execute करने के लिए internal terms के तौर पर "shape", "load-bearing", "seams" इस्तेमाल करता है, तो उसे judge करने की ज़रूरत नहीं
      लेकिन किसी ऐसे लेख में, जो किसी व्यक्ति की original thinking होना चाहिए, साफ़ AI traces मिलें तो बहुत निराशा होती है, और कभी-कभी यह readers का सम्मान न करने जैसा भी लगता है
    • अगर आपने खुद लिखने की मेहनत भी नहीं की, तो मुझे समझ नहीं आता कि मैं उसे पढ़ने में समय क्यों लगाऊँ—यह मेरी आलस्य से एलर्जी को trigger करता है
    • MySQL पर authoritative source मानकर मैं Percona blog नियमित रूप से पढ़ता था, लेकिन जब से उन्होंने LLM से लेख लिखना शुरू किया, तब से उसे पढ़ना अब संभव नहीं रहा
    • एक flesh-and-blood इंसान के तौर पर मुझे गुस्सा आता है कि AI ने मेरी vocabulary के core हिस्से को बिगाड़ दिया है
      किसी 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 मिला”—यह सबसे यादगार था

    • Web authentication के काम में जाते ही Claude tech-industry pretentious jargon इस्तेमाल करने लगता है और पूरे sentences तक छोड़ देता है, जिससे output vague और लगभग meaningless हो जाता है
      समय-समय पर “professionally बोलो और complete sentences इस्तेमाल करो” कहना पड़ता है ताकि समझ आ सके; और जब वह output दूसरे session में paste किया, तो Claude खुद भी web-authentication वाले Claude की लिखी बात समझ नहीं पाया
    • एक repository में कुछ items को ही "quality gates" कहा जाता है, लेकिन Claude ने वह document पढ़ने के बाद उस term को general meaning में misuse करना शुरू कर दिया
      ऐसा लगता है जैसे context जाने बिना buzzword की नकल कर रहा हो, इसलिए भरोसा घटता है
  • हर व्यक्ति की अपनी unique writing style और पसंदीदा expressions होना पुरानी बात है, और आम तौर पर यह बड़ा issue नहीं था
    लेकिन जब किसी एक व्यक्ति की पसंद, जो दिन में अधिकतम 5,000 words में दिखती थी, एक single model के bias में बदलकर रोज़ 10 अरब generated tokens तक amplify हो जाए, तो कोई भी habit जरूरत से ज़्यादा prominent हो जाती है

    • LLMs कुछ patterns पर कहीं ज़्यादा बुरी तरह अटकते लगते हैं। शायद इसलिए कि वे हर बार weights की उसी state से शुरू करते हैं; एक conversation के अंदर भी एक शब्द पकड़कर परेशान करने की हद तक repeat करते हैं
      मौजूदा Claude model को खास तौर पर "honest" बहुत पसंद है—हर evaluation और clue को "honest" से सजाता है; और Gemini 3 Pro से मैंने एक बार "analytical" शब्द इस्तेमाल किया तो उसके बाद लगभग हर जवाब में वह चिपक गया। अगर यह system prompt हो तो ठीक किया जा सकता है, लेकिन model weights की अपनी word preference संभालना मुश्किल है; training या post-training में statistically ऐसी चीज़ detect करके रोकने के तरीके निकल सकते हैं
    • समस्या सिर्फ कुछ expressions की नहीं, बल्कि पूरे लेख की structure की है। Idioms, subtle grammar patterns, और ऐसी metaphors जो meaning तो देती हैं लेकिन अजीब तरह से inappropriate लगती हैं, reader पर peripheral vision में दिखे foreign object की तरह अचानक हमला करती हैं
      बेशक यह sentence खुद एक intentional parody है
    • लगता है बहुत जल्द इंसान भी LLM की तरह बोलना शुरू कर देंगे। खासकर वे बच्चे जो growing years में रोज़ 5,000 words सुनते हैं और homework में भी मदद लेते हैं, वे LLM-style speech सीख सकते हैं
      जैसे “क्या तुमने cookies खाईं?” पूछने पर जवाब दें: “पिताजी का शक करना पूरी तरह सही है। यह सच है कि मैंने सब खा लीं, लेकिन यह core issue नहीं है। Honest assessment में, दुकान से और खरीद लेना चाहिए”
    • Joe Rogan के repeated phrase "it's entirely possible" meme जैसा: https://youtu.be/MPJ0AB12h1I
    • AI company अलग-अलग speaking styles वाली कई model versions train करे और हर conversation शुरू होते समय random version assign करे—यह भी एक interesting solution हो सकता है
  • ग्लोबल 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" में बदलने को कहा

    • खास तौर पर मुझे यह चिंता है कि Anthropic ने अपने safety concepts को model में जिस तरह train किया है। जब model किसी चीज़ को refuse करता है, तो वह सिर्फ यह नहीं कहता कि यह संभव नहीं है, बल्कि “मैं यह सीमा बनाए रखना चाहता हूं”, “मदद करके खुशी होगी, लेकिन मैं comfortable नहीं हूं” जैसी भावनाओं और निजी preferences की भाषा इस्तेमाल करता है
      इंसानी रिश्तों में, अगर सामने वाला ऐसा कहने के बाद भी आप मांग जारी रखें तो यह 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 भी लगाना पड़ा
    • Claude के बोलने के अंदाज़ से तंग आकर आज instructions में यह prompt translate करके डाल दिया: https://github.com/hexiecs/talk-normal/blob/main/prompt-chat...
      अभिव्यक्ति निश्चित रूप से बेहतर हुई है, लेकिन अब भी खटकती है, और मुझे नहीं पता कि यह setting technical output quality घटाती है या नहीं
    • जब generative AI first-person pronouns इस्तेमाल करता है, तो इंसानों के लिए meaning interpret करना मुश्किल हो जाता है—यह concretely किन situations में होता है, इसके examples जानना चाहता हूं
  • LLM द्वारा लिखे गए text का सबसे consistent संकेत यह है कि काम के दौरान हुई conversation के निशान final prose में leak हो जाते हैं
    पढ़ते-पढ़ते अचानक वह किसी ऐसी position का rebuttal कर देता है जिसे किसी ने उठाया ही नहीं और जो कहीं और दिखाई भी नहीं देती, फिर काफी देर बाद बिल्कुल अलग side branch में वही काम दोहराता है। कुछ इस तरह: “कोई भी जिस तरीके पर विचार नहीं करेगा, वह आकर्षक लग सकता है, लेकिन इन वजहों से fail होता है”; इससे ऐसा दृश्य याद आता है कि Claude की गलतियां ठीक करते-करते थक चुका इंसान पूरी finished writing को proofread किए बिना ही publish कर देता है

    • यह final output में बचा हुआ correctional scar tissue जैसा है
    • हाल ही में एक sub-agent ने बहुत सारे meaningless jargon गढ़ दिए, और Claude ने उन्हें बिना define किए, यह मानकर कि मैं obviously समझूंगा, वैसे ही repeat कर दिया—बहुत irritate हुआ
  • 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 करा दे

    • लेकिन ज्यादातर लोग भी अच्छा नहीं लिखते। Claude मेरे highly educated colleagues में से अधिकांश से बेहतर लिखता है, और इंसान सच में मेहनत करे तो शायद जीत भी जाए, लेकिन अगर Claude को भी बेहतर लिखने के instructions दे दें तो फिर उसे हराना मुश्किल है
      आम छोटे और concise phrases शायद labs ने post-training में उन users के लिए जोड़े हैं जो लंबे sentences नहीं चाहते
    • अगर desired style को software specification की तरह ठीक से express किया जाए, तो LLM भी शानदार लिख सकता है। requirements साफ़ नहीं बता पाए, तो आखिरकार garbage in, garbage out ही होगा
  • Opus 4.7 से Fable/Mythos 5 पर आते हुए उन्होंने कैसी training की, पता नहीं, लेकिन इसे "substrate" शब्द से जरूरत से ज्यादा प्यार है
    असली technical docs या conversations में पहले किसी को यह शब्द इस्तेमाल करते नहीं देखा, और यह पागल कर देने वाला है

    • "surface" भी वैसा ही है, जैसे “सभी product surfaces में” कहना; इस industry में 15 साल काम करते हुए ऐसा usage पहली बार देखा
    • मेरे लिए Claude को "ledger" शब्द भी असामान्य रूप से पसंद है, जो पहले लगभग इस्तेमाल नहीं होता था
    • जिस हफ्ते मैंने पहली बार "substrate" देखा, मैंने उससे usage justify करने को कहा, तो उसने जवाब दिया कि कुछ infrastructure और systems domains की vocabulary में यह इस्तेमाल होता है; लेकिन मुझे शक है कि यह सच है या नहीं
    • मेरे एक colleague ने भी अप्रैल के आसपास systems design और architecture work करते हुए इस शब्द का अत्यधिक इस्तेमाल शुरू कर दिया
    • साफ़ है कि वे Microsoft में काम नहीं करते। वहां सच में Office 365 Substrate expression इस्तेमाल होता है: https://techcommunity.microsoft.com/discussions/microsoft-36...
  • पहले Opus 3 को GPT की तुलना में कहीं ज़्यादा इंसानों जैसा बोलवाना आसान था, इसलिए अच्छा लगता था
    अब एजेंट और coding पर ध्यान देते-देते models RLHF से हद से ज़्यादा एकरूप हो गए हैं, इसलिए उन्हें default बोलचाल से हटाना बहुत मुश्किल है। अगर लिखे हुए text या code comments की समीक्षा कराकर खुद सुधरवाने वाला feature बनाया जाए तो सुधार होता है, लेकिन वह perfect नहीं होता। यह चौंकाने वाली बात है कि मानवता के सारे ज्ञान पर trained बताया जाने वाला model पुराने commands का reference लेते हुए Bash को 100 बार call करने में तो नहीं हिचकता, लेकिन बातचीत में "load-bearing" के अलावा शब्दावली शायद ही इस्तेमाल कर पाता है

    • Gemini 3.1 Pro बाकी LLMs से ज़्यादा इंसानों जैसा सुनाई देता है, यह Google की बाद की training क्षमता की कमी का प्रमाण लगता है, इसलिए मुझे पसंद है
      खासकर gemini-2.5-pro-experimental का file patch में कई बार fail होने के बाद उदास होकर self-pity में डूबना और codebase बिगाड़ देना बहुत मज़ेदार था
    • मैं नहीं चाहता कि LLM इंसानों जैसा सुनाई दे। जिसने prose लिखने का काम machine को सौंप दिया है, उसे पहचानकर उस पर भरोसा न कर सकना संभव होना चाहिए
      writing में कलात्मकता होती है, इसलिए मैं चाहता हूँ कि LLM इसे कभी भी पूरी तरह perfect न कर पाए
    • कुछ लोग coding capability में सुधार को पूरे thinking capability में सुधार तक खींचकर समझने लगे हैं, लेकिन आम users के LLM को दूसरे कामों में इस्तेमाल करने के videos देखें तो पता चलता है कि coding में सुधार दूसरे applications तक नहीं पहुँचा
      जो industry AGI लक्ष्य की बात करती थी, वह अब coding agents पर हद से ज़्यादा focus कर रही है और अगले marketing breakthrough का इंतज़ार करती दिखती है
    • हम ऐसे दौर में जा रहे हैं जहाँ general-purpose LLMs को भी कुछ हद तक use-case specific specialization चाहिए
      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 करने की कोशिश की है, लेकिन पक्का नहीं कि यह पहले जितना अच्छा है या नहीं

    • जिज्ञासा है कि Concise Style कोई अलग feature नहीं बल्कि Claude में built-in तरीका था क्या
    • Claude.md के सबसे ऊपर दो “लोगों” के बीच कुछ सवाल-जवाब बहुत छोटे रूप में होने का example डाल देना चाहिए
  • समस्या किसी खास expression में नहीं, बल्कि predictable tone patterns में अटककर उन्हें लगातार दोहराने में है
    इंसान भी यही करते हैं, लेकिन इंसानों के लिए हम उसे style कहते हैं, जबकि machine ऐसा करे तो हमें पागल कर देने वाली हद तक नापसंद होता है—यह एक दिलचस्प psychological phenomenon है

    • इंसानी बोलचाल, voice timbre और emphasis की तरह, उस व्यक्ति को अनगिनत दूसरे लोगों से अलग बताने वाला signal है
      लेकिन जब कुछ popular models सभी के सवालों का जवाब देते हैं, हर जगह quote और forward होते हैं, और personal communication तक rewrite करते हैं, तो वह signal noise में बदल जाता है। सभी एक जैसे सुनाई देने लगते हैं और हम वे source-distinguishing cues खो देते हैं जिन पर हम biological और cultural रूप से निर्भर रहे हैं। prosopagnosia या color blindness की तरह कुछ लोग इसे बहुत महसूस नहीं करते होंगे, लेकिन बहुत-से लोग सचमुच असहज होते हैं, बस वजह को ठीक से शब्दों में नहीं कह पाते
    • क्योंकि सब वही 2–3 models इस्तेमाल करते हैं, इसलिए हर किसी की अपनी unique style के बजाय पूरी दुनिया कुछ बोलचालों में standardize हो जाती है
      models बहुत overlap करने वाले training data, पहले से ही अप्रिय internet marketing copy, और दूसरे models के outputs से सीखते हैं; RLHF भी आसानी से reward मिलने वाली खास बोलचाल को मजबूत करता है, इसलिए वे एक-दूसरे जैसे styles की ओर converge करते हैं
    • इंसान self-reflection के जरिए समझ सकते हैं कि वे कोई खास शब्द बहुत ज़्यादा इस्तेमाल कर रहे हैं और उसे कम कर सकते हैं, लेकिन LLM ऐसा नहीं कर सकता
    • इंसानों की repetitive speech भी company jargon या corporate buzzwords की तरह काफी irritate करती है
      Claude मेरे देखे सबसे खराब project manager की तरह किसी सरल conclusion को expressions की कई परतों से ढककर core point खो देता है, और भले ही ज़्यादातर दबा दिया गया हो, कुछ हिस्सा लगातार leak होता रहता है। एक समय वह "scaffolding" रोक ही नहीं पा रहा था, और मुझे उसे कड़ाई से correct करना पड़ा
    • लोग भी अगर हर mismatched context में अपनी पसंदीदा expressions को ज़बरदस्ती घुसाएँ, तो हमेशा मज़ाक का पात्र बनते हैं