ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ಗಳಿಗಿಂತ ಕೌಶಲಗಳು ಮೇಲು: Anki ಟ್ಯೂಟರ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು
AI ನನ್ನನ್ನು ಸೋಮಾರಿ ಮಾಡುತ್ತಿದೆ.
ರೋಬೋಟ್ಗಳು ಎಲ್ಲವನ್ನೂ ಮಾಡಲಿ ಎಂದು ನಾನು ಬಯಸುತ್ತೇನೆ ಎಂದಲ್ಲ. ನಾನು ಹೇಳುತ್ತಿರುವುದು ಏನೆಂದರೆ, ಒಮ್ಮೆ ನೀವು ಬೇಸರದ ಕೆಲಸಗಳಿಗಾಗಿ ಏಜೆಂಟ್ ಅನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿದರೆ, ಮ್ಯಾನುಯಲ್ ವರ್ಕ್ಫ್ಲೋಗಳು (manual workflows) ತಪ್ಪಾಗಿ ಅನಿಸುತ್ತವೆ.
Anki ಎಂಬುದು ಸ್ಪೇಸ್ಡ್ ರಿಪೆಟಿಷನ್ (spaced repetition) ಗಾಗಿ ನಾನು ಬಳಸುವ ಸಾಧನ. ಇದು ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಆದರೆ ನನಗೊಂದು ಸಮಸ್ಯೆಯಿದೆ. ನಾನು ಅರಿಯದೇ ಮೋಸ ಮಾಡುತ್ತಿದ್ದೇನೆ ಎಂದು ನನಗೆ ಅನಿಸುತ್ತದೆ. ಕಷ್ಟದ ಕಾರ್ಡ್ ಬಂದಾಗ, ಮುಂದಕ್ಕೆ ಹೋಗಲು ಸುಮ್ಮನೆ "ಅದು ನನಗೆ ಗೊತ್ತಿತ್ತು" ಎಂದು ನಾನೇ ನನ್ನನ್ನು ನಂಬಿಸುತ್ತೇನೆ. ಅದು ಅಧ್ಯಯನವಲ್ಲ, ಅದು ಕೇವಲ ಊಹೆಯಾಗಿದೆ.
ನನಗೆ ಒಬ್ಬ ಸ್ಟಡಿ ಬಡ್ಡಿ (study buddy) ಬೇಕಿತ್ತು. ನನ್ನನ್ನು ಪ್ರಶ್ನಿಸುವ, ನನ್ನ ಉತ್ತರವನ್ನು ಸರಿಯಾದ ಉತ್ತರದೊಂದಿಗೆ ಹೋಲಿಸುವ ಮತ್ತು ಸರಿಯಾದ ರೇಟಿಂಗ್ ನೀಡಲು ನನಗೆ ಸಹಾಯ ಮಾಡುವ ವ್ಯಕ್ತಿ ಬೇಕಿತ್ತು.
ನಾನು ಇದನ್ನು ಒಂದು ದೊಡ್ಡ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ (system prompt) ಮೂಲಕ ನಿರ್ಮಿಸಲು ಪ್ರಯತ್ನಿಸಿದೆ. ಏಜೆಂಟ್ ಹೇಗೆ ಟ್ಯೂಟರ್ ಮಾಡಬೇಕು, ಕಾರ್ಡ್ಗಳನ್ನು ಹೇಗೆ ಬರೆಯಬೇಕು ಮತ್ತು Telegram ನಲ್ಲಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು ಎಂಬುದನ್ನು ನಾನು ಅದಕ್ಕೆ ತಿಳಿಸಿದೆ.
ಅದು ವಿಫಲವಾಯಿತು. ದೊಡ್ಡ ಪ್ರಾಂಪ್ಟ್ಗಳು ಕಸದ ಡಬ್ಬದಂತಾಗುತ್ತವೆ. ಅವು ಹಾಳಾಗುತ್ತವೆ ಮತ್ತು ಗೊಂದಲಮಯವಾಗುತ್ತವೆ.
ನಾನು ನನ್ನ ವಿಧಾನವನ್ನು ಬದಲಾಯಿಸಿದೆ. ನಾನು Google Antigravity SDK ಅನ್ನು ಬಳಸಿದೆ.
ಒಂದು ದೊಡ್ಡ ಪ್ರಾಂಪ್ಟ್ಗೆ ಬದಲಾಗಿ, ನಾನು ಪದರಗಳಿರುವ (layers) ಏಜೆಂಟ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ನಿರ್ಮಿಸಿದೆ.
- Tools ಏಜೆಂಟ್ಗೆ ಕೈಗಳನ್ನು ನೀಡುತ್ತವೆ.
- Skills ಏಜೆಂಟ್ಗೆ ಅಭ್ಯಾಸಗಳನ್ನು ನೀಡುತ್ತವೆ.
- Policies ಮಿತಿಗಳನ್ನು ನಿರ್ಧರಿಸುತ್ತವೆ.
- Hooks ಭರವಸೆಗಳನ್ನು ನೀಡುತ್ತವೆ.
- Triggers ಘಟನೆಗಳಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತವೆ.
Anki ಗೆ ಸಂಪರ್ಕಿಸಲು ನಾನು Python ಟೂಲ್ಗಳನ್ನು ಬಳಸಿದೆ. ಈಗ ಏಜೆಂಟ್ ಡೆಕ್ಗಳನ್ನು (decks) ಪಟ್ಟಿ ಮಾಡಬಹುದು, ಬಾಕಿ ಇರುವ ಕಾರ್ಡ್ಗಳನ್ನು ಪಡೆಯಬಹುದು ಮತ್ತು ಅವುಗಳಿಗೆ ರೇಟಿಂಗ್ ನೀಡಬಹುದು.
ಆದರೆ ಟೂಲ್ಗಳು ವರ್ತನೆಯಲ್ಲ. ವರ್ತನೆಗಾಗಿ, ನಾನು skills ಬಳಸಿದೆ.
Skill ಎಂಬುದು ನಿರ್ದಿಷ್ಟ ಸೂಚನೆಗಳನ್ನು ಹೊಂದಿರುವ ಒಂದು ಸಣ್ಣ ಫೈಲ್ ಆಗಿದೆ. ನಾನು ಮೂರು ಕೌಶಲಗಳನ್ನು (skills) ರಚಿಸಿದೆ:
- review-buddy: ಸ್ಟಡಿ ಸೆಷನ್ ಅನ್ನು ಹೇಗೆ ನಡೆಸಬೇಕು.
- plain-cards: ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಫ್ಲ್ಯಾಶ್ಕಾರ್ಡ್ಗಳನ್ನು ಹೇಗೆ ಬರೆಯಬೇಕು.
- codebase-cards: ಕೋಡ್ ಅನ್ನು ಅಧ್ಯಯನ ಸಾಮಗ್ರಿಯಾಗಿ ಹೇಗೆ ಪರಿವರ್ತಿಸಬೇಕು.
ಇದು ಮುಖ್ಯ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಚಿಕ್ಕದಾಗಿಡುತ್ತದೆ. ಅಸ್ತಿತ್ವವು (identity) ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿ ಇರುತ್ತದೆ. ಕೆಲಸದ ವಿವರಗಳು skills ನಲ್ಲಿ ಇರುತ್ತವೆ.
ನಾನು ಸುರಕ್ಷತೆಯನ್ನು ಕೂಡ ಸೇರಿಸಿದೆ. ಪ್ರಾಂಪ್ಟ್ ವಿಫಲವಾಗಬಹುದು, ಆದರೆ policy ವಿಫಲವಾಗುವುದಿಲ್ಲ. ಪ್ರಾಕ್ಟೀಸ್ ಮೋಡ್ನಲ್ಲಿ ಕೆಲವು ಕ್ರಮಗಳನ್ನು ತಡೆಯಲು ನಾನು policy ಅನ್ನು ಬಳಸಿದೆ. ಒಂದು ವೇಳೆ ಏಜೆಂಟ್ ಕ್ರಾಮ್ ಸೆಷನ್ (cram session) ಸಮಯದಲ್ಲಿ ನನ್ನ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ, SDK ಅದನ್ನು runtime ಮಟ್ಟದಲ್ಲಿ ತಡೆಯುತ್ತದೆ.
ಇದರ ಫಲಿತಾಂಶವು ಮಲ್ಟಿ-ಸರ್ಫೇಸ್ ಏಜೆಂಟ್ (multi-surface agent). ನಾನು ಇದೇ ತರ್ಕವನ್ನು (logic) ನನ್ನ ಟರ್ಮಿನಲ್ನಲ್ಲಿ, Telegram ನಲ್ಲಿ ವಾಯ್ಸ್ ನೋಟ್ಸ್ ಮೂಲಕ ಮತ್ತು ನನ್ನ ಕೋಡ್ ಬದಲಾವಣೆಗಳನ್ನು ಗಮನಿಸುವ ಡೆಕ್ ಬಿಲ್ಡರ್ನಲ್ಲಿ ಬಳಸುತ್ತೇನೆ.
ಉತ್ತಮ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಮಾಡಲು ಪ್ರಯತ್ನಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಚಿಕ್ಕ ಪ್ರಾಂಪ್ಟ್ಗಳು ಮತ್ತು ಚುರುಕಾದ ಕೌಶಲಗಳನ್ನು (skills) ತಯಾರಿಸಲು ಪ್ರಾರಂಭಿಸಿ.
Source: https://dev.to/gde/skills-over-system-prompts-building-an-anki-tutor-with-the-antigravity-sdk-2o8f
Optional learning community: https://t.me/GyaanSetuAi