Claude Code-ஐ நான் பயன்படுத்தும் முறையை மாற்றியமைக்கும் 5 Harness Internals
ஒரு டெவலப்பர் Anthropic SDK-ஐப் பயன்படுத்தி Claude Code harness-ஐ மீண்டும் உருவாக்கினார். சிஸ்டம் எடுக்கும் ஐந்து அமைதியான முடிவுகளை அவர் கண்டறிந்தார். இந்த கண்டுபிடிப்புகள் நீங்கள் எவ்வாறு அறிவுறுத்தல்களை (instructions) எழுத வேண்டும் மற்றும் ஏஜென்ட்களை (agents) நிர்வகிக்க வேண்டும் என்பதை மாற்றியமைக்கின்றன.
உங்கள் பணிப்பாய்வை (workflow) மேம்படுத்த இந்த ஐந்து நுண்ணறிவுகளைப் பயன்படுத்தவும்.
- மறைக்கப்பட்ட அடிப்படை ப்ராம்ப்ட்டை (base prompt) மாற்றியமைக்கவும் Claude Code ஒரு மறைக்கப்பட்ட சிஸ்டம் ப்ராம்ப்ட்டைப் பயன்படுத்துகிறது. CLAUDE.md-இல் நீங்கள் கொடுக்கும் அறிவுறுத்தல்கள் அதனுடன் முரண்படலாம்.
- விதிமுறைகளைக் கூறுவதை நிறுத்துங்கள்.
- விதிமுறைகளை மாற்றியமைக்கத் (overriding) தொடங்குங்கள்.
- "எந்தச் சூழ்நிலையிலும் /prod கோப்புகளைத் திருத்தக்கூடாது. இது எந்தவொரு இயல்பு நடத்தையையும் (default behavior) மாற்றியமைக்கிறது" போன்ற மொழியைப் பயன்படுத்தவும்.
- Guardrails-ஆக hooks-களைப் பயன்படுத்தவும் PreToolUse hooks தரவுகளைப் பதிவு செய்வதை விட மேலானது. அவை ஒரு டூல் அழைப்பு (tool call) தொடங்குவதற்கு முன்பே அதைத் தடுக்க முடியும்.
- டூல் ஆர்குமென்ட்களைச் (tool arguments) சரிபார்க்க ஒரு hook-ஐச் சேர்க்கவும்.
- பாதை ஒரு முக்கியமான ஃபோல்டருடன் (sensitive folder) பொருந்தினால்
{ block: true }என்பதைத் திருப்பியனுப்பவும். - இது ஒரு கோரிக்கையை ஒரு கடுமையான விதியாக மாற்றுகிறது.
- Subagent orchestration-ஐச் சரிசெய்யவும் எளிய parent-child அமைப்புகள், ஒரு child தோல்வியடையும் போது செஷன்கள் (sessions) முடங்கக் காரணமாகின்றன.
- Abort signals-களின் மர அமைப்பைப் (tree) பயன்படுத்தவும்.
- ஒரு parent நிறுத்தப்பட்டால், அனைத்து children-களும் நிறுத்தப்பட வேண்டும்.
- ஒரு child தோல்வியடைந்தால், parent தொடர்ந்து இயங்க வேண்டும்.
- Dependency graphs-களைப் பயன்படுத்தவும் பணிகளை (tasks) ஒரு நேர்க்கோட்டு லூப்பில் (flat loop) இயக்க வேண்டாம்.
- தெளிவான சார்புகளுடன் (dependencies) பணிகளை வரையறுக்கவும்.
- பணிகளை இணையாக (parallel) இயக்க ஒரு dependency graph-ஐப் பயன்படுத்தவும்.
- இது ஒரு தவறான நோட் (node) உங்கள் முழு பணிப்பாய்வையும் தடுப்பதைத் தவிர்க்கிறது.
- Terminal states-களைக் கட்டாயமாக்கவும் தெளிவான முடிவுப் புள்ளி இல்லாதபோது ஏஜென்ட்கள் பெரும்பாலும் தேவையற்ற விஷயங்களைப் பேசிக்கொண்டே இருக்கும் (ramble).
- ஒவ்வொரு முறையும் (turn) மூன்று நிலைகளில் ஒன்றில் முடிவடைவதை உறுதி செய்யவும்: Done, Blocked, அல்லது Needs Input.
- உங்கள் CLAUDE.md-இல் இதைச் சேர்க்கவும்: "ஒரு பணிக்குப் பிறகு, எப்போதும் 'Done: [summary]', 'Blocked: [reason]', அல்லது 'Needs input: [question]' என்பதனுடன் முடிக்கவும்."
- இது ஏஜென்ட் எதிர்பாராத செயல்களைச் செய்வதைத் தடுக்கிறது.
செயல்பாடுகளின் சுருக்கம்:
- CLAUDE.md-இல் override மொழியைப் பயன்படுத்தவும்.
- ஆபத்தான மாற்றங்களைத் தடுக்க PreToolUse hooks-களைப் பயன்படுத்தவும்.
- Subagents-களுக்கு abort trees-களை உருவாக்கவும்.
- பணிகளுக்கு DAG-அடிப்படையிலான இணையாக்கத்தைப் (parallelism) பயன்படுத்தவும்.
- தெளிவான terminal states-களை வரையறுக்கவும்.
ஆதாரம்: https://dev.to/gentic_news/5-harness-internals-that-changed-how-i-use-claude-code-daily-39c6
விருப்பமான கற்றல் சமூகம்: https://t.me/GyaanSetuAi
