ਏਜੈਂਟਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਦਾ ਉਭਾਰ: ਪ੍ਰੋਂਪਟ ਡੈਟ (Prompt Debt)
ਸਾਧਾਰਨ ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ ਪ੍ਰੋਂਪਟ ਲਿਖਣਾ ਜਾਦੂ ਵਰਗਾ ਲੱਗਦਾ ਹੈ। ਤੁਸੀਂ ਜੋ ਚਾਹੁੰਦੇ ਹੋ ਉਹ ਟਾਈਪ ਕਰਦੇ ਹੋ, ਅਤੇ ਇੱਕ ਪ੍ਰੋਟੋਟਾਈਪ ਸਾਹਮਣੇ ਆ ਜਾਂਦਾ ਹੈ। ਪਰ ਲੰਬੇ ਸਮੇਂ ਦੇ ਸਿਸਟਮਾਂ ਲਈ, ਇਹ ਜਾਦੂ ਇੱਕ ਜਾਲ ਬਣ ਜਾਂਦਾ ਹੈ।
ਸੰਭਵ ਹੈ ਕਿ ਤੁਸੀਂ ਪ੍ਰੋਂਪਟ ਡੈਟ (prompt debt) ਇਕੱਠਾ ਕਰ ਰਹੇ ਹੋ।
ਪ੍ਰੋਂਪਟ ਡੈਟ ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਸਹੀ ਇੰਜੀਨੀਅਰਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਬਜਾਏ ਇੱਕ ਮਾਡਲ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਕੁਦਰਤੀ ਭਾਸ਼ਾ (natural language) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ। ਇਹ ਤਿੰਨ ਵੱਡੀਆਂ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰਦਾ ਹੈ:
- ਇਟਰੇਸ਼ਨ (Iteration) ਹੌਲੀ ਹੋ ਜਾਂਦੀ ਹੈ। ਤੁਸੀਂ ਇੱਕ ਗਲਤੀ ਨੂੰ ਸੁਧਾਰਨ ਲਈ ਹੋਰ ਟੈਕਸਟ ਜੋੜਦੇ ਹੋ, ਪਰ ਉਹ ਟੈਕਸਟ ਕਿਸੇ ਹੋਰ ਚੀਜ਼ ਨੂੰ ਖਰਾਬ ਕਰ ਦਿੰਦਾ ਹੈ। ਜਲਦੀ ਹੀ, ਤੁਹਾਡਾ ਪ੍ਰੋਂਪਟ ਵਾਰ-ਵਾਰ ਦੁਹਰਾਏ ਗਏ ਨਿਰਦੇਸ਼ਾਂ ਦਾ ਇੱਕ ਗੜਬੜ ਬਣ ਜਾਂਦਾ ਹੈ।
- ਤੁਹਾਡੀ ਟੀਮ ਕੰਟਰੋਲ ਗੁਆ ਲੈਂਦੀ ਹੈ। ਵੱਡੇ ਅੱਖਰਾਂ (all-caps) ਵਾਲੀਆਂ ਚੇਤਾਵਨੀਆਂ ਅਤੇ ਐਜ ਕੇਸਾਂ (edge cases) ਨਾਲ ਭਰਿਆ ਹੋਇਆ ਪ੍ਰੋਂਪਟ ਕਿਸੇ ਸਾਥੀ ਲਈ ਪੜ੍ਹਨਾ ਜਾਂ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਅਸੰਭਵ ਹੁੰਦਾ ਹੈ।
- ਤੁਸੀਂ ਇੱਕ ਹੀ ਮਾਡਲ ਤੱਕ ਸੀਮਤ ਹੋ ਜਾਂਦੇ ਹੋ। ਇੱਕ ਮਾਡਲ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਪ੍ਰੋਂਪਟ ਅਕਸਰ ਨਵੇਂ ਅਤੇ ਬਿਹਤਰ ਵਰਜ਼ਨ 'ਤੇ ਅਸਫਲ ਰਹਿੰਦਾ ਹੈ। ਟੀਮਾਂ ਪੁਰਾਣੇ, ਮਹਿੰਗੇ ਮਾਡਲਾਂ 'ਤੇ ਹੀ ਰੁਕੀਆਂ ਰਹਿੰਦੀਆਂ ਹਨ ਕਿਉਂਕਿ ਉਹਨਾਂ ਨੂੰ ਆਪਣੇ ਸਿਸਟਮ ਦੇ ਖਰਾਬ ਹੋਣ ਦਾ ਡਰ ਹੁੰਦਾ ਹੈ।
ਇਹ ਇਸ ਲਈ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਵੇਟਸ (weights) ਨਾਲ ਲੜ ਰਹੇ ਹੋ। ਜਦੋਂ ਕੋਈ ਮਾਡਲ ਤੁਹਾਡੇ ਨਿਰਦੇਸ਼ ਦਾ ਵਿਰੋਧ ਕਰਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਉਸਨੂੰ ਦੁਹਰਾਉਂਦੇ ਹੋ। ਹਰ ਦੁਹਰਾਇਆ ਜਾਂ ਜ਼ੋਰ ਦਿੱਤਾ ਗਿਆ ਨਿਰਦੇਸ਼ ਇੱਕ ਜ਼ਖ਼ਮ ਦੇ ਨਿਸ਼ਾਨ (scar tissue) ਵਾਂਗ ਹੈ। ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਮਾਡਲ ਦੀ ਟ੍ਰੇਨਿੰਗ ਤੁਹਾਡੇ ਇਰਾਦੇ ਦਾ ਵਿਰੋਧ ਕਿੱਥੇ ਕਰ ਰਹੀ ਹੈ।
ਇੰਜੀਨੀਅਰਿੰਗ ਲਈ ਕੁਦਰਤੀ ਭਾਸ਼ਾ ਬਹੁਤ ਅਸਪਸ਼ਟ ਹੈ। ਸ਼ਬਦਾਂ ਵਿੱਚ ਛੋਟੀਆਂ ਤਬਦੀਲੀਆਂ ਮਾਡਲ ਦੇ ਵਿਵਹਾਰ ਨੂੰ ਬਦਲ ਸਕਦੀਆਂ ਹਨ। ਪ੍ਰੋਂਪਟ ਵਿੱਚ ਮੌਜੂਦ ਗੈਰ-ਸੰਬੰਧਿਤ ਤੱਥ ਵੀ ਮਾਡਲ ਦੇ ਜਵਾਬ ਦੇਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹਨ।
ਤੁਸੀਂ ਇਸ ਨੂੰ ਕਿਵੇਂ ਠੀਕ ਕਰ ਸਕਦੇ ਹੋ?
ਤੁਹਾਨੂੰ ਹੱਥ ਨਾਲ ਪ੍ਰੋਂਪਟ ਲਿਖਣਾ ਬੰਦ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਮਾਪਦੰਡਾਂ (measurements) ਨਾਲ ਵਿਵਹਾਰ ਨੂੰ ਸਪਸ਼ਟ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- ਇੱਕ ਪ੍ਰੋਂਪਟ ਇੱਕ ਪੈਰਾਗ੍ਰਾਫ ਹੈ ਜਿਸਦੀ ਤੁਸੀਂ ਉਮੀਦ ਕਰਦੇ ਹੋ ਕਿ ਮਾਡਲ ਉਸਦੀ ਪਾਲਣਾ ਕਰੇਗਾ।
- ਇੱਕ ਮੈਟ੍ਰਿਕ (metric) ਇੱਕ ਇਕਰਾਰਨਾਮਾ ਹੈ ਜਿਸ ਨੂੰ ਮਾਡਲ ਨੂੰ ਪੂਰਾ ਕਰਨਾ ਹੀ ਪਵੇਗਾ।
ਇੰਜੀਨੀਅਰਿੰਗ ਦਾ ਭਵਿੱਖ "ਪ੍ਰੋਂਪਟਿੰਗ" ਤੋਂ "ਪ੍ਰੋਗਰਾਮਿੰਗ" ਵੱਲ ਵਧ ਰਿਹਾ ਹੈ। DSPy ਅਤੇ GEPA ਵਰਗੇ ਟੂਲ ਤੁਹਾਨੂੰ ਇੱਕ ਟੀਚਾ ਅਤੇ ਇੱਕ ਮੈਟ੍ਰਿਕ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ। ਫਿਰ ਸਿਸਟਮ ਉਸ ਟੀਚੇ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਪ੍ਰੋਂਪਟ ਦੀ ਭਾਲ ਕਰਦਾ ਹੈ।
ਇਹ ਪ੍ਰੋਂਪਟਿੰਗ ਨੂੰ ਇੱਕ ਕੰਪਾਈਲਡ ਆਰਟੀਫੈਕਟ (compiled artifact) ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਨਵਾਂ, ਸਸਤਾ ਮਾਡਲ ਆਉਂਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਘਬਰਾਉਂਦੇ ਨਹੀਂ ਹੋ। ਤੁਸੀਂ ਬਸ ਨਵੇਂ ਮਾਡਲ ਦੇ ਵਿਰੁੱਧ ਆਪਣੇ ਮੈਟ੍ਰਿਕਸ ਚਲਾਉਂਦੇ ਹੋ ਅਤੇ ਪ੍ਰੋਂਪਟ ਨੂੰ ਦੁਬਾਰਾ ਤਿਆਰ ਕਰਦੇ ਹੋ।
ਜਿਵੇਂ ਇੰਜੀਨੀਅਰਾਂ ਨੇ ਅਸੈਂਬਲੀ ਭਾਸ਼ਾ ਤੋਂ ਕੰਪਾਈਲਰਾਂ ਵੱਲ ਤਬਦੀਲੀ ਕੀਤੀ, ਉਵੇਂ ਹੀ AI ਇੰਜੀਨੀਅਰਾਂ ਨੂੰ ਸਟ੍ਰਿੰਗਾਂ ਦੀ ਮੈਨੂਅਲ ਟਿਊਨਿੰਗ ਤੋਂ ਮੈਟ੍ਰਿਕਸ ਨੂੰ ਆਪਟੀਮਾਈਜ਼ ਕਰਨ ਵੱਲ ਵਧਣਾ ਚਾਹੀਦਾ ਹੈ।
ਜਾਦੂਈ ਸ਼ਬਦਾਂ ਨਾਲ ਮਾਡਲ ਨੂੰ ਮਨਾਉਣਾ ਬੰਦ ਕਰੋ। ਮਾਪਣਯੋਗ ਸਪੈਸੀਫਿਕੇਸ਼ਨਾਂ (measurable specifications) ਨਾਲ ਬਣਾਉਣਾ ਸ਼ੁਰੂ ਕਰੋ।
Optional learning community: https://t.me/GyaanSetuAi
