𝗧𝗵𝗲 𝗥𝘀𝘆𝗻𝗰 𝗗𝗶𝘀𝗮𝘀𝘁𝗲𝗿 𝗮𝗻𝗱 𝗔𝗜 𝗜𝗻𝗳𝗿𝗮𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲 𝗥𝗶𝘀𝗸

rsync ਦੇ ਇੱਕ ਮੇਨਟੇਨਰ ਨੇ ਰੀਲੀਜ਼ ਭੇਜਣ ਵਿੱਚ ਮਦਦ ਲਈ Claude ਦੀ ਵਰਤੋਂ ਕੀਤੀ। ਇਸ ਰੀਲੀਜ਼ ਨੇ absolute path handling ਨੂੰ ਖਰਾਬ ਕਰ ਦਿੱਤਾ।

Rsync ਲੱਖਾਂ ਸਰਵਰਾਂ 'ਤੇ ਚੱਲਦਾ ਹੈ। ਇਹ ਬੈਕਅੱਪ, ਡਿਪਲਾਈਮੈਂਟਸ ਅਤੇ ਮਿਰਰਜ਼ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ। ਜੇਕਰ rsync ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਬੈਕਅੱਪ ਰੁਕ ਜਾਂਦੇ ਹਨ। ਡਾਟਾ ਸਿੰਕ ਨਹੀਂ ਹੁੰਦਾ। ਨੁਕਸਾਨ ਬਹੁਤ ਵੱਡਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਟੂਲ ਹਰ ਜਗ੍ਹਾ ਮੌਜੂਦ ਹੈ।

ਇਹ ਬੱਗ AI ਦੀ ਮਦਦ ਨਾਲ ਕੀਤੇ ਗਏ ਇੱਕ ਸੁਰੱਖਿਆ ਪੈਚ (security patch) ਤੋਂ ਆਇਆ ਸੀ। ਇਹ AI ਕੋਡਿੰਗ ਟੂਲਜ਼ ਨਾਲ ਜੁੜੀ ਇੱਕ ਵੱਡੀ ਸਮੱਸਿਆ ਨੂੰ ਉਜਾਗਰ ਕਰਦਾ ਹੈ।

AI ਸਹਾਇਕ (assistants) ਪੈਟਰਨਾਂ 'ਤੇ ਕੰਮ ਕਰਦੇ ਹਨ। ਉਹ ਨਵਾਂ ਕੋਡ ਜਾਂ boilerplate ਲਿਖਣ ਵਿੱਚ ਮਾਹਰ ਹੁੰਦੇ ਹਨ। ਪਰ ਸਥਿਰ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਕੋਡ ਨੂੰ ਇੱਕੋ ਜਿਹਾ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਸ ਦੇ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਵਿੱਚ ਕੋਈ ਬਦਲਾਅ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ।

Rsync ਦਾ ਕੋਡ ਜਾਣਬੁੱਝ ਕੇ ਅਜੀਬ ਲੱਗਦਾ ਹੈ। ਇਹ ਉਹਨਾਂ edge cases ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ ਜੋ ਸਾਲਾਂ ਪਹਿਲਾਂ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਮਿਲੇ ਸਨ। ਇੱਕ AI ਇਸ ਅਜੀਬ ਕੋਡ ਨੂੰ ਦੇਖਦਾ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਸੁਧਾਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਇਹ ਉਪਭੋਗਤਾਵਾਂ ਨਾਲ ਮੌਜੂਦ ਅਣਲਿਖੇ ਸਮਝੌਤਿਆਂ (implicit contracts) ਨੂੰ ਨਹੀਂ ਸਮਝਦਾ।

AI ਦਾ ਮਕਸਦ ਟੂਲ ਨੂੰ ਖਰਾਬ ਕਰਨਾ ਨਹੀਂ ਸੀ। ਇਸ ਨੂੰ ਸਿਰਫ਼ ਇਹ ਨਹੀਂ ਪਤਾ ਸੀ ਕਿ ਸਭ ਤੋਂ ਵੱਡੀ ਤਰਜੀਹ ਕੁਝ ਵੀ ਨਾ ਬਦਲਣਾ ਸੀ।

ਮੈਂ ਹਰ ਰੋਜ਼ AI ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ। ਇਹ ਮੈਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਲਿਖਣ ਅਤੇ ਪ੍ਰਯੋਗ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਮੈਂ AI ਦੇ ਵਿਰੁੱਧ ਨਹੀਂ ਹਾਂ। ਪਰ ਮੈਂ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਕੋਡ ਵਿੱਚ ਕਦੇ ਵੀ AI ਨੂੰ ਅਹਿਮ ਫੈਸਲੇ ਲੈਣ ਨਹੀਂ ਦਿੰਦਾ। ਮੈਂ AI ਦੇ ਹਰ ਸੁਝਾਅ ਨੂੰ ਇੱਕ ਜੂਨੀਅਰ ਡਿਵੈਲਪਰ ਦੀ ਟਿੱਪਣੀ ਵਾਂਗ ਮੰਨਦਾ ਹਾਂ।

