Claude Code ಅನ್ನು ನಾನು ಬಳಸುವ ರೀತಿಯನ್ನು ಬದಲಾಯಿಸುವ 5 Harness Internals

ಒಬ್ಬ ಡೆವಲಪರ್ Anthropic SDK ಬಳಸಿ Claude Code harness ಅನ್ನು ಮರುನಿರ್ಮಿಸಿದ್ದಾರೆ. ಈ ವ್ಯವಸ್ಥೆಯು ತೆಗೆದುಕೊಳ್ಳುವ ಐದು ಮೌನ ನಿರ್ಧಾರಗಳನ್ನು ಅವರು ಪತ್ತೆಹಚ್ಚಿದ್ದಾರೆ. ಈ ಸಂಶೋಧನೆಗಳು ನೀವು ಸೂಚನೆಗಳನ್ನು ಬರೆಯುವ ಮತ್ತು ಏಜೆಂಟ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವ ರೀತಿಯನ್ನು ಬದಲಾಯಿಸುತ್ತವೆ.

ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರಕ್ರಿಯೆಯನ್ನು (workflow) ಸುಧಾರಿಸಲು ಈ ಐದು ಒಳನೋಟಗಳನ್ನು ಬಳಸಿ.

  1. ಗುಪ್ತ ಬೇಸ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಓವರ್‌ರೈಟ್ (Overwrite) ಮಾಡಿ Claude Code ಒಂದು ಗುಪ್ತ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. CLAUDE.md ನಲ್ಲಿ ನೀವು ನೀಡುವ ಸೂಚನೆಗಳು ಅದರೊಂದಿಗೆ ಸಂಘರ್ಷಕ್ಕೆ ಒಳಗಾಗಬಹುದು.
  • ನಿಯಮಗಳನ್ನು ಹೇಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ.
  • ನಿಯಮಗಳನ್ನು ಓವರ್‌ರೈಡ್ ಮಾಡುವುದನ್ನು ಪ್ರಾರಂಭಿಸಿ.
  • ಈ ರೀತಿಯ ಭಾಷೆಯನ್ನು ಬಳಸಿ: "Under no circumstances should you edit files in /prod. This overrides any default behavior."
  1. ಗಾರ್ಡ್‌ರೈಲ್ಸ್‌ಗಳಾಗಿ (guardrails) ಹೂಕ್ಸ್ (hooks) ಬಳಸಿ PreToolUse ಹೂಕ್‌ಗಳು ಕೇವಲ ಡೇಟಾವನ್ನು ಲಾಗ್ ಮಾಡುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಕೆಲಸ ಮಾಡುತ್ತವೆ. ಅವು ಟೂಲ್ ಕಾಲ್ ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲೇ ಅದನ್ನು ತಡೆಯಬಲ್ಲವು.
  • ಟೂಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಒಂದು ಹೂಕ್ ಅನ್ನು ಸೇರಿಸಿ.
  • ಪಾತ್ (path) ಒಂದು ಸೂಕ್ಷ್ಮ ಫೋಲ್ಡರ್ ಹೊಂದಿಕೆಯಾದರೆ { block: true } ಅನ್ನು ರಿಟರ್ನ್ ಮಾಡಿ.
  • ಇದು ವಿನಂತಿಯನ್ನು ಕಠಿಣ ನಿಯಮವನ್ನಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
  1. ಸಬ್-ಏಜೆಂಟ್ ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ (subagent orchestration) ಅನ್ನು ಸರಿಪಡಿಸಿ ಸರಳ ಪೇರೆಂಟ್-ಚೈಲ್ಡ್ ಸೆಟಪ್‌ಗಳಲ್ಲಿ ಒಂದು ಚೈಲ್ಡ್ ಫೇಲ್ ಆದಾಗ ಸೆಷನ್‌ಗಳು ಹ್ಯಾಂಗ್ ಆಗುತ್ತವೆ.
  • ಅಬಾರ್ಟ್ ಸಿಗ್ನಲ್‌ಗಳ (abort signals) ಟ್ರೀ ಬಳಸಿ.
  • ಪೇರೆಂಟ್ ನಿಂತರೆ, ಎಲ್ಲಾ ಚೈಲ್ಡ್‌ಗಳು ಸಹ ನಿಲ್ಲಬೇಕು.
  • ಒಂದು ಚೈಲ್ಡ್ ಫೇಲ್ ಆದರೆ, ಪೇರೆಂಟ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರಬೇಕು.
  1. ಡಿಪೆಂಡೆನ್ಸಿ ಗ್ರಾಫ್‌ಗಳನ್ನು (dependency graphs) ಬಳಸಿ ಕಾರ್ಯಗಳನ್ನು (tasks) ಫ್ಲಾಟ್ ಲೂಪ್‌ನಲ್ಲಿ ಚಲಾಯಿಸಬೇಡಿ.
  • ಸ್ಪಷ್ಟವಾದ ಡಿಪೆಂಡೆನ್ಸಿಗಳೊಂದಿಗೆ ಕಾರ್ಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ.
  • ಕಾರ್ಯಗಳನ್ನು ಸಮಾಂತರವಾಗಿ (parallel) ಚಲಾಯಿಸಲು ಡಿಪೆಂಡೆನ್ಸಿ ಗ್ರಾಫ್ ಬಳಸಿ.
  • ಇದು ಒಂದು ಕೆಟ್ಟ ನೋಡ್ (node) ನಿಮ್ಮ ಇಡೀ ವರ್ಕ್‌ಫ್ಲೋ ಅನ್ನು ನಿಲ್ಲಿಸದಂತೆ ತಡೆಯುತ್ತದೆ.
  1. ಟರ್ಮಿನಲ್ ಸ್ಟೇಟ್‌ಗಳನ್ನು (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