ਸਿਸਟਮ ਪ੍ਰੋਂਪਟਸ ਨਾਲੋਂ ਸਕਿੱਲਜ਼ ਬਿਹਤਰ ਹਨ: ਇੱਕ Anki ਟਿਊਟਰ ਬਣਾਉਣਾ

AI ਮੈਨੂੰ ਆਲਸੀ ਬਣਾ ਰਿਹਾ ਹੈ।

ਮੇਰਾ ਮਤਲਬ ਇਹ ਨਹੀਂ ਹੈ ਕਿ ਮੈਂ ਚਾਹੁੰਦਾ ਹਾਂ ਕਿ ਰੋਬੋਟ ਸਭ ਕੁਝ ਕਰਨ। ਮੇਰਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਬੋਰਿੰਗ ਕੰਮਾਂ ਲਈ ਕਿਸੇ ਏਜੰਟ ਦੀ ਵਰਤੋਂ ਕਰ ਲੈਂਦੇ ਹੋ, ਤਾਂ ਮੈਨੂਅਲ ਵਰਕਫਲੋ (manual workflows) ਗਲਤ ਲੱਗਣ ਲੱਗ ਜਾਂਦੇ ਹਨ।

Anki ਸਪੇਸਡ ਰੀਪੀਟੀਸ਼ਨ (spaced repetition) ਲਈ ਮੇਰਾ ਟੂਲ ਹੈ। ਇਹ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ। ਪਰ ਮੈਨੂੰ ਇੱਕ ਸਮੱਸਿਆ ਹੈ। ਮੈਂ ਆਪਣੇ ਆਪ ਨਾਲ ਧੋਖਾ ਕਰਦਾ ਮਿਲਦਾ ਹਾਂ। ਮੈਂ ਇੱਕ ਔਖਾ ਕਾਰਡ ਦੇਖਦਾ ਹਾਂ ਅਤੇ ਅੱਗੇ ਵਧਣ ਲਈ ਆਪਣੇ ਆਪ ਨੂੰ ਕਹਿੰਦਾ ਹਾਂ "ਮੈਨੂੰ ਇਹ ਪਤਾ ਸੀ"। ਇਹ ਪੜ੍ਹਾਈ ਨਹੀਂ ਹੈ। ਇਹ ਸਿਰਫ਼ ਅੰਦਾਜ਼ਾ ਲਗਾਉਣਾ ਹੈ।

ਮੈਨੂੰ ਇੱਕ ਸਟੱਡੀ ਬੱਡੀ (study buddy) ਚਾਹੀਦੀ ਸੀ। ਮੈਂ ਚਾਹੁੰਦਾ ਸੀ ਕਿ ਕੋਈ ਮੇਰੀ ਪ੍ਰੀਖਿਆ ਲਵੇ, ਮੇਰੇ ਉੱਤਰ ਦੀ ਤੁਲਨਾ ਅਸਲੀ ਉੱਤਰ ਨਾਲ ਕਰੇ, ਅਤੇ ਸਹੀ ਰੇਟਿੰਗ ਫੈਸਲਾ ਕਰਨ ਵਿੱਚ ਮੇਰੀ ਮਦਦ ਕਰੇ।

ਮੈਂ ਇੱਕ ਵਿਸ਼ਾਲ ਸਿਸਟਮ ਪ੍ਰੋਂਪਟ (system prompt) ਨਾਲ ਇਸਨੂੰ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਮੈਂ ਏਜੰਟ ਨੂੰ ਦੱਸਿਆ ਕਿ ਟਿਊਟਰ ਕਿਵੇਂ ਕਰਨਾ ਹੈ, ਕਾਰਡ ਕਿਵੇਂ ਲਿਖਣੇ ਹਨ, ਅਤੇ Telegram 'ਤੇ ਕਿਵੇਂ ਕੰਮ ਕਰਨਾ ਹੈ।

ਇਹ ਫੇਲ੍ਹ ਹੋ ਗਿਆ। ਵੱਡੇ ਪ੍ਰੋਂਪਟ ਕੂੜੇ ਦੇ ਡੱਬੇ ਬਣ ਜਾਂਦੇ ਹਨ। ਉਹ ਖਰਾਬ ਹੋ ਜਾਂਦੇ ਹਨ। ਉਹ ਬੇਤਰਤੀਬੇ ਹੋ ਜਾਂਦੇ ਹਨ।

ਮੈਂ ਆਪਣਾ ਤਰੀਕਾ ਬਦਲ ਲਿਆ। ਮੈਂ Google Antigravity SDK ਦੀ ਵਰਤੋਂ ਕੀਤੀ।

ਇੱਕ ਵੱਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਬਜਾਏ, ਮੈਂ ਲੇਅਰਾਂ (layers) ਵਾਲਾ ਇੱਕ ਏਜੰਟ ਸਿਸਟਮ ਬਣਾਇਆ।

  • ਟੂਲਜ਼ (Tools) ਏਜੰਟ ਨੂੰ ਹੱਥ ਦਿੰਦੇ ਹਨ।
  • ਸਕਿੱਲਜ਼ (Skills) ਏਜੰਟ ਨੂੰ ਆਦਤਾਂ ਦਿੰਦੀਆਂ ਹਨ।
  • ਪਾਲਿਸੀਆਂ (Policies) ਸੀਮਾਵਾਂ ਨਿਰਧਾਰਤ ਕਰਦੀਆਂ ਹਨ।
  • ਹੁੱਕਸ (Hooks) ਭਰੋਸਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
  • ਟ੍ਰਿਗਰਜ਼ (Triggers) ਘਟਨਾਵਾਂ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਦੇ ਹਨ।

ਮੈਂ Anki ਨਾਲ ਜੁੜਨ ਲਈ Python ਟੂਲਜ਼ ਦੀ ਵਰਤੋਂ ਕੀਤੀ। ਏਜੰਟ ਹੁਣ ਡੈਕਸ (decks) ਦੀ ਸੂਚੀ ਬਣਾ ਸਕਦਾ ਹੈ, ਬਾਕੀ ਰਹੇ ਕਾਰਡ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਰੇਟ ਕਰ ਸਕਦਾ ਹੈ।

ਪਰ ਟੂਲਜ਼ ਵਿਵਹਾਰ ਨਹੀਂ ਹਨ। ਵਿਵਹਾਰ ਲਈ, ਮੈਂ ਸਕਿੱਲਜ਼ ਦੀ ਵਰਤੋਂ ਕੀਤੀ।

ਇੱਕ ਸਕਿੱਲ (skill) ਇੱਕ ਛੋਟੀ ਫਾਈਲ ਹੁੰਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਨਿਰਦੇਸ਼ ਹੁੰਦੇ ਹਨ। ਮੈਂ ਤਿੰਨ ਬਣਾਈਆਂ:

  • review-buddy: ਸਟੱਡੀ ਸੈਸ਼ਨ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈ।
  • plain-cards: ਉੱਚ-ਗੁਣਵੱਤਾ ਵਾਲੇ ਫਲੈਸ਼ਕਾਰਡ ਕਿਵੇਂ ਲਿਖਣੇ ਹਨ।
  • codebase-cards: ਕੋਡ ਨੂੰ ਸਟੱਡੀ ਮਟੀਰੀਅਲ ਵਿੱਚ ਕਿਵੇਂ ਬਦਲਣਾ ਹੈ।

ਇਹ ਮੁੱਖ ਸਿਸਟਮ ਪ੍ਰੋਂਪਟ ਨੂੰ ਛੋਟਾ ਰੱਖਦਾ ਹੈ। ਪਛਾਣ ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ। ਕੰਮ ਦੇ ਵੇਰਵੇ ਸਕਿੱਲਜ਼ ਵਿੱਚ ਹੁੰਦੇ ਹਨ।

ਮੈਂ ਸੁਰੱਖਿਆ ਵੀ ਜੋੜੀ। ਇੱਕ ਪ੍ਰੋਂਪਟ ਫੇਲ੍ਹ ਹੋ ਸਕਦਾ ਹੈ। ਇੱਕ ਪਾਲਿਸੀ ਨਹੀਂ। ਮੈਂ ਪ੍ਰੈਕਟਿਸ ਮੋਡ ਦੌਰਾਨ ਕੁਝ ਖਾਸ ਕਾਰਵਾਈਆਂ ਨੂੰ ਰੋਕਣ ਲਈ ਇੱਕ ਪਾਲਿਸੀ ਦੀ ਵਰਤੋਂ ਕੀਤੀ। ਜੇਕਰ ਏਜੰਟ ਕਰੈਮ ਸੈਸ਼ਨ (cram session) ਦੌਰਾਨ ਮੇਰਾ ਸ਼ਡਿਊਲ ਬਦਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਤਾਂ SDK ਇਸਨੂੰ ਰਨਟਾਈਮ ਲੈਵਲ (runtime level) 'ਤੇ ਰੋਕ ਦਿੰਦਾ ਹੈ।

ਨਤੀਜਾ ਇੱਕ ਮਲਟੀ-ਸਰਫੇਸ ਏਜੰਟ (multi-surface agent) ਹੈ। ਮੈਂ ਆਪਣੇ ਟਰਮੀਨਲ (terminal) ਵਿੱਚ, Telegram 'ਤੇ ਵੌਇਸ ਨੋਟਸ ਰਾਹੀਂ, ਅਤੇ ਇੱਕ ਡੈਕ ਬਿਲਡਰ ਵਿੱਚ ਇੱਕੋ ਤਰ੍ਹਾਂ ਦਾ ਲੌਜਿਕ ਵਰਤਦਾ ਹਾਂ ਜੋ ਮੇਰੇ ਕੋਡ ਦੇ ਬਦਲਾਅ 'ਤੇ ਨਜ਼ਰ ਰੱਖਦਾ ਹੈ।

ਬਿਹਤਰ ਪ੍ਰੋਂਪਟ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨਾ ਬੰਦ ਕਰੋ। ਛੋਟੇ ਪ੍ਰੋਂਪਟ ਅਤੇ ਤਿੱਖੀਆਂ ਸਕਿੱਲਜ਼ ਬਣਾਉਣਾ ਸ਼ੁਰੂ ਕਰੋ।

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