AI ಅನ್ನು ಕುರುಡಾಗಿ ನಂಬುವುದನ್ನು ನಿಲ್ಲಿಸಿ: AI ಏಜೆಂಟ್ ಹ್ಯಾಲ್ಯುಸಿನೇಷನ್‌ಗಳನ್ನು (Hallucinations) ಹೇಗೆ ಕಡಿಮೆ ಮಾಡುವುದು

AI ಏಜೆಂಟ್‌ಗಳು ಆಗಾಗ್ಗೆ ತಪ್ಪುಗಳನ್ನು ಮಾಡುತ್ತವೆ. ಅವು ಕೋಡ್ ಅನ್ನು ಹ್ಯಾಲ್ಯುಸಿನೇಟ್ ಮಾಡುತ್ತವೆ, ವ್ಯವಹಾರದ ನಿಯಮಗಳನ್ನು ಉಲ್ಲಂಘಿಸುತ್ತವೆ ಅಥವಾ ತಪ್ಪು ಪರಿಕರಗಳನ್ನು (tools) ಆಯ್ಕೆ ಮಾಡುತ್ತವೆ.

ಹೆಚ್ಚಿನ ಜನರು ಉತ್ತಮ ಪ್ರಾಂಪ್ಟ್‌ಗಳ (prompts) ಮೂಲಕ ಇದನ್ನು ಸರಿಪಡಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಾರೆ. ಅದು ತಪ್ಪು.

ನಿಮಗೆ ವಿಶ್ವಾಸಾರ್ಹ AI ಏಜೆಂಟ್‌ಗಳು ಬೇಕೆಂದರೆ, ನೀವು ಸ್ಪಷ್ಟವಾದ ನಿರ್ಬಂಧಗಳೊಂದಿಗೆ (constraints) ವ್ಯವಸ್ಥೆಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಬೇಕು. ನೀವು "Typist" ನಿಂದ "Architect" ಆಗಿ ಬದಲಾಗಬೇಕಾಗುತ್ತದೆ.

Typist vs. Architect

ಹೆಚ್ಚಿನ ಬಳಕೆದಾರರು Typist ಗಳಂತೆ ವರ್ತಿಸುತ್ತಾರೆ:

  • ನೀವು ಕೇಳುತ್ತೀರಿ: "Implement an authentication system."
  • AI ರಚನೆ (structure), ಲೈಬ್ರರಿಗಳು (libraries) ಮತ್ತು ಫೋಲ್ಡರ್ ವಿನ್ಯಾಸವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
  • ಪ್ರತಿಯೊಂದು ನಿರ್ಧಾರವೂ ಹ್ಯಾಲ್ಯುಸಿನೇಷನ್‌ಗೆ ಒಂದು ಅವಕಾಶವಾಗಿದೆ.

ಎಂಜಿನಿಯರ್‌ಗಳು Architect ಗಳಂತೆ ವರ್ತಿಸುತ್ತಾರೆ:

  • ನೀವು ಮೊದಲು ರಚನೆ ಮತ್ತು ಲೈಬ್ರರಿಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೀರಿ.
  • ನೀವು ನಿರ್ಬಂಧಗಳು ಮತ್ತು ನಿಯಮಗಳನ್ನು ನಿಗದಿಪಡಿಸುತ್ತೀರಿ.
  • AI ನಿಮ್ಮ ಮಿತಿಯೊಳಗೆ ಮಾತ್ರ ಕೋಡ್ ಬರೆಯುತ್ತದೆ.

AI ಗೆ ಕೋಡಿಂಗ್ ಕೌಶಲ್ಯವಿಲ್ಲದ ಕಾರಣ ಅದು ಹ್ಯಾಲ್ಯುಸಿನೇಟ್ ಮಾಡುವುದಿಲ್ಲ. ನಿಮ್ಮ ಮನಸ್ಸಿನಲ್ಲಿರುವ ಆದರೆ ನೀವು ಎಂದಿಗೂ ಹಂಚಿಕೊಳ್ಳದ ಸಂದರ್ಭವನ್ನು (context) ಅದು ಊಹಿಸಲು ಪ್ರಯತ್ನಿಸುವುದರಿಂದ ಹ್ಯಾಲ್ಯುಸಿನೇಟ್ ಮಾಡುತ್ತದೆ.

ತಂತ್ರ 1: Context Files

ಪ್ರತಿ ಚಾಟ್‌ನಲ್ಲಿ ಸೂಚನೆಗಳನ್ನು ಪುನರಾವರ್ತಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ. AI ಗೆ ಶಾಶ್ವತ ಚೌಕಟ್ಟನ್ನು (framework) ನೀಡಲು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳನ್ನು ಬಳಸಿ. ವಿವಿಧ ಪರಿಕರಗಳು ವಿಭಿನ್ನ ಮಾನದಂಡಗಳನ್ನು ಬಳಸುತ್ತವೆ:

• Claude Code ಗಾಗಿ CLAUDE.md • open source ecosystems ಗಾಗಿ AGENTS.md • Cursor ಗಾಗಿ .cursorrules • GitHub Copilot ಗಾಗಿ .copilotrules

ಪ್ರೊ ಟಿಪ್ (Pro tip): ಒಂದು ಕೇಂದ್ರ AGENTS.md ಫೈಲ್ ಅನ್ನು ರಚಿಸಿ ಮತ್ತು ಎಲ್ಲಾ ಇತರ ಫೈಲ್‌ಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಪ್‌ಡೇಟ್ ಆಗುವಂತೆ ಮಾಡಲು symlinks ಬಳಸಿ.

ತಂತ್ರ 2: ADR (Architecture Decision Records)

ಏಜೆಂಟ್‌ಗೆ ಏನನ್ನಾದರೂ ನಿರ್ಮಿಸಲು ಕೇಳುವ ಮೊದಲು, ADR ಅನ್ನು ರಚಿಸಿ. ಈ ದಾಖಲೆಯು AI "ಊಹಿಸುವ" ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.

ಒಂದು ಉತ್ತಮ ADR ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ:

  • ನಿಖರವಾಗಿ ಏನನ್ನು ನಿರ್ಮಿಸಬೇಕು.
  • ಯಾವ ಫೈಲ್‌ಗಳನ್ನು ರಚಿಸಬೇಕು ಮತ್ತು ಯಾವ ಫೈಲ್‌ಗಳನ್ನು ಎಂದಿಗೂ ಮುಟ್ಟಬಾರದು.
  • ಬಳಸಬೇಕಾದ ನಿರ್ದಿಷ್ಟ tech stack ಮತ್ತು ಲೈಬ್ರರಿಗಳು.
  • ಸ್ಪಷ್ಟವಾದ ನಿರ್ಬಂಧಗಳು (ಉದಾಹರಣೆಗೆ, "No state in memory").
  • ಏಜೆಂಟ್ ನಿರ್ಧರಿಸಲು ಅನುಮತಿಯಿಲ್ಲದ ವಿಷಯಗಳ ಪಟ್ಟಿ.

ಒಂದು Orchestrator ADR ಅನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ, ವಿನ್ಯಾಸದ ನಿರ್ಧಾರಗಳು ಈಗಾಗಲೇ ಪೂರ್ಣಗೊಂಡಿರುತ್ತವೆ. Developer ಏಜೆಂಟ್ ಕೇವಲ spec ಅನ್ನು ಕೋಡ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಇದು ದೋಷಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ codebase ಅನ್ನು ಸ್ಥಿರವಾಗಿರಿಸುತ್ತದೆ.

ವಿಶ್ವಾಸಾರ್ಹ AI ಏಜೆಂಟ್ ವರ್ಕ್‌ಫ್ಲೋಗಳನ್ನು (workflows) ನಿರ್ಮಿಸುವ ಕುರಿತು ನಾನು ಒಂದು ಸರಣಿಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತಿದ್ದೇನೆ. ಮುಂದಿನ ಭಾಗಗಳಲ್ಲಿ, ನಾನು system prompt ಸಂಯೋಜನೆ ಮತ್ತು ಸುಧಾರಿತ ಎಂಜಿನಿಯರಿಂಗ್ ತಂತ್ರಗಳನ್ನು ಒಳಗೊಳ್ಳುತ್ತೇನೆ.

Source: https://dev.to/devjohanadrian/el-problema-de-la-confianza-ciega-como-reducir-las-alucinaciones-en-agentes-de-ia-parte-1-2aah