சிஸ்டம் ப்ராம்ப்ட்களை விட திறன்கள் மேலானது: ஓர் Anki பயிற்சியாளரை உருவாக்குதல்

AI என்னை சோம்பேறியாக்குகிறது.

ரோபோக்கள் எல்லாவற்றையும் செய்ய வேண்டும் என்று நான் சொல்லவில்லை. சலிப்பூட்டும் வேலைகளுக்கு ஒரு ஏஜென்ட்டை (agent) பயன்படுத்தத் தொடங்கியவுடன், கைமுறை வேலைமுறைகள் (manual workflows) தவறாகத் தோன்றும் என்று சொல்கிறேன்.

இடைவெளி விட்டுத் திரும்பத் திரும்பக் கற்றல் (spaced repetition) முறைக்காக நான் Anki கருவியைப் பயன்படுத்துகிறேன். அது நன்றாகச் செயல்படுகிறது. ஆனால் எனக்கு ஒரு பிரச்சனை உள்ளது. நான் ஏமாற்றுவதை உணர்கிறேன். ஒரு கடினமான கார்டைப் பார்த்தவுடன், அடுத்தடுத்த நிலைக்குச் செல்ல வேண்டும் என்பதற்காக "எனக்கு இது தெரியும்" என்று எனக்கு நானே சொல்லிக்கொள்கிறேன். அது கற்றல் அல்ல. அது வெறும் யூகிக்க்தல் மட்டுமே.

எனக்கு ஒரு படிப்புத் தோழன் (study buddy) தேவைப்பட்டது. என்னை வினாடி வினாவில் ஈடுபடுத்தவும், எனது பதிலுடன் சரியான பதிலைப் ஒப்பிடவும், சரியான மதிப்பீட்டைத் தீர்மானிக்க எனக்கு உதவவும் ஒரு ஆள் தேவைப்பட்டது.

இதை ஒரு மிகப்பெரிய சிஸ்டம் ப்ராம்ப்ட் (system prompt) மூலம் உருவாக்க முயன்றேன். ஏஜென்ட் எவ்வாறு பயிற்சியளிக்க வேண்டும், எவ்வாறு கார்டுகளை எழுத வேண்டும் மற்றும் Telegram-இல் எவ்வாறு செயல்பட வேண்டும் என்பதை நான் அதற்குச் சொன்னேன்.

அது தோல்வியடைந்தது. பெரிய ப்ராம்ப்ட்கள் குப்பைத் தொட்டிகளாக மாறிவிடுகின்றன. அவை சிதைந்து போகின்றன. குழப்பமடைகின்றன.

நான் எனது அணுகுமுறையை மாற்றினேன். Google Antigravity SDK-ஐப் பயன்படுத்தினேன்.

ஒரே பெரிய ப்ராம்ப்ட்டிற்குப் பதிலாக, அடுக்குகளைக் கொண்ட ஒரு ஏஜென்ட் அமைப்பை (agent system) உருவாக்கினேன்.

  • கருவிகள் (Tools) ஏஜென்ட்டிற்கு கைகளைப் போன்ற செயல்பாடுகளைத் தருகின்றன.
  • திறன்கள் (Skills) ஏஜென்ட்டிற்குப் பழக்கவழக்கங்களைத் தருகின்றன.
  • கொள்கைகள் (Policies) எல்லைகளை வரையறுக்கின்றன.
  • ஹூக்ஸ் (Hooks) உத்தரவாதங்களை வழங்குகின்றன.
  • ட்ரிக்கர்கள் (Triggers) நிகழ்வுகளுக்கு எதிர்வினையாற்றுகின்றன.

Anki உடன் இணைக்க நான் Python கருவிகளைப் பயன்படுத்தினேன். இப்போது ஏஜென்ட்டால் டெக்ஸ்களைப் (decks) பட்டியலிடவும், படிக்க வேண்டிய கார்டுகளைப் பெறவும் மற்றும் அவற்றைப்評மதிப்பீடு செய்யவும் முடியும்.

ஆனால் கருவிகள் என்பது நடத்தை அல்ல. நடத்தைக்காக, நான் திறன்களைப் (skills) பயன்படுத்தினேன்.

ஒரு திறன் (skill) என்பது குறிப்பிட்ட அறிவுறுத்தல்களைக் கொண்ட ஒரு சிறிய கோப்பாகும். நான் மூன்றை உருவாக்கினேன்:

  • review-buddy: ஒரு படிப்பு அமர்வை எவ்வாறு நடத்துவது என்பது பற்றியது.
  • plain-cards: உயர்தர ஃபிளாஷ் கார்டுகளை (flashcards) எவ்வாறு எழுதுவது என்பது பற்றியது.
  • codebase-cards: குறியீட்டை (code) எவ்வாறு படிப்புப் பொருளாக மாற்றுவது என்பது பற்றியது.

இது முக்கிய சிஸ்டம் ப்ராம்ப்ட்டைச் சிறியதாக வைத்திருக்க உதவுகிறது. அதன் அடையாளம் (identity) ப்ராம்ப்ட்டில் இருக்கும். வேலை விவரங்கள் திறன்களில் (skills) இருக்கும்.

நான் பாதுகாப்பையும் சேர்த்தேன். ஒரு ப்ராம்ப்ட் தோல்வியடையலாம். ஆனால் ஒரு கொள்கை (policy) தோல்வியடையாது. பயிற்சி முறையின் (practice mode) போது சில செயல்களைத் தடுக்க நான் ஒரு கொள்கையைப் பயன்படுத்தினேன். ஒரு தீவிரப் படிப்பு அமர்வின் (cram session) போது ஏஜென்ட் எனது கால அட்டவணையை மாற்ற முயன்றால், SDK அதை ரன்டைம் (runtime) மட்டத்திலேயே தடுத்துவிடும்.

இதன் முடிவு ஒரு மல்டி-சர்ஃபேஸ் ஏஜென்ட் (multi-surface agent). நான் அதே தர்க்கத்தை (logic) எனது டெர்மினலிலும் (terminal), Telegram-இல் வாய்ஸ் நோட்ஸ் மூலமாகவும் மற்றும் எனது குறியீடு மாற்றங்களைக் கண்காணிக்கும் ஒரு டெக் பில்டரிலும் (deck builder) பயன்படுத்துகிறேன்.

சிறந்த ப்ராம்ப்ட்களை உருவாக்க முயற்சிப்பதை நிறுத்துங்கள். சிறிய ப்ராம்ப்ட்களையும் கூர்மையான திறன்களையும் உருவாக்கத் தொடங்குங்கள்.

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