ਮੇਰੇ ਦੋ AI ਟਾਸਕ ਇੱਕੋ ਮਾਊਸ ਲਈ ਲੜਦੇ ਰਹੇ

ਪੈਰਲਲ ਏਜੰਟ ਡੈਮੋ ਉਦੋਂ ਤੱਕ ਵਧੀਆ ਲੱਗਦੇ ਹਨ ਜਦੋਂ ਤੱਕ ਦੋ ਟਾਸਕ ਇੱਕੋ ਮਾਊਸ ਲਈ ਲੜਦੇ ਨਹੀਂ ਹਨ।

ਇੱਕ ਟਾਸਕ ਕਿਸੇ ਵੈੱਬਸਾਈਟ ਵਿੱਚ ਲੌਗਇਨ ਕਰਦਾ ਹੈ। ਦੂਜਾ ਟਾਸਕ ਬ੍ਰਾਊਜ਼ਰ ਖੋਲ੍ਹਦਾ ਹੈ। ਤੀਜਾ ਟਾਸਕ ਇੱਕ ਸਧਾਰਨ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦੇਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਅਚਾਨਕ, ਸਿਸਟਮ ਗਲਤ ਜਗ੍ਹਾ ਕਲਿੱਕ ਕਰ ਦਿੰਦਾ ਹੈ ਜਾਂ ਗਲਤ ਰਨ (run) ਨੂੰ ਰੱਦ ਕਰ ਦਿੰਦਾ ਹੈ। ਇਹ ਪ੍ਰੋਂਪਟ (prompt) ਦੀ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ। ਇਹ ਰਿਸੋਰਸ (resource) ਦੀ ਸਮੱਸਿਆ ਹੈ।

ਮੈਂ ਇਹ CliGate ਬਣਾਉਂਦੇ ਸਮੇਂ ਸਿੱਖਿਆ। ਮੈਨੂੰ ਅਹਿਸਾਸ ਹੋਇਆ ਕਿ ਜਦੋਂ ਕਿ ਕੋਡ ਟਾਸਕ ਪੈਰਲਲ ਚੱਲ ਸਕਦੇ ਹਨ, ਪਰ ਡੈਸਕਟੌਪ ਵੱਖਰਾ ਹੁੰਦਾ ਹੈ। ਤੁਹਾਡੇ ਕੋਲ ਸਿਰਫ਼ ਇੱਕ ਕੀਬੋਰਡ, ਇੱਕ ਮਾਊਸ ਅਤੇ ਇੱਕ ਸਕ੍ਰੀਨ ਹੁੰਦੀ ਹੈ। ਜੇਕਰ ਦੋ ਏਜੰਟ ਉਸ ਸਤ੍ਹਾ 'ਤੇ ਕਬਜ਼ਾ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਨ, ਤਾਂ ਉਹ ਇੱਕ ਦੂਜੇ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚਾਉਂਦੇ ਹਨ।

ਮੇਰਾ ਪਹਿਲਾ ਵਿਚਾਰ ਇਹ ਸੀ ਕਿ ਜਦੋਂ ਕੋਈ ਨਵਾਂ ਟਾਸਕ ਆਵੇ ਤਾਂ ਪੁਰਾਣੇ ਟਾਸਕ ਨੂੰ ਰੱਦ ਕਰ ਦਿੱਤਾ ਜਾਵੇ। ਇਹ ਇੱਕ ਗਲਤੀ ਸੀ। ਸਟੇਟਸ ਅਪਡੇਟ (status update) ਮੰਗਣ ਵਾਲੇ ਯੂਜ਼ਰ ਨੂੰ ਲੌਗਇਨ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਖਤਮ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ।

ਮੈਨੂੰ ਨਿਯਮ ਬਦਲਣੇ ਪਏ।

ਏਜੰਟ ਦੀ ਭਰੋਸੇਯੋਗਤਾ ਲਈ ਨਵੇਂ ਨਿਯਮ:

  • ਸੁਤੰਤਰ ਟਾਸਕ ਪੈਰਲਲ ਚੱਲਦੇ ਹਨ।
  • ਜਿਨ੍ਹਾਂ ਟਾਸਕਾਂ ਨੂੰ ਡੈਸਕਟੌਪ ਦੀ ਲੋੜ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਕਤਾਰ (queue) ਵਿੱਚ ਲੱਗਣਾ ਚਾਹੀਦਾ ਹੈ।
  • ਰੱਦ ਕਰਨਾ (Cancellation) ਉਦੋਂ ਹੀ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਯੂਜ਼ਰ ਕਹੇ।

CliGate ਵਿੱਚ, ਡੈਸਕਟੌਪ ਇਨਪੁਟ ਇੱਕ ਲੀਜ਼ (lease) ਵਾਂਗ ਕੰਮ ਕਰਦਾ ਹੈ। ਇੱਕ ਟਾਸਕ ਡੈਸਕਟੌਪ ਨੂੰ ਫੜ ਕੇ ਰੱਖਦਾ ਹੈ। ਦੂਜੇ ਟਾਸਕ ਆਪਣੀ ਵਾਰੀ ਦੀ ਉਡੀਕ ਕਰਦੇ ਹਨ।

