ਕਲਪਨਾ ਦਾ ਕ੍ਰਮ (The Confabulation Cascade)

ਮੇਰਾ AI ਏਜੰਟ ਇੱਕ ਲੂਪ ਵਿੱਚ ਫਸ ਗਿਆ ਸੀ।

ਇਹ ਇੱਕ ਫਰਜ਼ੀ ਕਾਲਮ ਦੇ ਨਾਮ ਨਾਲ SQL ਕੁਐਰੀ ਲਿਖਦਾ ਸੀ। ਡਾਟਾਬੇਸ ਇੱਕ ਗਲਤੀ (error) ਵਾਪਸ ਕਰਦਾ ਸੀ। ਗਲਤੀ ਦੇ ਸੰਦੇਸ਼ ਵਿੱਚ ਅਸਲੀ ਕਾਲਮ ਦੀ ਸੂਚੀ ਸ਼ਾਮਲ ਸੀ। ਏਜੰਟ ਸੁਧਾਰ ਨੂੰ ਪੜ੍ਹਦਾ ਸੀ। ਫਿਰ, ਇਹ ਦੁਬਾਰਾ ਬਿਲਕੁਲ ਉਹੀ ਗਲਤ ਕਾਲਮ ਦਾ ਨਾਮ ਲਿਖ ਦਿੰਦਾ ਸੀ।

ਮੈਂ ਇਸਨੂੰ 'ਕਲਪਨਾ ਦਾ ਕ੍ਰਮ' (confabulation cascade) ਕਹਿੰਦਾ ਹਾਂ।

ਇਹ ਮਾਡਲ ਦੀ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ। ਇਹ ਟੂਲ ਡਿਜ਼ਾਈਨ ਦੀ ਸਮੱਸਿਆ ਹੈ।

ਇੱਥੇ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਇਹ ਲੂਪ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ:

  • ਏਜੰਟ ਆਪਣੀ ਟ੍ਰੇਨਿੰਗ ਦੇ ਅਧਾਰ 'ਤੇ ਇੱਕ ਕੁਐਰੀ ਤਿਆਰ ਕਰਦਾ ਹੈ।
  • ਕੁਐਰੀ ਫੇਲ ਹੋ ਜਾਂਦੀ ਹੈ।
  • ਗਲਤੀ ਦਾ ਸੰਦੇਸ਼ ਸੱਚਾਈ ਦੱਸਦਾ ਹੈ।
  • ਏਜੰਟ ਸੱਚਾਈ ਦੇਖਦਾ ਹੈ ਪਰ ਇਸਦੀ ਬਜਾਏ ਆਪਣੀ ਅੰਦਰੂਨੀ ਟ੍ਰੇਨਿੰਗ 'ਤੇ ਭਰੋਸਾ ਕਰਦਾ ਹੈ।
  • ਏਜੰਟ ਗਲਤੀ ਨੂੰ ਦੁਹਰਾਉਂਦਾ ਹੈ।

ਏਜੰਟ ਨੂੰ ਦੋ ਸੰਕੇਤ ਮਿਲਦੇ ਹਨ। ਇੱਕ ਸੰਕੇਤ ਗਲਤੀ ਦਾ ਸੰਦੇਸ਼ ਹੈ। ਦੂਜਾ ਸੰਕੇਤ ਮਾਡਲ ਦੀ ਟ੍ਰੇਨਿੰਗ ਹੈ। ਟ੍ਰੇਨਿੰਗ ਅਕਸਰ ਵਧੇਰੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੁੰਦੀ ਹੈ। ਗਲਤੀ ਦਾ ਸੰਦੇਸ਼ ਸਿਰਫ ਇੱਕ ਵਾਰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਟ੍ਰੇਨਿੰਗ ਮਾਡਲ ਦੁਆਰਾ ਲਿਖੇ ਗਏ ਹਰ ਇੱਕ ਸ਼ਬਦ ਦੇ ਨਾਲ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ।

ਮੈਂ ਪ੍ਰੋਂਪਟ ਇੰਜੀਨੀਅਰਿੰਗ (prompt engineering) ਨਾਲ ਇਸਨੂੰ ਠੀਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ। ਮੈਂ ਮਾਡਲ ਨੂੰ ਗਲਤੀਆਂ ਵੱਲ ਧਿਆਨ ਦੇਣ ਲਈ ਕਿਹਾ। ਇਹ ਕੰਮ ਨਹੀਂ ਕਰਿਆ।

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

ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਇਨਸਾਨ ਨੂੰ API ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਡਾਕੂਮੈਂਟੇਸ਼ਨ (documentation) ਦਿੰਦੇ ਹੋ। ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਉਦੋਂ ਤੱਕ ਟੁੱਟੀਆਂ ਹੋਈਆਂ ਰਿਕਵੈਸਟਾਂ ਭੇਜਣ ਲਈ ਮਜਬੂਰ ਨਹੀਂ ਕਰਦੇ ਜਦੋਂ ਤੱਕ ਗਲਤੀ ਦੇ ਸੰਦੇਸ਼ ਉਹਨਾਂ ਨੂੰ ਸਕੀਮਾ (schema) ਨਹੀਂ ਸਿਖਾ ਦਿੰਦੇ।

ਮੈਂ ਇੱਕ ਪ੍ਰੋਐਕਟਿਵ (proactive) ਟੂਲ ਬਣਾ ਕੇ ਇਸਨੂੰ ਠੀਕ ਕੀਤਾ। ਗਲਤੀ ਦੀ ਉਡੀਕ ਕਰਨ ਦੀ ਬਜਾਏ, ਏਜੰਟ ਹੁਣ ਪਹਿਲਾਂ describe_table ਟੂਲ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ।

ਨਵਾਂ ਵਰਕਫਲੋ (workflow):

  • ਏਜੰਟ ਇੱਕ ਟੇਬਲ ਨੂੰ ਕੁਐਰੀ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ।
  • ਏਜੰਟ ਅਸਲੀ ਕਾਲਮ ਦੇਖਣ ਲਈ describe_table ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ।
  • ਏਜੰਟ ਨੂੰ ਸਹੀ ਨਾਮ ਅਤੇ ਕਿਸਮਾਂ (types) ਮਿਲ ਜਾਂਦੀਆਂ ਹਨ।
  • ਏਜੰਟ ਪਹਿਲੀ ਕੋਸ਼ਿਸ਼ ਵਿੱਚ ਹੀ ਸਹੀ ਕੁਐਰੀ ਲਿਖਦਾ ਹੈ।

ਲੂਪ ਰੁਕ ਗਿਆ। ਮਾਡਲ ਹੋਰ ਸਮਾਰਟ ਨਹੀਂ ਹੋਇਆ। ਏਜੰਟ ਨੇ ਸਿਰਫ ਅੰਦਾਜ਼ਾ ਲਗਾਉਣਾ ਬੰਦ ਕਰ ਦਿੱਤਾ।

ਜੇਕਰ ਤੁਹਾਡੇ ਏਜੰਟ ਡਾਟਾਬੇਸ ਜਾਂ API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ, ਤਾਂ ਇਹ ਪੁੱਛੋ: ਕੀ ਉਹ ਕਾਰਵਾਈ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਬਣਤਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦੇ ਹਨ? ਜਾਂ ਕੀ ਉਹ ਸਿਰਫ ਅਸਫਲ ਹੋ ਕੇ ਹੀ ਸਿੱਖਦੇ ਹਨ?

ਰਿਐਕਟਿਵ (reactive) ਗਲਤੀ ਦੇ ਸੰਕੇਤ ਚੰਗੇ ਹਨ। ਪਰ ਉਹ ਕਾਫ਼ੀ ਨਹੀਂ ਹਨ। ਇੱਕ ਏਜੰਟ ਜੋ ਸਿਰਫ ਅਸਫਲਤਾ ਰਾਹੀਂ ਸਿੱਖਦਾ ਹੈ, ਉਹ ਹਮੇਸ਼ਾ ਹੈਲੂਸੀਨੇਸ਼ਨ (hallucination) ਤੋਂ ਇੱਕ ਕਦਮ ਦੂਰ ਹੁੰਦਾ ਹੈ।

ਅਜਿਹੇ ਟੂਲ ਬਣਾਓ ਜੋ ਏਜੰਟਾਂ ਨੂੰ ਗਲਤੀਆਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਵਾਲ ਪੁੱਛਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ।

Source: https://dev.to/niclydon/the-confabulation-cascade-when-your-agent-learns-nothing-from-its-own-mistakes-m08

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