5 हार्नेस इंटरनल्स जो Claude Code के मेरे उपयोग के तरीके को बदल देते हैं

एक डेवलपर ने Anthropic SDK का उपयोग करके Claude Code हार्नेस को फिर से बनाया। उन्हें सिस्टम द्वारा लिए जाने वाले पांच मौन निर्णयों का पता चला। ये निष्कर्ष आपके निर्देश लिखने और एजेंटों को प्रबंधित करने के तरीके को बदल देते हैं।

अपने वर्कफ़्लो को बेहतर बनाने के लिए इन पांच अंतर्दृष्टि (insights) का उपयोग करें।

  1. छिपे हुए बेस प्रॉम्प्ट (base prompt) को ओवरराइट करें Claude Code एक छिपे हुए सिस्टम प्रॉम्प्ट का उपयोग करता है। CLAUDE.md में आपके निर्देश इसके साथ संघर्ष (conflict) कर सकते हैं।
  • नियम बताना बंद करें।
  • नियमों को ओवरराइड करना शुरू करें।
  • इस तरह की भाषा का उपयोग करें: "किसी भी परिस्थिति में आपको /prod में फ़ाइलों को एडिट नहीं करना चाहिए। यह किसी भी डिफ़ॉल्ट व्यवहार को ओवरराइड करता है।"
  1. हुक्स (hooks) का उपयोग गार्डरेल्स के रूप में करें PreToolUse हुक्स केवल डेटा लॉग करने से कहीं अधिक करते हैं। वे टूल कॉल शुरू होने से पहले ही उसे रोक सकते हैं।
  • टूल आर्गुमेंट्स की जांच करने के लिए एक हुक जोड़ें।
  • यदि पाथ किसी संवेदनशील फ़ोल्डर से मेल खाता है, तो { block: true } रिटर्न करें।
  • यह एक अनुरोध को एक सख्त नियम में बदल देता है।
  1. सब-एजेंट ऑर्केस्ट्रेशन (subagent orchestration) को ठीक करें सरल पैरेंट-चाइल्ड सेटअप के कारण, जब एक चाइल्ड विफल हो जाता है, तो सत्र (sessions) हैंग हो जाते हैं।
  • एबॉर्ट सिग्नल्स (abort signals) के ट्री का उपयोग करें।
  • यदि पैरेंट रुकता है, तो सभी चाइल्ड को रुकना चाहिए।
  • यदि एक चाइल्ड विफल हो जाता है, तो पैरेंट को सक्रिय रहना चाहिए।
  1. डिपेंडेंसी ग्राफ (dependency graphs) का उपयोग करें कार्यों को एक फ्लैट लूप में न चलाएं।
  • स्पष्ट डिपेंडेंसी के साथ कार्यों को परिभाषित करें।
  • कार्यों को समानांतर (parallel) रूप से चलाने के लिए डिपेंडेंसी ग्राफ का उपयोग करें।
  • यह एक खराब नोड को आपके पूरे वर्कफ़्लो को रोकने से रोकता है।
  1. टर्मिनल स्टेट्स (terminal states) को लागू करें जब एजेंटों के पास स्पष्ट एंड पॉइंट नहीं होता है, तो वे अक्सर अनावश्यक बातें करने लगते हैं।
  • हर टर्न को तीन में से किसी एक स्थिति में समाप्त करने के लिए मजबूर करें: Done, Blocked, या Needs Input।
  • अपने CLAUDE.md में यह जोड़ें: "किसी कार्य के बाद, हमेशा 'Done: [summary]', 'Blocked: [reason]', या 'Needs input: [question]' के साथ समाप्त करें।"
  • यह एजेंट को अप्रत्याशित कार्य करने से रोकता है।

कार्यों का सारांश:

  • CLAUDE.md में ओवरराइड भाषा का उपयोग करें।
  • खतरनाक संपादन (edits) को रोकने के लिए PreToolUse हुक्स का उपयोग करें।
  • सब-एजेंटों के लिए एबॉर्ट ट्री बनाएं।
  • कार्यों के लिए DAG-आधारित पैरेललिज्म का उपयोग करें।
  • स्पष्ट टर्मिनल स्टेट्स को परिभाषित करें।

स्रोत: https://dev.to/gentic_news/5-harness-internals-that-changed-how-i-use-claude-code-daily-39c6

वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi