Claude Code ಅನ್ನು ನಾನು ಬಳಸುವ ರೀತಿಯನ್ನು ಬದಲಾಯಿಸುವ 5 Harness Internals
ಒಬ್ಬ ಡೆವಲಪರ್ Anthropic SDK ಬಳಸಿ Claude Code harness ಅನ್ನು ಮರುನಿರ್ಮಿಸಿದ್ದಾರೆ. ಈ ವ್ಯವಸ್ಥೆಯು ತೆಗೆದುಕೊಳ್ಳುವ ಐದು ಮೌನ ನಿರ್ಧಾರಗಳನ್ನು ಅವರು ಪತ್ತೆಹಚ್ಚಿದ್ದಾರೆ. ಈ ಸಂಶೋಧನೆಗಳು ನೀವು ಸೂಚನೆಗಳನ್ನು ಬರೆಯುವ ಮತ್ತು ಏಜೆಂಟ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವ ರೀತಿಯನ್ನು ಬದಲಾಯಿಸುತ್ತವೆ.
ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರಕ್ರಿಯೆಯನ್ನು (workflow) ಸುಧಾರಿಸಲು ಈ ಐದು ಒಳನೋಟಗಳನ್ನು ಬಳಸಿ.
- ಗುಪ್ತ ಬೇಸ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಓವರ್ರೈಟ್ (Overwrite) ಮಾಡಿ Claude Code ಒಂದು ಗುಪ್ತ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. CLAUDE.md ನಲ್ಲಿ ನೀವು ನೀಡುವ ಸೂಚನೆಗಳು ಅದರೊಂದಿಗೆ ಸಂಘರ್ಷಕ್ಕೆ ಒಳಗಾಗಬಹುದು.
- ನಿಯಮಗಳನ್ನು ಹೇಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ.
- ನಿಯಮಗಳನ್ನು ಓವರ್ರೈಡ್ ಮಾಡುವುದನ್ನು ಪ್ರಾರಂಭಿಸಿ.
- ಈ ರೀತಿಯ ಭಾಷೆಯನ್ನು ಬಳಸಿ: "Under no circumstances should you edit files in /prod. This overrides any default behavior."
- ಗಾರ್ಡ್ರೈಲ್ಸ್ಗಳಾಗಿ (guardrails) ಹೂಕ್ಸ್ (hooks) ಬಳಸಿ PreToolUse ಹೂಕ್ಗಳು ಕೇವಲ ಡೇಟಾವನ್ನು ಲಾಗ್ ಮಾಡುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಕೆಲಸ ಮಾಡುತ್ತವೆ. ಅವು ಟೂಲ್ ಕಾಲ್ ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲೇ ಅದನ್ನು ತಡೆಯಬಲ್ಲವು.
- ಟೂಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಒಂದು ಹೂಕ್ ಅನ್ನು ಸೇರಿಸಿ.
- ಪಾತ್ (path) ಒಂದು ಸೂಕ್ಷ್ಮ ಫೋಲ್ಡರ್ ಹೊಂದಿಕೆಯಾದರೆ
{ block: true }ಅನ್ನು ರಿಟರ್ನ್ ಮಾಡಿ. - ಇದು ವಿನಂತಿಯನ್ನು ಕಠಿಣ ನಿಯಮವನ್ನಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
- ಸಬ್-ಏಜೆಂಟ್ ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ (subagent orchestration) ಅನ್ನು ಸರಿಪಡಿಸಿ ಸರಳ ಪೇರೆಂಟ್-ಚೈಲ್ಡ್ ಸೆಟಪ್ಗಳಲ್ಲಿ ಒಂದು ಚೈಲ್ಡ್ ಫೇಲ್ ಆದಾಗ ಸೆಷನ್ಗಳು ಹ್ಯಾಂಗ್ ಆಗುತ್ತವೆ.
- ಅಬಾರ್ಟ್ ಸಿಗ್ನಲ್ಗಳ (abort signals) ಟ್ರೀ ಬಳಸಿ.
- ಪೇರೆಂಟ್ ನಿಂತರೆ, ಎಲ್ಲಾ ಚೈಲ್ಡ್ಗಳು ಸಹ ನಿಲ್ಲಬೇಕು.
- ಒಂದು ಚೈಲ್ಡ್ ಫೇಲ್ ಆದರೆ, ಪೇರೆಂಟ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರಬೇಕು.
- ಡಿಪೆಂಡೆನ್ಸಿ ಗ್ರಾಫ್ಗಳನ್ನು (dependency graphs) ಬಳಸಿ ಕಾರ್ಯಗಳನ್ನು (tasks) ಫ್ಲಾಟ್ ಲೂಪ್ನಲ್ಲಿ ಚಲಾಯಿಸಬೇಡಿ.
- ಸ್ಪಷ್ಟವಾದ ಡಿಪೆಂಡೆನ್ಸಿಗಳೊಂದಿಗೆ ಕಾರ್ಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ.
- ಕಾರ್ಯಗಳನ್ನು ಸಮಾಂತರವಾಗಿ (parallel) ಚಲಾಯಿಸಲು ಡಿಪೆಂಡೆನ್ಸಿ ಗ್ರಾಫ್ ಬಳಸಿ.
- ಇದು ಒಂದು ಕೆಟ್ಟ ನೋಡ್ (node) ನಿಮ್ಮ ಇಡೀ ವರ್ಕ್ಫ್ಲೋ ಅನ್ನು ನಿಲ್ಲಿಸದಂತೆ ತಡೆಯುತ್ತದೆ.
- ಟರ್ಮಿನಲ್ ಸ್ಟೇಟ್ಗಳನ್ನು (terminal states) ಬಲವಂತವಾಗಿ ಅನ್ವಯಿಸಿ ಏಜೆಂಟ್ಗಳಿಗೆ ಸ್ಪಷ್ಟವಾದ ಅಂತ್ಯದ ಬಿಂದು ಇಲ್ಲದಿದ್ದಾಗ ಅವು ಅತಿಯಾಗಿ ಮಾಹಿತಿ ನೀಡುತ್ತಾ ಹೋಗುತ್ತವೆ (ramble).
- ಪ್ರತಿ ಹಂತವು ಈ ಮೂರು ಸ್ಥಿತಿಗಳಲ್ಲಿ ಒಂದರಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುವಂತೆ ಮಾಡಿ: Done, Blocked, ಅಥವಾ Needs Input.
- ನಿಮ್ಮ CLAUDE.md ಗೆ ಇದನ್ನು ಸೇರಿಸಿ: "After a task, always end with 'Done: [summary]', 'Blocked: [reason]', or 'Needs input: [question]'."
- ಇದು ಏಜೆಂಟ್ ಅನಿರೀಕ್ಷಿತ ಕ್ರಮಗಳನ್ನು ಮಾಡುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಕ್ರಮಗಳ ಸಾರಾಂಶ:
- CLAUDE.md ನಲ್ಲಿ ಓವರ್ರೈಡ್ ಭಾಷೆಯನ್ನು ಬಳಸಿ.
- ಅಪಾಯಕಾರಿ ಎಡಿಟ್ಗಳನ್ನು ತಡೆಯಲು PreToolUse ಹೂಕ್ಗಳನ್ನು ಬಳಸಿ.
- ಸಬ್-ಏಜೆಂಟ್ಗಳಿಗಾಗಿ ಅಬಾರ್ಟ್ ಟ್ರೀಗಳನ್ನು ನಿರ್ಮಿಸಿ.
- ಕಾರ್ಯಗಳಿಗಾಗಿ DAG-ಆಧಾರಿತ ಸಮಾಂತರತೆಯನ್ನು ಬಳಸಿ.
- ಸ್ಪಷ್ಟವಾದ ಟರ್ಮಿನಲ್ ಸ್ಟೇಟ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ.
ಮೂಲ: https://dev.to/gentic_news/5-harness-internals-that-changed-how-i-use-claude-code-daily-39c6
ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi
