OpenAI Codex ਨੇ ਇੱਕ ਪੂਰਾ 16-bit x86 Assembly Asteroids-style DOS ਗੇਮ ਲਿਖਿਆ ਹੈ, ਜਿਸ ਵਿੱਚ 18 ਸੋਰਸ ਫਾਈਲਾਂ ਅਤੇ ਲਗਭਗ 2,500 ਲਾਈਨਾਂ ਦਾ ਕੋਡ ਸ਼ਾਮਲ ਹੈ, ਉਹ ਵੀ ਮਨੁੱਖ ਦੁਆਰਾ ਲਿਖੀ ਇੱਕ ਵੀ Assembly ਲਾਈਨ ਤੋਂ ਬਿਨਾਂ। ਇਹ ਪ੍ਰਯੋਗ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਇੱਕ AI ਯੋਜਨਾਬੰਦੀ ਤੋਂ ਲੈ ਕੇ ਡੀਬੱਗਿੰਗ ਤੱਕ, ਪੂਰੇ ਸਾਫਟਵੇਅਰ ਲਾਈਫਸਾਈਕਲ ਨੂੰ ਸਿੱਧੇ ਪ੍ਰੋਗਰਾਮਰ ਦੇ ਦਖਲ ਤੋਂ ਬਿਨਾਂ ਚਲਾ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ ਆਮ “code-completion” ਡੈਮੋ ਤੋਂ ਇੱਕ ਕਦਮ ਅੱਗੇ ਹੈ।

ਇਹ ਟੈਸਟ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਸੀ

ਜ਼ਿਆਦਾਤਰ ਜਨਤਕ AI-coding ਪ੍ਰਦਰਸ਼ਨ ਛੋਟੇ ਟੁਕੜਿਆਂ ਜਾਂ ਸਧਾਰਨ ਯੂਟੀਲਿਟੀਜ਼ ਤੱਕ ਹੀ ਸੀਮਤ ਹੁੰਦੇ ਹਨ। ਇਸ ਦੀਆਂ ਸੀਮਾਵਾਂ ਨੂੰ ਪਰਖਣ ਲਈ, ਪ੍ਰਯੋਗ ਨੇ Codex ਨੂੰ ਸਭ ਤੋਂ ਸੀਮਤ ਮਾਹੌਲ ਵਿੱਚ ਪਾ ਦਿੱਤਾ: DOS 'ਤੇ 16-bit x86 Assembly, ਜਿਸ ਵਿੱਚ ਕੋਈ ਗੇਮ ਇੰਜਣ, ਗ੍ਰਾਫਿਕਸ ਲਾਇਬ੍ਰੇਰੀਆਂ, ਜਾਂ ਹਾਈ-ਲੈਵਲ ਭਾਸ਼ਾ ਦੀ ਸਹੂਲਤ ਨਹੀਂ ਸੀ। ਮਕਸਦ ਇਹ ਦੇਖਣਾ ਸੀ ਕਿ ਕੀ ਇੱਕ AI ਨਾ ਸਿਰਫ਼ ਕੋਡ ਤਿਆਰ ਕਰ ਸਕਦਾ ਹੈ, ਸਗੋਂ ਆਲੇ-ਦੁਆਲੇ ਦੇ ਇੰਜੀਨੀਅਰਿੰਗ ਕੰਮਾਂ ਨੂੰ ਵੀ ਸੰਭਾਲ ਸਕਦਾ ਹੈ।

ਭੂਮਿਕਾਵਾਂ ਨੂੰ ਕਿਵੇਂ ਵੰਡਿਆ ਗਿਆ ਸੀ

ਮਨੁੱਖੀ ਜ਼ਿੰਮੇਵਾਰੀਆਂ ਤਿੰਨ ਕਾਰਵਾਈਆਂ ਤੱਕ ਸੀਮਤ ਸਨ:

  • ਪੂਰੇ ਪ੍ਰੋਜੈਕਟ ਦਾ ਟੀਚਾ ਨਿਰਧਾਰਤ ਕਰਨਾ (ਇੱਕ Asteroids-style ਸ਼ੂਟਰ)।
  • ਗੇਮਪਲੇ ਨਾਲ ਸਬੰਧਤ ਕਿਸੇ ਵੀ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦੇਣਾ।
  • ਹਰੇਕ ਬਿਲਡ ਦਾ ਟੈਸਟ ਕਰਨਾ ਅਤੇ ਦੇਖੇ ਗਏ ਬੱਗਸ (bugs) ਦੀ ਰਿਪੋਰਟ ਕਰਨਾ।

