ਰੈੱਡ ਲਾਈਨ ਸਿਧਾਂਤ

ਇਸ ਹਫ਼ਤੇ ਜਾਰੀ ਕੀਤੇ ਗਏ ਪ੍ਰਯੋਗ ਤੋਂ ਪਤਾ ਲੱਗਦਾ ਹੈ ਕਿ ਕਿਸੇ ਵੀ ਤਸਦੀਕਯੋਗ ਕਾਰਜ ਵਿੱਚ ਆਟੋਨੋਮਸ ਏਜੰਟ ਲੂਪਸ (autonomous agent loops) ਨੂੰ ਖਤਮ ਕਰਨ ਲਈ ਇੱਕ ਵਸਤੂਨਿਸ਼ਠ "ਰੈੱਡ ਲਾਈਨ" (red line) ਸਟੌਪ ਸਿਗਨਲ, LLM ਦੇ ਆਪਣੇ ਫੈਸਲੇ ਨਾਲੋਂ ਬਿਹਤਰ ਨਤੀਜੇ ਦਿੰਦਾ ਹੈ। ਇੱਕ ਮੱਧਮ-ਔਖੇ ਕੋਡਿੰਗ ਬੈਂਚਮਾਰਕ ਵਿੱਚ, ਰੈੱਡ ਲਾਈਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਏਜੰਟਾਂ ਨੇ ਔਸਤ 3.3 ਇਟਰੇਸ਼ਨਾਂ (iterations) ਤੋਂ ਬਾਅਦ ਕੰਮ ਪੂਰਾ ਕਰ ਲਿਆ; ਜਦਕਿ ਸਵੈ-ਫੈਸਲੇ 'ਤੇ ਨਿਰਭਰ ਕਰਨ ਵਾਲੇ ਏਜੰਟਾਂ ਨੇ ਕੰਮ ਖਤਮ ਕੀਤੇ ਬਿਨਾਂ ਅੱਠ-ਸਟੈਪ ਦੀ ਹਾਰਡ ਲਿਮਿਟ ਨੂੰ ਛੂਹ ਲਿਆ।

ਇਹ ਤੁਲਨਾ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ

ਆਟੋਨੋਮਸ AI ਏਜੰਟ ਹੁਣ ਮਨੁੱਖੀ ਨਿਗਰਾਨੀ ਤੋਂ ਬਿਨਾਂ ਕੋਡ ਤਿਆਰ ਕਰਦੇ ਹਨ, ਰਿਪੋਰਟਾਂ ਲਿਖਦੇ ਹਨ, ਅਤੇ ਸੰਰਚਿਤ ਡੇਟਾ (structured data) ਪੈਦਾ ਕਰਦੇ ਹਨ। ਹਰ ਇਟਰੇਸ਼ਨ ਕੰਪਿਊਟ ਅਤੇ ਸਟੋਰੇਜ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ, ਅਤੇ ਜਦੋਂ ਲੂਪ ਗਲਤ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਪਹਿਲਾਂ ਦੇ ਨਤੀਜਿਆਂ ਨੂੰ ਖਰਾਬ ਕਰ ਸਕਦਾ ਹੈ। ਏਜੰਟ ਨੂੰ ਕਦੋਂ ਰੁਕਣਾ ਚਾਹੀਦਾ ਹੈ, ਇਹ ਫੈਸਲਾ ਕਰਨਾ ਭਰੋਸੇਯੋਗਤਾ ਦੀ ਇੱਕ ਮੁੱਖ ਸਮੱਸਿਆ ਹੈ। ਨਵਾਂ ਡੇਟਾ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਇੱਕ ਸਧਾਰਨ, ਵਸਤੂਨਿਸ਼ਠ ਟੈਸਟ—ਕੀ ਆਉਟਪੁੱਟ ਪਹਿਲਾਂ ਤੋਂ ਨਿਰਧਾਰਤ ਸ਼ਰਤ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਹ ਚੈੱਕ ਕਰਨਾ—ਮਾਡਲ ਨੂੰ "ਮੈਂ ਕਰ ਲਿਆ ਹੈ" ਐਲਾਨਣ ਲਈ ਕਹਿਣ ਨਾਲੋਂ ਕਿਤੇ ਬਿਹਤਰ ਹੈ।

ਐਡ-ਹਾਕ (ad-hoc) ਰੁਕਣ ਤੋਂ ਵਸਤੂਨਿਸ਼ਠ ਰੈੱਡ ਲਾਈਨਾਂ ਤੱਕ

ਅਧਿਐਨ ਨੇ ਦੋ ਰਣਨੀਤੀਆਂ ਦੀ ਤੁਲਨਾ ਕੀਤੀ:

  • ਸ਼ਰਤ A – ਵਸਤੂਨਿਸ਼ਠ ਰੈੱਡ ਲਾਈਨ: ਜਿਵੇਂ ਹੀ ਕੋਈ ਠੋਸ ਟੈਸਟ ਪਾਸ ਹੁੰਦਾ ਹੈ, ਲੂਪ ਰੁਕ ਜਾਂਦਾ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ਕੋਡ ਕੰਪਾਈਲ ਹੁੰਦਾ ਹੈ, JSON ਸਕੀਮਾ ਅਨੁਸਾਰ ਹੁੰਦਾ ਹੈ, ਜਾਂ ਕੋਈ ਫਾਈਲ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ)।
  • ਸ਼ਰਤ B – LLM ਸਵੈ-ਫੈਸਲਾ: ਜਦੋਂ ਮਾਡਲ ਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਕਾਰਜ ਪੂਰਾ ਹੋ ਗਿਆ ਹੈ, ਤਾਂ ਉਹ "YES" ਜਾਂ "NO" ਵਿੱਚ ਜਵਾਬ ਦਿੰਦਾ ਹੈ।

ਦੋਵੇਂ ਰਣਨੀਤੀਆਂ ਫੰਕਸ਼ਨਲ ਕੋਡ ਲਿਖਣ ਵਰਗੇ ਤਸਦੀਕਯੋਗ ਕਾਰਜਾਂ 'ਤੇ ਚਲਾਈਆਂ ਗਈਆਂ। ਰੈੱਡ-ਲਾਈਨ ਪਹੁੰਚ ਹਰ ਵਾਰ ਸਫਲ ਰਹੀ; ਜਦਕਿ ਸਵੈ-ਫੈਸਲੇ ਵਾਲੀ ਪਹੁੰਚ ਲਗਾਤਾਰ ਅਸਫਲ ਰਹੀ, ਜਾਂ ਤਾਂ ਪਹਿਲਾਂ ਤੋਂ ਨਿਰਧਾਰਤ ਇਟਰੇਸ਼ਨ ਬਜਟ ਖਤਮ ਹੋ ਗਿਆ ਜਾਂ ਬਿਹਤਰ ਜਵਾਬ ਦੀ ਭਾਲ ਵਿੱਚ ਸਹੀ ਆਉਟਪੁੱਟ ਨੂੰ ਓਵਰਰਾਈਟ (overwrite) ਕਰ ਦਿੱਤਾ ਗਿਆ। ਅਸਫਲਤਾ ਦਾ ਤਰੀਕਾ ਇੱਕੋ ਜਿਹਾ ਹੈ: ਮਾਡਲ ਸਹੀ ਕੋਡ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਪਰ ਉਸਦਾ ਵਿਸ਼ਵਾਸ ਕਦੇ ਵੀ ਸਵੈ-ਫੈਸਲੇ ਦੀ ਸੀਮਾ (threshold) ਨੂੰ ਪਾਰ ਨਹੀਂ ਕਰਦਾ, ਇਸ ਲਈ ਇਹ ਉਦੋਂ ਤੱਕ ਲੂਪ ਕਰਦਾ ਰਹਿੰਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਸਿਸਟਮ ਰੁਕਣ ਲਈ ਮਜਬੂਰ ਨਹੀਂ ਕਰਦਾ। ਨਤੀਜਾ: ਬਰਬਾਦ ਹੋਏ ਸਾਈਕਲ ਅਤੇ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਖਰਾਬ ਹੋਈਆਂ ਫਾਈਲਾਂ।

ਰੈੱਡ-ਲਾਈਨ ਸਿਗਨਲਾਂ ਦੇ ਤਿੰਨ ਪੱਧਰ

ਲੇਖਕ ਸਟੌਪ ਸਿਗਨਲਾਂ ਲਈ ਇੱਕ ਵਰਗੀਕਰਨ (taxonomy) ਦਾ ਪ੍ਰਸਤਾਵ ਦਿੰਦਾ ਹੈ:

  1. ਫਾਰਮੈਟ ਰੈੱਡ ਲਾਈਨ – ਸਿੰਟੈਕਟਿਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ (ਸਹੀ JSON, ਵੈਧ ਫਾਈਲ, ਉਚਿਤ ਮਾਰਕਅੱਪ)। ਇਹ ਸਹੀ ਰੂਪ ਵਿੱਚ ਬਣੇ ਆਉਟਪੁੱਟ ਦੀ ਗਾਰੰਟੀ ਦਿੰਦੀ ਹੈ ਪਰ ਫੰਕਸ਼ਨਲ ਸਹੀ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰ ਸਕਦੀ।
  2. ਡਿਮਾਂਡ ਰੈੱਡ ਲਾਈਨ – ਬਿਜ਼ਨਸ ਲੌਜਿਕ ਜਾਂ ਟੈਸਟ ਨਤੀਜਿਆਂ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ਯੂਨਿਟ ਟੈਸਟ ਪਾਸ ਹੋਣਾ)। ਪ੍ਰੋਡਕਸ਼ਨ ਕੋਡ ਲਈ ਇਹ ਇੱਕ ਭਰੋਸੇਯੋਗ ਸਿਗਨਲ ਹੈ।
  3. ਸਿਮੈਂਟਿਕ ਰੈੱਡ ਲਾਈਨ – ਤਰਕਸ਼ੀਲ ਇਕਸਾਰਤਾ ਜਾਂ ਗੁਣਵੱਤਾ ਦਾ ਮੁਲਾਂਕਣ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਰਿਪੋਰਟ)। ਅਜੇ ਤੱਕ ਕੋਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਆਟੋਮੇਟਡ, ਭਰੋਸੇਯੋਗ ਮਾਪਦੰਡ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਇਹ ਪੱਧਰ ਅਜੇ ਵੀ ਖੋਜ ਦਾ ਵਿਸ਼ਾ ਹੈ।

ਰੈੱਡ ਲਾਈਨਾਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਪ੍ਰੋਡਕਸ਼ਨ ਪਾਈਪਲਾਈਨ ਬਣਾਉਣਾ

  • ਵਸਤੂਨਿਸ਼ਠ ਸਿਗਨਲ ਮੌਜੂਦ ਹੋਵੇ: ਰੈੱਡ ਲਾਈਨ ਨੂੰ ਸਿੱਧਾ ਲੂਪ ਨਾਲ ਜੋੜ ਦਿਓ। ਜਦੋਂ ਟੈਸਟ ਪਾਸ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਏਜੰਟ ਆਪਣੇ ਆਪ ਰੁਕ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਮਨੁੱਖੀ ਸਮੀਖਿਆ ਦੀ ਲੋੜ ਨਹੀਂ ਰਹਿੰਦੀ।
  • ਅੰਸ਼ਕ ਸਿਗਨਲ: ਲੂਪ ਨੂੰ ਰੈੱਡ ਲਾਈਨ 'ਤੇ ਰੁਕਣ ਦਿਓ ਪਰ ਇੱਕ ਸੈਂਪਲਿੰਗ ਸਟੈਪ ਜੋੜੋ ਜਿੱਥੇ ਮਨੁੱਖ ਆਉਟਪੁੱਟ ਦੇ ਇੱਕ ਹਿੱਸੇ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਇਹ ਸੁਰੱਖਿਆ ਦੇ ਨਾਲ ਆਟੋਮੇਸ਼ਨ ਦਾ ਸੰਤੁਲਨ ਬਣਾਉਂਦਾ ਹੈ।
  • ਕੋਈ ਸਿਗਨਲ ਨਾ ਹੋਵੇ: ਇਟਰੇਸ਼ਨ ਦੀ ਇੱਕ ਸਖ਼ਤ ਸੀਮਾ ਲਗਾਓ, ਨਤੀਜੇ ਨੂੰ "ਅਣ-ਤਸਦੀਕਸ਼ੁਦਾ" (unverified) ਵਜੋਂ ਫਲੈਗ ਕਰੋ, ਅਤੇ ਮੁਲਾਂਕਣ ਲਈ ਇਸਨੂੰ ਮਨੁੱਖ ਕੋਲ ਭੇਜ ਦਿਓ।

ਸਿਧਾਂਤ ਸਪੱਸ਼ਟ ਹੈ: ਇੱਕ ਆਟੋਨੋਮਸ ਏਜੰਟ ਦਾ ਟੀਚਾ "ਵੱਧ ਤੋਂ ਵੱਧ ਕਰਨਾ" ਨਹੀਂ ਹੈ, ਸਗੋਂ ਇਹ ਜਾਣਨਾ ਹੈ ਕਿ ਬਿਲਕੁਲ ਕਦੋਂ ਰੁਕਣਾ ਹੈ।

ਡਿਵੈਲਪਰਾਂ ਲਈ ਮੁੱਖ ਗੱਲ

ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਵਸਤੂਨਿਸ਼ਠ ਟੈਸਟ ਲਿਖ ਸਕਦੇ ਹੋ, ਤਾਂ ਉਸ ਟੈਸਟ ਨੂੰ ਫੈਸਲਾ ਕਰਨ ਦਿਓ ਕਿ ਲੂਪ ਕਦੋਂ ਖਤਮ ਹੋਣਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਤਾਂ ਲੂਪ ਨੂੰ ਇੱਕ ਸੀਮਤ ਪ੍ਰਯੋਗ ਵਜੋਂ ਮੰਨ