Microsoft ಜುಲೈ 15 ರಂದು Python ಗಾಗಿ ಸ್ಥಿರವಾದ Agent Skills framework ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದೆ. ಇದು LLM-ಚಾಲಿತ ಏಜೆಂಟ್ಗೆ (agent) ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಸಾಮರ್ಥ್ಯಗಳನ್ನು (capabilities) ಬಳಸಿಕೊಳ್ಳಲು ಡೆವಲಪರ್ಗಳಿಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಬೆಳೆಯುತ್ತಿರುವ ಒಂದೇ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ಗೆ (system prompt) ಬದಲಾಗಿ, ಅಗತ್ಯಕ್ಕೆ ತಕ್ಕಂತೆ ಸ್ಕಿಲ್ ಲೋಡ್ ಮಾಡುವ ಈ ವಿಧಾನವು ಪ್ರಾಂಪ್ಟ್ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಟೋಕನ್ ವೆಚ್ಚವನ್ನು ತಗ್ಗಿಸುತ್ತದೆ ಮತ್ತು ಏಜೆಂಟ್ನ ತರ್ಕವನ್ನು (reasoning) ಹೆಚ್ಚು ಸ್ಪಷ್ಟವಾಗಿರಿಸುತ್ತದೆ.
ಪ್ರಾಂಪ್ಟ್ಗಳು ಏಕೆ ದೊಡ್ಡದಾಗುತ್ತವೆ ಮತ್ತು ಇದು ಏಕೆ ಮುಖ್ಯ
LLM ಏಜೆಂಟ್ಗಳು "system prompt" ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತವೆ, ಇದು ಮಾಡೆಲ್ ಪ್ರತಿ ಹಂತದಲ್ಲೂ ನೋಡಬೇಕಾದ ಪಾಲಿಸಿಗಳು (policies), ರನ್ಬುಕ್ಗಳು (runbooks) ಮತ್ತು ರೆಫರೆನ್ಸ್ ಮೆಟೀರಿಯಲ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಕೆಲವು ಪಾಲಿಸಿ ದಾಖಲೆಗಳನ್ನು ಸೇರಿಸಿದ ಕೂಡಲೇ ಪ್ರಾಂಪ್ಟ್ ಸಾವಿರಾರು ಟೋಕನ್ಗಳವರೆಗೆ ಬೆಳೆಯುತ್ತದೆ. ದೊಡ್ಡ ಪ್ರಾಂಪ್ಟ್ಗಳು ಇನ್ಫರೆನ್ಸ್ ವೆಚ್ಚವನ್ನು (inference costs) ಹೆಚ್ಚಿಸುತ್ತವೆ—ಮಾಡೆಲ್ ಪ್ರೊಸೆಸ್ ಮಾಡುವ ಪ್ರತಿಯೊಂದು ಟೋಕನ್ಗೂ ಬಿಲ್ ಮಾಡಲಾಗುತ್ತದೆ—ಮತ್ತು ಅವು ಸೂಚನೆಯ ಸಿಗ್ನಲ್ ಅನ್ನು ಮಂದಗೊಳಿಸಿ, ಏಜೆಂಟ್ನ ಔಟ್ಪುಟ್ ಅನ್ನು ಅಸ್ಪಷ್ಟವಾಗಿಸುತ್ತವೆ. ಇನ್ಸಿಡೆಂಟ್ ಟ್ರೈಯಾಜ್ (incident triage) ಅಥವಾ ಕಾಂಪ್ಲೈಯನ್ಸ್ ಚೆಕಿಂಗ್ನಲ್ಲಿ, ಅಸ್ಪಷ್ಟವಾದ ಪ್ರಾಂಪ್ಟ್ ಉಪಯುಕ್ತ ಸಹಾಯಕನನ್ನು ತಪ್ಪು ಮಾಹಿತಿಯನ್ನು ನೀಡುವ ಮೂಲವನ್ನಾಗಿ ಪರಿವರ್ತಿಸಬಹುದು.
Agent Skills ಪ್ಯಾಟರ್ನ್: ಪ್ರೋಗ್ರೆಸಿವ್ ಡಿಸ್ಕ್ಲೋಸರ್ (progressive disclosure)
ಹೊಸ ಫ್ರೇಮ್ವರ್ಕ್ ಏಕರೂಪದ (monolithic) ಪ್ರಾಂಪ್ಟ್ಗೆ ಬದಲಾಗಿ ನಾಲ್ಕು ಹಂತಗಳ ವರ್ಕ್ಫ್ಲೋ ಅನ್ನು ಬಳಸುತ್ತದೆ:
- Advertise the skill – ಒಂದು ಲೈಟ್ವೇಯ್ಟ್ ಮೆಟಾಡೇಟಾ ಎಂಟ್ರಿ, ಇದು ರೂಟಿಂಗ್ ಲೇಯರ್ಗೆ ಸ್ಕಿಲ್ನ ಹೆಸರನ್ನು ತಿಳಿಸುತ್ತದೆ.
- Load instructions – ಸ್ಕಿಲ್ ವಿನಂತಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಲು ಏಜೆಂಟ್ ಓದುವ ಸಂಕ್ಷಿಪ್ತ ವಿವರಣೆ.
- Read resources – ಏಜೆಂಟ್ ಸ್ಕಿಲ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ ನಂತರ ಮಾತ್ರ ಪಡೆಯಲಾಗುವ ಐಚ್ಛಿಕ ಪಾಲಿಸಿ ಅಥವಾ ರೆಫರೆನ್ಸ್ ಫೈಲ್ಗಳು.
- Run scripts – ಸ್ಪಷ್ಟ ಅನುಮೋದನೆಯೊಂದಿಗೆ ಕಾರ್ಯವನ್ನು ನಿರ್ವಹಿಸುವ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಷನ್.
ಕೇವಲ ಸಣ್ಣ SKILL.md ಫೈಲ್ ಮಾತ್ರ ಕೋರ್ ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿ ಇರುತ್ತದೆ. ಉಳಿದ ಎಲ್ಲಾ ದೊಡ್ಡ ದಾಖಲೆಗಳು ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಫೈಲ್-ಆಧಾರಿತ ಸ್ಕಿಲ್ ಪ್ಯಾಕೇಜ್ನಲ್ಲಿ ಇರುತ್ತವೆ, ಇದನ್ನು ರನ್ಟೈಮ್ ಅಗತ್ಯಕ್ಕೆ ತಕ್ಕಂತೆ ಪಡೆಯುತ್ತದೆ. ಡೈರೆಕ್ಟರಿ ಲೇಔಟ್ ಸರಳವಾಗಿರುತ್ತದೆ:
SKILL.md– ಸಂಕ್ಷಿಪ್ತ ಮಾನವನಿಗೆ ಓದಬಲ್ಲ ವಿವರಣೆ.references/– ಪಾಲಿಸಿ ಅಥವಾ ಮಾರ್ಗದರ್ಶನ ಫೈಲ್ಗಳು.scripts/– ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಕೋಡ್.
ಸ್ಕಿಲ್ ಸರಿಯಾದ ಆಯ್ಕೆಯಾಗಿದೆ ಎಂದು ನಿರ್ಧರಿಸುವವರೆಗೆ ಏಜೆಂಟ್ references/ ಅಥವಾ scripts/ ನ ಪೂರ್ಣ ವಿಷಯವನ್ನು ಎಂದಿಗೂ ನೋಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ನೀವು ಎಷ್ಟೇ ಸ್ಕಿಲ್ಗಳನ್ನು ನೋಂದಾಯಿಸಿದರೂ ಮುಖ್ಯ ಪ್ರಾಂಪ್ಟ್ ಲೀನ್ (lean) ಆಗಿರುತ್ತದೆ.
ಫ್ರೇಮ್ವರ್ಕ್ನಲ್ಲಿ ಅಳವಡಿಸಲಾದ ಸೇಫ್ಟಿ ಗಾರ್ಡ್ಸ್ (Safety guards)
ಸ್ಕಿಲ್ ಲೋಡ್ ಮಾಡುವುದು ಅಪಾಯಕಾರಿಯಾಗಬಹುದು ಎಂದು ಈ ಫ್ರೇಮ್ವರ್ಕ್ ಭಾವಿಸುತ್ತದೆ ಮತ್ತು ಡೆವಲಪರ್ಗಳು ಅನುಸರಿಸಲೇಬೇಕಾದ ನಿಯಮಗಳನ್ನು ಜಾರಿಗೊಳಿಸುತ್ತದೆ:
- Skill name advertisement – ಸ್ವಯಂಚಾಲಿತ, ಕೇವಲ ರೂಟಿಂಗ್ಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
- Instruction loading – ಕ್ಯುರೇಟೆಡ್ ಲಿಸ್ಟ್ಗಳಿಗಾಗಿ ಸ್ವಯಂಚಾಲಿತ; ಪರಿಶೀಲಿಸದ ಸೂಚನೆಗಳು ಅನಿರೀಕ್ಷಿತವಾಗಿ ವರ್ತನೆಯನ್ನು ಬದಲಿಸಬಹುದು.
- Policy reading – ಡೇಟಾ ಸೂಕ್ಷ್ಮವಲ್ಲದಿದ್ದಾಗ ಸ್ವಯಂಚಾಲಿತ; ಸೂಕ್ಷ್ಮ ಮಾಹಿತಿಯನ್ನು ಹೆಚ್ಚಿನ ಅಕ್ಸೆಸ್ ಕಂಟ್ರೋಲ್ಗಳ ಹಿಂದೆ ಇರಿಸಿ.
- Script execution – ಯಾವಾಗಲೂ ಸ್ಪಷ್ಟ ಅನುಮೋದನೆಯ ಅಗತ್ಯವಿರುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಏಜೆಂಟ್ ಅನ್ನು "ಸಲಹೆ"ಯಿಂದ "ಕ್ರಿಯೆ"ಯೆಡೆಗೆ ಕೊಂಡೊಯ್ಯುತ್ತದೆ, ಆದ್ದರಿಂದ ಮನುಷ್ಯ ಅಥವಾ ಪಾಲಿಸಿ ಚೆಕ್ ಮಧ್ಯಪ್ರವೇಶಿಸಬೇಕು.
- External system calls – ಸೀಮಿತ ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿರುವ ಪ್ರತ್ಯೇಕ ಟೂಲ್ಗಳ ಮೂಲಕವೇ ಹೋಗಬೇಕು; ಸ್ಕಿಲ್ ತನ್ನಷ್ಟಕ್ಕೆ ತಾನೇ ಅಧಿಕಾರ ನೀಡುವ ಕಾರ್ಯವಿಧಾನವಲ್ಲ (authorization mechanism).
ಈ ನಿಯಮಗಳು ಡೆವಲಪರ್ಗಳು ಡೇಟಾಬೇಸ್ ಅಪ್ಡೇಟ್ಗಳು ಅಥವಾ ಕೋಡ್ ಡಿಪ್ಲಾಯ್ಮೆಂಟ್ಗಳಂತಹ ರೈಟ್-ಓರಿಯೆಂಟೆಡ್ (write-oriented) ಕ್ರಿಯೆಗಳನ್ನು ಪ್ರಯತ್ನಿಸುವ ಮೊದಲು, ಇನ್ಸಿಡೆಂಟ್ ಟ್ರೈಯಾಜ್, ಪಾಲಿಸಿ ಲುಕಪ್, ಸ್ಟೇಟಸ್ ಕ್ವೇರಿಗಳಂತಹ ರೀಡ್-ಓನ್ಲಿ (read-only) ವರ್ಕ್ಫ್ಲೋಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲು ಪ್ರೇರೇಪಿಸುತ್ತವೆ.
ಆಪರೇಷನಲ್ ಹೈಜೀನ್: ಲಾಗಿಂಗ್ ಮತ್ತು ವರ್ಷನಿಂಗ್ (logging and versioning)
ಒಂದು ಸ್ಕಿಲ್ ರನ್ ಆಗಿದಾಗ, ಫ್ರೇಮ್ವರ್ಕ್ ಈ ಕೆಳಗಿನವುಗಳ ಲಾಗಿಂಗ್ ಅನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತದೆ (ಮತ್ತು ಅನೇಕ ಡಿಪ್ಲಾಯ್ಮೆಂಟ್ಗಳು ಇದನ್ನು ಕಡ್ಡಾಯಗೊಳಿಸುತ್ತವೆ):
- ಮೂಲ ವಿನಂತಿ ಮತ್ತು ಆಯ್ಕೆ ಮಾಡಿದ ಸ್ಕಿಲ್ ID.
- ಬಳಸಲಾದ ಸ್ಕಿಲ್ ಪ್ಯಾಕೇಜ್ನ ವರ್ಷನ್.
- ಏಜೆಂಟ್ ಕೇವಲ ವಿವರಣೆಯನ್ನು ಲೋಡ್ ಮಾಡಿದೆಯೇ ಅಥವಾ ರೆಫರೆನ್ಸ್ ಫೈಲ್ ಅನ್ನು ಸಹ ಪಡೆದಿದೆಯೇ ಎಂಬುದು.
- ಸ್ಕ್ರಿಪ್ಟ್ ಎಕ್ಸಿಕ್ಯೂಷನ್ಗಾಗಿ ತೆಗೆದುಕೊಂಡ ಅನುಮೋದನಾ ನಿರ್ಧಾರ.
- ಒದಗಿಸಲಾದ ಎಲ್ಲಾ ಟೂಲ್ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳು ಮತ್ತು ಮರಳಿ ಬಂದ ಫಲಿತಾಂಶಗಳು.
ಏಜೆಂಟ್ ತಪ್ಪಾದ ಸ್ಕಿಲ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಆ ತಪ್ಪನ್ನು ಒಂದು ಟೆಸ್ಟ್ ಕೇಸ್ ಆಗಿ ಪರಿವರ್ತಿಸಿ. ಇದು ಸ್ಕಿಲ್ ಪ್ರೊಡಕ್ಷನ್ಗೆ ತಲುಪುವ ಮೊದಲು ರಿಗ್ರೆಷನ್ ಚೆಕ್ (regression check) ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ಪ್ರತಿಯೊಂದು ಸ್ಕಿಲ್ ಅನ್ನು ಪ್ರಾಂಪ್ಟ್ಗಳ ಸಡಿಲವಾದ ಫೋಲ್ಡರ್ ಆಗಿ ಪರಿಗಣಿಸದೆ, ಸ್ಪಷ್ಟವಾದ ಗಡಿ ಹೊಂದಿರುವ versioned dependency ಆಗಿ ಪರಿಗಣಿಸಿ. ವರ್ಷನಿಂಗ್ ಮಾಡುವುದರಿಂದ ಉಳಿದ ಏಜೆಂಟ್ ನೊಲೆಡ್ಜ್ ಬೇಸ್ ಅನ್ನು ತೊಂದರೆಗೊಳಿಸದೆ ದೋಷಪೂರಿತ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರೋಲ್ ಬ್ಯಾಕ್ (roll back) ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಪ್ರಾರಂಭಿಸಲು: ಒಂದು ಪ್ರಾಗ್ಮ್ಯಾಟಿಕ್ ಚೆಕ್ಲಿಸ್ಟ್ (pragmatic checklist)
- Pick a read-only workflow – ಉದಾಹರಣೆಗೆ, "ಇತ್ತೀಚಿನ ಸೆಕ್ಯೂರಿಟಿ ಇನ್ಸಿಡೆಂಟ್ ಮಾರ್ಗದರ್ಶಿಗಳನ್ನು ಹುಡುಕಿ".
- Package instructions and scripts separately –
SKILL.mdಅನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿಡಿ; ಭಾರೀ ಪಾಲಿಸಿ ಫೈಲ್ಗಳನ್ನುreferences/ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ. - Curate a catalogue – ಅನುಮೋದಿತ ಸ್ಕಿಲ್ಗಳ ಪಟ್ಟಿಯನ್ನು ನಿರ್ವಹಿಸಿ ಮತ್ತು ಯಾವುದೇ ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಕಡ್ಡಾಯ ಅನುಮೋದನೆಯನ್ನು ಜಾರಿಗೊಳಿಸಿ.
- Set sandbox limits – ಸ್ಕ್ರಿಪ್ಟ್ ಎಕ್ಸಿಕ್ಯೂಷನ್ಗಾಗಿ CPU, ಮೆಮೊರಿ ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಮಿತಿಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ; ಪ್ರತಿ ರನ್ ಅನ್ನು ಲಾಗ್ ಮಾಡಿ.
- Benchmark against the old mega-prompt – ವೆಚ್ಚ ಉಳಿತಾಯವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಟೋಕನ್ ಬಳಕೆ, લેಟೆನ್ಸಿ (latency) ಮತ್ತು ಯಶಸ್ಸಿನ ದರಗಳನ್ನು ಹಳೆಯ ಮೆಗಾ-ಪ್ರಾಂಪ್ಟ್ಗೆ ಹೋಲಿಸಿ.
ಮುಂದೆ ಗಮನಿಸಬೇಕಾದವುಗಳು
Microsoft ನ ಈ ಬಿಡುಗಡೆಯು ಪ್ರಸ್ತುತ ಸ್ಥಿರವಾದ (stable) Python ಇಂಪ್ಲಿಮೆಂಟೇಶನ್ ಆಗಿದೆ.
ಸಾರಾಂಶ (Bottom line)
Agent Skills, LLM-ಚಾಲಿತ ಸಹಾಯಕರು ಬೆಳೆಯುತ್ತಿರುವ ನೀತಿಗಳು ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ಗಳ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಿಕೊಳ್ಳುವಾಗಲೂ ಹಗುರವಾಗಿಯೇ ಇರಲು ಒಂದು ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಕೇವಲ ವಿವರಣೆಯನ್ನು ಮಾತ್ರ ಮೊದಲೇ ಲೋಡ್ ಮಾಡುವುದು ಮತ್ತು ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಭಾರೀ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪಡೆಯುವುದರಿಂದ, ಪ್ರಾಂಪ್ಟ್ಗಳು ಚಿಕ್ಕದಾಗಿರುತ್ತವೆ, ಇನ್ಫರೆನ್ಸ್ ವೆಚ್ಚಗಳು ಕಡಿಮೆಯಾಗುತ್ತವೆ ಮತ್ತು ಏಜೆಂಟ್ನ ತಾರ್ಕಿಕತೆ ಕೇಂದ್ರೀಕೃತವಾಗಿರುತ್ತದೆ.