ਖ਼ਤਰਾ 'trust gradient' ਵਿੱਚ ਹੈ। ਜੇਕਰ AI ਤੁਹਾਨੂੰ ਦਸ ਚੰਗੇ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਗਿਆਰਵੇਂ ਜਵਾਬ 'ਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਭਰੋਸਾ ਕਰ ਲੈਂਦੇ ਹੋ। ਤੁਸੀਂ ਇਸਦੀ ਘੱਟ ਜਾਂਚ ਕਰਦੇ ਹੋ। ਤੁਸੀਂ ਇਸਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਮਨਜ਼ੂਰੀ ਦੇ ਦਿੰਦੇ ਹੋ।

ਇਹ 'context collapse' ਦੀ ਸਮੱਸਿਆ ਹੈ। AI ਇੱਕ ਵੀਕੈਂਡ ਪ੍ਰੋਜੈਕਟ ਅਤੇ ਤੀਹ ਸਾਲ ਪੁਰਾਣੇ Unix utility ਨਾਲ ਇੱਕੋ ਜਿਹੇ ਭਰੋਸੇ ਨਾਲ ਪੇਸ਼ ਆਉਂਦਾ ਹੈ। ਇਸਨੂੰ ਉਸ ਕੋਡ ਦੀ ਮਹੱਤਤਾ ਦਾ ਪਤਾ ਨਹੀਂ ਹੁੰਦਾ ਜਿਸ ਨੂੰ ਇਹ ਛੂਹਦਾ ਹੈ।

ਜ਼ਿੰਮੇਵਾਰੀ ਮੇਨਟੇਨਰਾਂ ਦੀ ਹੁੰਦੀ ਹੈ। ਪਰ ਸਾਨੂੰ ਨਵੇਂ guardrails ਦੀ ਲੋੜ ਹੈ।

AI-ਸਹਾਇਤਾ ਪ੍ਰਾਪਤ ਵਿਕਾਸ (AI-assisted development) ਲਈ ਵੱਖ-ਵੱਖ ਜੋਖਮ ਦੇ ਪੱਧਰਾਂ ਲਈ ਵੱਖ-ਵੱਖ ਨਿਯਮਾਂ ਦੀ ਲੋੜ ਹੈ। ਜੇਕਰ ਕੁਝ ਕੋਡ ਖਰਾਬ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਉਸਦੀ ਕੀਮਤ ਬਹੁਤ ਜ਼ਿਆਦਾ ਹੋ ਸਕਦੀ ਹੈ। ਇਸ ਵਿੱਚ rsync, OpenSSL, ਅਤੇ ਡਾਟਾਬੇਸ ਡਰਾਈਵਰ ਸ਼ਾਮਲ ਹਨ।

rsync ਦੀ ਘਟਨਾ ਇੱਕ ਚੇਤਾਵਨੀ ਸੀ। ਕੋਈ ਡਾਟਾ ਨਹੀਂ ਗੁਆਚਿਆ, ਪਰ ਇਹ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਸਾਨੂੰ ਕਿਉਂ ਸਾਵਧਾਨ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ।

AI ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਬੰਦ ਨਾ ਕਰੋ। ਇਸ ਦੀ ਬਜਾਏ, ਬਿਹਤਰ ਅੰਤਰ-ਬੁੱਧੀ (instincts) ਵਿਕਸਿਤ ਕਰੋ। ਜਾਣੋ ਕਿ ਮਸ਼ੀਨ 'ਤੇ ਕਦੋਂ ਅਭਰੋਸਾ ਨਹੀਂ ਕਰਨਾ ਹੈ।

ਤੁਸੀਂ ਕਿਸ ਮੋੜ 'ਤੇ AI ਦੇ ਸੁਝਾਵਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰਨਾ ਬੰਦ ਕਰਦੇ ਹੋ? ਇੱਕ ਕੋਡਬੇਸ ਕਦੋਂ ਇੰਨਾ ਅਹਿਮ ਹੋ ਜਾਂਦਾ ਹੈ ਕਿ ਉਸ ਲਈ ਬਹੁਤ ਹੀ ਸਖ਼ਤ (paranoid) ਸਮੀਖਿਆ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ?

Source: https://dev.to/adioof/the-rsync-disaster-proves-ai-isnt-ready-for-infrastructure-code-4154

Optional learning community: https://t.me/GyaanSetuAi