AI ಏಜೆಂಟ್‌ಗಳಿಗೆ ಪ್ರಶ್ನೆ ಕೇಳುವುದು ಮತ್ತು ಕೆಲಸವನ್ನು ನಿಯೋಜಿಸುವುದು

ಹೆಚ್ಚಿನ ಡೆವಲಪರ್‌ಗಳು AI ಅನ್ನು Stack Overflow ನ ಸ್ಮಾರ್ಟ್ ಆವೃತ್ತಿಯಂತೆ ಬಳಸುತ್ತಾರೆ.

ನೀವು ಒಂದು ಪ್ರಶ್ನೆಯನ್ನು ಟೈಪ್ ಮಾಡುತ್ತೀರಿ. ನಿಮಗೆ ಉತ್ತರ ಸಿಗುತ್ತದೆ. ನಂತರ ಕೆಲಸವನ್ನು ನೀವೇ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಈ ವಿಧಾನವು ನಿಧಾನವಾಗಿದೆ.

ಇದಕ್ಕಿಂತ ವೇಗವಾದ ಮಾರ್ಗವಿದೆ. ನೀವು ಪ್ರಶ್ನೆ ಕೇಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ, ಕೆಲಸವನ್ನು ನಿಯೋಜಿಸಲು (delegating) ಪ್ರಾರಂಭಿಸಬೇಕು.

ನೀವು AI ಅನ್ನು ಕೇಳಿದಾಗ: "ನನ್ನ auth module ಗಾಗಿ ಟೆಸ್ಟ್‌ಗಳನ್ನು ಬರೆಯುವುದು ಹೇಗೆ?" ನಿಮಗೆ ವಿವರಣೆ ಸಿಗುತ್ತದೆ. ಆದರೆ ಟೆಸ್ಟ್‌ಗಳನ್ನು ನೀವೇ ಬರೆಯಬೇಕಾಗುತ್ತದೆ. ಕೆಲಸವನ್ನು ನೀವೇ ಮಾಡಬೇಕಾಗುತ್ತದೆ.

ನೀವು AI ಏಜೆಂಟ್‌ಗೆ ಕೆಲಸವನ್ನು ನಿಯೋಜಿಸಿದಾಗ: "/src/auth.py ಗಾಗಿ ಟೆಸ್ಟ್‌ಗಳನ್ನು ಬರೆಯಿರಿ. login, logout, ಮತ್ತು invalid token ಸಂದರ್ಭಗಳನ್ನು ಒಳಗೊಳ್ಳಿ. ಅವುಗಳನ್ನು ರನ್ ಮಾಡಿ. ಒಂದು ವೇಳೆ ಅವು ವಿಫಲವಾದರೆ, ಪಾಸಾಗುವವರೆಗೆ ಕೋಡ್ ಅನ್ನು ಸರಿಪಡಿಸಿ. ನೀವು ಏನನ್ನು ಬದಲಾಯಿಸಿದ್ದೀರಿ ಎಂದು ನನಗೆ ತಿಳಿಸಿ."

ಏಜೆಂಟ್ ನಿಮ್ಮ ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯುತ್ತದೆ. ಅದು ಟೆಸ್ಟ್‌ಗಳನ್ನು ಬರೆಯುತ್ತದೆ. ಅವುಗಳನ್ನು ರನ್ ಮಾಡುತ್ತದೆ. ವಿಫಲತೆಗಳನ್ನು ಓದುತ್ತದೆ. ಕೋಡ್ ಅನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ. ಅಂತಿಮವಾಗಿ ನಿಮಗೆ ಕೆಲಸ ಮಾಡುವಂತಹ (working) ಟೆಸ್ಟ್ ಸೂಟ್ ಅನ್ನು ತಂದುಕೊಡುತ್ತದೆ.

ನೀವು ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸುತ್ತೀರಿ. ಕೆಲಸವನ್ನು ನೀವೇ ಮಾಡಿಲ್ಲ.

ಪರಿಣಾಮಕಾರಿ ನಿಯೋಜನೆಗೆ ನಾಲ್ಕು ಭಾಗಗಳು ಬೇಕು:

  • ಗುರಿ (Goal): ಏಜೆಂಟ್ ಏನನ್ನು ತಯಾರಿಸಬೇಕು?
  • ವ್ಯಾಪ್ತಿ (Scope): ಯಾವ ಫೈಲ್‌ಗಳು ಅಥವಾ ಕ್ಷೇತ್ರಗಳನ್ನು ಅದು ಬಳಸಬೇಕು?
  • ಯಶಸ್ಸಿನ ಸ್ಥಿತಿ (Success condition): ಅದು ಸರಿಯಾಗಿត្រូវបាន ಎಂದು ನಮಗೆ ಹೇಗೆ ತಿಳಿಯುತ್ತದೆ?
  • ವರದಿ (Report back): ಅದು ಏನನ್ನು ಬದಲಾಯಿಸಿತು ಮತ್ತು ಏಕೆ?

ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳು:

Debugging: "ಈ ಎರರ್ ಮತ್ತು stack trace ನ ಮೂಲ ಕಾರಣವನ್ನು ಪತ್ತೆಹಚ್ಚಿ. ಅದನ್ನು ಸರಿಪಡಿಸಿ ಮತ್ತು ಎಲ್ಲಿ ತಪ್ಪಾಗಿದೆ ಎಂದು ವಿವರಿಸಿ."

Refactoring: "ಈ ಫೈಲ್ ಅನ್ನು ರಿಫ್ಯಾಕ್ಟರ್ ಮಾಡಿ. ಗರಿಷ್ಠ ಎರಡು nesting ಮಟ್ಟಗಳನ್ನು ಬಳಸಿ. ಯಾವುದೇ ಫಂಕ್ಷನ್ 30 ಸಾಲುಗಳಿಗಿಂತ ಹೆಚ್ಚು ಇರಬಾರದು. ಪ್ರತಿಯೊಂದು call site ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಿ."

Database migration: "ಈ schema ಬದಲಾವಣೆಗಾಗಿ ಒಂದು idempotent migration script ಬರೆಯಿರಿ. ಅದು ಯಶಸ್ವಿಯಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಅದನ್ನು ಲೋಕಲ್ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ರನ್ ಮಾಡಿ."

Reviewing: "ಈ PR diff ಅನ್ನು ಓದಿ. ಪ್ರೊಡಕ್ಷನ್‌ನಲ್ಲಿ ವಿಫಲವಾಗಬಹುದಾದ ಯಾವುದೇ ಅಂಶಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಿ. ನಾನು ಮರೆತ ಟೆಸ್ಟ್‌ಗಳನ್ನು ಬರೆಯಿರಿ."

ಏಜೆಂಟ್‌ಗಳು ವೇಗವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತವೆ. ಆದರೆ ಅವುಗಳು ಕೆಲವೊಮ್ಮೆ ತಪ್ಪುಗಳನ್ನೂ ಮಾಡಬಹುದು. ಅವುಗಳ ಕೆಲಸವನ್ನು ಪರಿಶೀಲಿಸಲು ಈ ಮೂರು ತಪಾಸಣೆಗಳನ್ನು ಬಳಸಿ:

  1. ಅದು ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಿದೆಯೇ? ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡಿ. ಕೇವಲ ಓದಬೇಡಿ. ಟೆಸ್ಟ್‌ಗಳನ್ನು ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡಿ. edge case ವಿಫಲತೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಕೋಡ್ ರನ್ ಮಾಡುವುದು ಒಂದೇ ದಾರಿ.

  2. ಅದು ನಿಮ್ಮ codebase ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ? ನಿಮ್ಮ ತಂಡದ ನಿಯಮಗಳು (conventions) ಏಜೆಂಟ್‌ಗೆ ತಿಳಿದಿರುವುದಿಲ್ಲ. ಅಸಾಮಾನ್ಯ ಪ್ಯಾಟರ್ನ್‌ಗಳು ಅಥವಾ ನಿಮ್ಮ ತಂಡವು ಬಳಸದ ಲೈಬ್ರರಿಗಳಿಗಾಗಿ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ.

  3. ಅದು ವ್ಯಾಪ್ತಿಯ ಹೊರಗಿನ ವಿಷಯಗಳನ್ನು ಬದಲಾಯಿಸಿದೆಯೇ? ಏಜೆಂಟ್ ಯಾವ ಫೈಲ್‌ಗಳನ್ನು ಬಳಸಿದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಒಬ್ಬ ಜೂನಿಯರ್ ಡೆವಲಪರ್ ಕಳುಹಿಸಿದ PR ಅನ್ನು ಓದುವಂತೆ diff ಅನ್ನು ಓದಿ. ಸಹಾಯ ಮಾಡುವಾಗ ಅದು ಏನನ್ನೂ ಹಾಳು ಮಾಡಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

ನಿಮ್ಮ ಕೆಲಸವು ಕೆಲಸ ಮಾಡುವುದರಿಂದ ಗುರಿಯನ್ನು ನಿರ್ಧರಿಸುವುದು ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸುವುದಕ್ಕೆ ಬದಲಾಗುತ್ತದೆ. ನೀವು ತೀರ್ಮಾನವನ್ನು (judgment) ನೀಡುತ್ತೀರಿ. ಏಜೆಂಟ್ ವೇಗವನ್ನು ನೀಡುತ್ತದೆ.

Source: https://dev.to/omerberatsezer/asking-vs-delegating-agents-43ii

Optional learning community: https://t.me/GyaanSetuAi