Codex ਦੀਆਂ ਜ਼ਿੰਮੇਵਾਰੀਆਂ ਵਿੱਚ ਬਾਕੀ ਸਭ ਕੁਝ ਸ਼ਾਮਲ ਸੀ:

  • ਪ੍ਰੋਜੈਕਟ ਯੋਜਨਾ ਅਤੇ ਆਰਕੀਟੈਕਚਰ ਦਾ ਖਰੜਾ ਤਿਆਰ ਕਰਨਾ।
  • Assembly ਸੋਰਸ ਫਾਈਲਾਂ ਲਿਖਣਾ।
  • ਕੋਡ ਨੂੰ ਡੀਬੱਗ (debug), ਰੀਫੈਕਟਰ (refactor), ਅਤੇ ਰੀਸਟਰਕਚਰ ਕਰਨਾ।
  • Git ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਬਣਾਈ ਰੱਖਣਾ, ਜਿਸ ਵਿੱਚ ਕਮਿਟਸ (commits) ਅਤੇ ਬ੍ਰਾਂਚ ਮੈਨੇਜਮੈਂਟ ਸ਼ਾਮਲ ਹੈ।
  • ਬਾਈਨਰੀ ਬਣਾਉਣਾ ਅਤੇ ਇਸਨੂੰ DOS ਇਮੂਲੇਟਰ ਵਿੱਚ ਚਲਾਉਣਾ।

ਮਨੁੱਖ ਨੇ ਕਦੇ ਵੀ ਇੱਕ ਵੀ Assembly ਇੰਸਟ੍ਰਕਸ਼ਨ ਨਹੀਂ ਲਿਖੀ, ਕਦੇ ਕੰਪਾਈਲਰ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ, ਅਤੇ ਵਿਕਾਸ ਦੌਰਾਨ ਕਦੇ ਗੇਮ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤੀ। ਗੱਲਬਾਤ ਸਿਰਫ਼ ਬੱਗ ਦੇ ਲੱਛਣਾਂ ਨੂੰ ਦੱਸਣ ਤੱਕ ਸੀ; AI ਨੇ ਆਪਣੇ ਆਪ ਮੂਲ ਕਾਰਨ ਦਾ ਪਤਾ ਲਗਾਇਆ ਅਤੇ ਉਸਨੂੰ ਠੀਕ ਕੀਤਾ।

ਇਟਰੇਟਿਵ ਵਰਕਫਲੋ (Iterative workflow)

ਹਰ ਚੱਕਰ Codex ਦੁਆਰਾ ਇੱਕ ਮਾਈਲਸਟੋਨ (ਜਿਵੇਂ ਕਿ “ਪਲੇਅਰ ਸ਼ਿਪ ਦੀ ਮੂਵਮੈਂਟ ਲਾਗੂ ਕਰਨਾ”) ਪ੍ਰਸਤਾਵਿਤ ਕਰਨ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਸੀ। ਫਿਰ ਇਸਨੇ ਸਬੰਧਤ ਸੋਰਸ ਫਾਈਲਾਂ ਤਿਆਰ ਕੀਤੀਆਂ, ਉਹਨਾਂ ਨੂੰ ਕਮਿਟ ਕੀਤਾ, ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਬਣਾਇਆ, ਅਤੇ ਟੈਸਟਰ ਨੂੰ ਚੱਲਣਯੋਗ ਬਿਲਡ ਸੌਂਪ ਦਿੱਤਾ। Codex ਨੇ ਲੱਛਣਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕੀਤਾ, ਕੋਡ ਬੇਸ ਵਿੱਚ ਇਸਦਾ ਪਤਾ ਲਗਾਇਆ, ਅਤੇ ਬਿਨਾਂ ਕਿਸੇ ਹੋਰ ਮਨੁੱਖੀ ਮਾਰਗਦਰਸ਼ਨ ਦੇ ਪੈਚ (patch) ਜਾਰੀ ਕੀਤਾ।

ਅੰਤਿਮ ਉਤਪਾਦ ਵਿੱਚ ਕੀ ਸ਼ਾਮਲ ਹੈ

  • 18 Assembly ਸੋਰਸ ਫਾਈਲਾਂ, ਜੋ ਇੱਕ ਰਵਾਇਤੀ ਰਿਪੋਜ਼ਟਰੀ ਸਟ੍ਰਕਚਰ ਵਿੱਚ ਸੰਗਠਿਤ ਹਨ।
  • ≈2,500 Assembly ਲਾਈਨਾਂ, ਜਿਸ ਵਿੱਚ ਇਨਪੁਟ ਹੈਂਡਲਿੰਗ, ਸਪ੍ਰਾਈਟ ਡਰਾਇੰਗ, ਕੋਲੀਜ਼ਨ ਡਿਟੈਕਸ਼ਨ, ਅਤੇ ਹਾਈ-ਸਕੋਰ ਸਿਸਟਮ ਸ਼ਾਮਲ ਹੈ।
  • ਇੱਕ ਚੱਲਣਯੋਗ DOS ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਜੋ ਇੱਕ ਸਟੈਂਡਰਡ DOS ਮਾਹੌਲ ਵਿੱਚ ਚੱਲਦਾ ਹੈ ਅਤੇ ਕਲਾਸਿਕ Asteroids ਗੇਮਪਲੇ ਦੀ ਨਕਲ ਕਰਦਾ ਹੈ।
  • ਜ਼ੀਰੋ ਮਨੁੱਖ ਦੁਆਰਾ ਲਿਖੀ Assembly, ਜੋ ਇਸ ਗੱਲ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੀ ਹੈ ਕਿ AI ਨੇ ਸਾਰੇ ਲੋ-ਲੈਵਲ ਪ੍ਰੋਗਰਾਮਿੰਗ ਕੰਮ ਸੰਭਾਲ ਲਏ ਹਨ।

ਜੋਖਮ ਅਤੇ ਪ੍ਰਭਾਵ

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

ਇਹ ਪ੍ਰਯੋਗ ਸੀਮਾਵਾਂ ਨੂੰ ਵੀ ਉਜਾਗਰ ਕਰਦਾ ਹੈ। ਟੈਸਟ ਮਾਹੌਲ ਜਾਣਬੁੱਝ ਕੇ ਸੀਮਤ ਰੱਖਿਆ ਗਿਆ ਸੀ: ਇੱਕ ਸਿੰਗਲ-ਪਲੇਅਰ DOS ਗੇਮ ਜਿਸਦੇ ਮਕੈਨਿਕਸ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸਮਝੇ ਗਏ ਸਨ। ਬਾਹਰੀ ਨਿਰਭਰਤਾਵਾਂ, ਸੁਰੱਖਿਆ ਦੀਆਂ ਸੀਮਾਵਾਂ, ਜਾਂ ਪ੍ਰਦਰਸ਼ਨ-ਅਹਿਮ ਕੋਡ ਪਾਥਾਂ ਵਾਲੇ ਵੱਡੇ, ਮਲਟੀ-ਮੋਡੀਊਲ ਸਿਸਟਮਾਂ ਤੱਕ ਇਸ ਪਹੁੰਚ ਨੂੰ ਵਧਾਉਣਾ ਅਜੇ ਵੀ ਅਣਪ੍ਰਮਾਣ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮਨੁੱਖੀ ਟੈਸਟਰ ਅਜੇ ਵੀ ਅੰਤਿਮ ਕੁਆਲਿਟੀ ਗੇਟ ਵਜੋਂ ਕੰਮ ਕਰ ਰਿਹਾ ਸੀ; ਉਸ ਦੀ ਨਿਗਰਾਨੀ ਤੋਂ ਬਿਨਾਂ ਇੱਕ ਅਣਡਿੱਠੀ ਲੌਜਿਕ ਗਲਤੀ ਨਿਕਲ ਸਕਦੀ ਸੀ।

ਵਿਰੋਧੀ ਦਲੀਲਾਂ ਅਤੇ ਖੁੱਲ੍ਹੇ ਸਵਾਲ

  • ਭਰੋਸੇਯੋਗਤਾ (Reliability): Assembly ਪ੍ਰੋਗਰਾਮਿੰਗ ਬਹੁਤ ਸਖ਼ਤ ਹੁੰਦੀ ਹੈ; ਇੱਕ ਸਿੰਗਲ off-by-one ਗਲਤੀ ਪੂਰੇ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਕਰੈਸ਼ ਕਰ ਸਕਦੀ ਹੈ। Codex ਨੇ ਉਹ ਬੱਗਸ ਠੀਕ ਕੀਤੇ ਜੋ ਉਸਨੇ ਦੇਖੇ, ਪਰ ਇਹ ਉਹ ਸੂਖਮ ਟਾਈਮਿੰਗ ਸਮੱਸਿਆਵਾਂ ਮਿਸ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਸਿਰਫ਼ ਸਟ੍ਰੈੱਸ ਟੈਸਟਿੰਗ ਦੇ ਦੌਰਾਨ ਹੀ ਦਿਖਾਈ ਦਿੰਦੀਆਂ ਹਨ।
  • ਰੱਖਣਯੋਗਤਾ (Maintainability): ਮਨੁੱਖੀ ਸਟਾਈਲ ਗਾਈਡਲਾਈਨਜ਼ ਤੋਂ ਬਿਨਾਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਕੋਡ ਭਵਿੱਖ ਦੇ ਡਿਵੈਲਪਰਾਂ ਲਈ ਪੜ੍ਹਨਾ ਜਾਂ ਵਧਾਉਣਾ ਮੁਸ਼ਕਲ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜੇਕਰ AI ਦੇ ਨਾਮਕਰਨ ਦੇ ਤਰੀਕੇ ਟੀਮ ਦੇ ਮਿਆਰਾਂ ਤੋਂ ਵੱਖਰੇ ਹਨ।
  • ਬੌਧਿਕ ਸੰਪੱਤੀ (Intellectual property): ਜਦੋਂ ਇੱਕ AI ਕੋਡ ਲਿਖਦਾ ਹੈ ਤਾਂ ਉਸਦਾ ਮਾਲਕ ਕੌਣ ਹੁੰਦਾ ਹੈ? ਮੌਜੂਦਾ ਲਾਇਸੈਂਸਿੰਗ ਫਰੇਮਵਰਕ ਮਨੁੱਖੀ ਲੇਖਕਤਾ ਨੂੰ ਮੰਨਦੇ ਹਨ, ਜੋ AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਅਸਥਾਵਾਂ (artifacts) ਲਈ ਇੱਕ ਗ੍ਰੇ ਏਰੀਆ ਛੱਡਦੇ ਹਨ।

ਅੱਗੇ ਕੀ ਦੇਖਣਾ ਹੈ

  • ਵਿਆਪਕ ਬੈਂਚਮਾਰਕਸ: ਨੈੱਟਵਰਕਡ ਐਪਲੀਕੇਸ਼ਨਾਂ, ਮੋਬਾਈਲ ਐਪਸ, ਜਾਂ ਆਧੁਨਿਕ C/C++ ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਉਹੀ ਖੁਦਮੁਖਤਿਆਰ ਵਰਕਫਲੋ ਲਾਗੂ ਕਰਨਾ ਇਹ ਪਰਖੇਗਾ ਕਿ ਕੀ ਇਹ ਪਹੁੰਚ ਰੈਟਰੋ-ਸਟਾਈਲ ਗੇਮਾਂ ਤੋਂ ਅੱਗੇ ਵਧ ਸਕਦੀ ਹੈ।
  • ਟੂਲ ਇੰਟੀਗ੍ਰੇਸ਼ਨ: Codex ਨੂੰ CI/CD ਪਾਈਪਲਾਈਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਨਾਲ ਨਾ ਸਿਰਫ਼ ਕੋਡ ਜਨਰੇਸ਼ਨ ਬਲਕਿ ਟੈਸਟਿੰਗ, ਸੁਰੱਖਿਆ ਸਕੈਨਿੰਗ, ਅਤੇ ਡਿਪਲਾਈਮੈਂਟ ਨੂੰ ਵੀ ਆਟੋਮੇਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
  • ਨੀਤੀਆਂ ਦਾ ਵਿਕਾਸ: ਜਿਵੇਂ-ਜਿਵੇਂ AI-ਜਨਰੇਟਡ ਕੋਡ ਵਧੇਗਾ, ਕਾਨੂੰਨੀ ਅਤੇ ਕਾਰਪੋਰੇਟ ਨੀਤੀਆਂ ਨੂੰ ਮਾਲਕੀ, ਦੇਣਦਾਰੀ, ਅਤੇ ਪਾਲਣਾ (compliance) ਦੇ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ।

ਸਿੱਟਾ ਸਪੱਸ਼ਟ ਹੈ: AI ਹੁਣ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਨਿਰਧਾਰਤ ਅਤੇ ਸੀਮਤ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਇੱਕ ਇਕੱਲੇ ਸਾਫਟਵੇਅਰ ਇੰਜੀਨੀਅਰ ਵਜੋਂ ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ, ਜੋ ਮਨੁੱਖੀ ਕੋਡਿੰਗ ਤੋਂ ਬਿਨਾਂ ਕਾਰਜਸ਼ੀਲ, low-level ਕੋਡ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦਾ ਹੈ। ਕੀ ਇਹ ਸਮਰੱਥਾ ਮੁੱਖ ਧਾਰਾ ਦੇ ਵਿਕਾਸ ਨੂੰ ਬਦਲ ਦੇਵੇਗੀ, ਇਹ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਈਕੋਸਿਸਟਮ ਕਿੰਨੀ ਤੇਜ਼ੀ ਨਾਲ ਭਰੋਸੇਯੋਗਤਾ, ਰੱਖ-ਰਖਾਅ ਅਤੇ ਕਾਨੂੰਨੀ ਚਿੰਤਾਵਾਂ ਨੂੰ ਹੱਲ ਕਰ ਸਕਦਾ ਹੈ।