ਨਵਾਂ ਲੌਜਿਕ ਇਸ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ:

  • ਇੱਕ ਨਵਾਂ ਟਾਸਕ ਆਉਂਦਾ ਹੈ।
  • ਕੀ ਇਸਨੂੰ ਡੈਸਕਟੌਪ ਦੀ ਲੋੜ ਹੈ?
  • ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਇਸਨੂੰ ਪੈਰਲਲ ਚਲਾਓ।
  • ਜੇਕਰ ਹਾਂ ਅਤੇ ਡੈਸਕਟੌਪ ਖਾਲੀ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਲੈ ਲਓ।
  • ਜੇਕਰ ਹਾਂ ਅਤੇ ਡੈਸਕਟੌਪ ਵਿਅਸਤ ਹੈ, ਤਾਂ ਕਤਾਰ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋ ਜਾਓ।
  • ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਰੁਕੋ ਜੇਕਰ ਯੂਜ਼ਰ ਰੁਕਣ ਲਈ ਕਹੇ।

ਰੀਟ੍ਰਾਈਜ਼ (Retries) ਚੀਜ਼ਾਂ ਨੂੰ ਹੋਰ ਵਿਗਾੜ ਸਕਦੇ ਹਨ। ਜੇਕਰ ਇੱਕ ਟਾਸਕ ਮਾਊਸ ਫੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਰਹਿੰਦਾ ਹੈ ਜਦੋਂ ਕਿ ਦੂਜਾ ਟਾਸਕ ਟਾਈਪ ਕਰ ਰਿਹਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਹ ਦਖਲਅੰਦਾਜ਼ੀ (interference) ਪੈਦਾ ਕਰਦਾ ਹੈ। ਇਸਦਾ ਹੱਲ ਹੋਰ ਜ਼ੋਰ ਲਗਾ ਕੇ ਰੀਟ੍ਰਾਈ ਕਰਨਾ ਨਹੀਂ ਹੈ। ਇਸਦਾ ਹੱਲ ਇਮਾਨਦਾਰ ਹੋਣਾ ਹੈ। ਸਹਾਇਕ (assistant) ਨੂੰ ਕਹਿਣਾ ਚਾਹੀਦਾ ਹੈ: "ਡੈਸਕਟੌਪ ਵਿਅਸਤ ਹੈ। ਮੈਂ ਕਤਾਰ ਵਿੱਚ ਹਾਂ। ਜਦੋਂ ਇਹ ਖਾਲੀ ਹੋਵੇਗਾ, ਮੈਂ ਸ਼ੁਰੂ ਕਰਾਂਗਾ।"

ਇਹ ਇੱਕ ਅਸਫਲਤਾ ਨੂੰ ਅਨੁਮਾਨਿਤ ਵਿਵਹਾਰ (predictable behavior) ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ।

ਮੈਂ ਇੱਕ ਸਖ਼ਤ ਨਿਯਮ ਵੀ ਜੋੜਿਆ: ਇੱਕ ਏਜੰਟ ਆਪਣੇ ਆਪ ਨੂੰ ਰੱਦ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਇਹ ਏਜੰਟ ਨੂੰ ਘਬਰਾਹਟ ਵਿੱਚ ਆਪਣੇ ਆਪ ਨੂੰ ਬੰਦ ਕਰਨ ਵਾਲੇ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ।

AI ਟੂਲ ਬਣਾਉਣਾ ਅਕਸਰ ਚਲਾਕ ਹੋਣ ਦੀ ਬਜਾਏ ਸਾਧਾਰਨ ਹੋਣ ਬਾਰੇ ਹੁੰਦਾ ਹੈ।

  • ਜੇਕਰ ਟਾਸਕਾਂ ਵਿੱਚ ਕੋਈ ਟਕਰਾਅ ਨਹੀਂ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਚੱਲਣ ਦਿਓ।
  • ਜੇਕਰ ਉਹ ਕਿਸੇ ਭੌਤਿਕ ਸਰੋਤ (physical resource) ਲਈ ਟਕਰਾਉਂਦੇ ਹਨ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਕਤਾਰ ਵਿੱਚ ਲਗਾਓ।
  • ਜੇਕਰ ਯੂਜ਼ਰ ਸਟੇਟਸ ਪੁੱਛਦਾ ਹੈ, ਤਾਂ ਸਟੇਟਸ ਦਿਓ।
  • ਜੇਕਰ ਯੂਜ਼ਰ ਰੁਕਣ ਲਈ ਕਹੇ, ਤਾਂ ਰੁਕ ਜਾਓ।

ਇਹ ਸਹਾਇਕ ਨੂੰ ਵਧੇਰੇ ਮਨੁੱਖੀ ਮਹਿਸੂਸ ਕਰਵਾਉਂਦਾ ਹੈ। ਇਹ ਕੰਟਰੋਲ ਲਈ ਲੜਨਾ ਬੰਦ ਕਰ ਦਿੰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਅਜਿਹੇ ਆਪਰੇਟਰ ਵਾਂਗ ਕੰਮ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦਿੰਦਾ ਹੈ ਜੋ ਇੱਕ ਸਵਾਲ ਅਤੇ ਇੱਕ ਹੁਕਮ ਵਿਚਕਾਰ ਅੰਤਰ ਨੂੰ ਸਮਝਦਾ ਹੈ।

ਜੇਕਰ ਤੁਹਾਡਾ AI ਡੈਸਕਟੌਪ ਨੂੰ ਛੂਹਦਾ ਹੈ, ਤਾਂ ਇਹ ਯਾਦ ਰੱਖੋ: ਪੈਰਲਲ ਟਾਸਕ ਠੀਕ ਹਨ, ਪਰ ਭੌਤਿਕ ਸਰੋਤਾਂ ਨੂੰ ਮਾਲਕੀ (ownership) ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਸਰੋਤ: https://dev.to/codekingai/my-two-ai-tasks-kept-fighting-for-the-same-mouse-1hij

ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi