AI Agent ਰੋਲਬੈਕ ਯੋਜਨਾ: ਯੂਜ਼ਰਸ ਦਾ ਭਰੋਸਾ ਟੁੱਟਣ ਤੋਂ ਪਹਿਲਾਂ ਗਲਤ ਕਾਰਵਾਈਆਂ ਨੂੰ ਵਾਪਸ ਲਓ

ਇੱਕ ਭਰੋਸੇਯੋਗ AI agent ਨੂੰ ਸੰਪੂਰਨ ਹੋਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਇਸਨੂੰ ਇਹ ਜਾਣਨ ਦੀ ਲੋੜ ਹੈ ਕਿ ਕਿਵੇਂ ਰੁਕਣਾ ਹੈ, ਆਪਣੀ ਗਲਤੀ ਦੀ ਵਿਆਖਿਆ ਕਰਨੀ ਹੈ, ਅਤੇ ਸੁਧਾਰ (recover) ਕਰਨਾ ਹੈ।

ਜੇਕਰ ਤੁਹਾਡਾ agent ਗਲਤ CRM ਫੀਲਡ ਨੂੰ ਅਪਡੇਟ ਕਰਦਾ ਹੈ ਜਾਂ ਦੁਬਾਰਾ ਭੁਗਤਾਨ (duplicate payment) ਭੇਜ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਸਿਰਫ਼ ਇੱਕ ਵਾਰ ਫਿਰ ਕੋਸ਼ਿਸ਼ (retry) ਕਰਨ ਨਾਲ ਨੁਕਸਾਨ ਠੀਕ ਨਹੀਂ ਹੋਵੇਗਾ। ਅਸਲ ਘਟਨਾ ਦਾ ਸਾਹਮਣਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਰੋਲਬੈਕ ਯੋਜਨਾ ਦੀ ਲੋੜ ਹੈ।

ਜਿਵੇਂ ਕਿ agents ਚੈਟ ਤੋਂ ਅਸਲ ਕੰਮ ਵੱਲ ਵਧ ਰਹੇ ਹਨ, ਉਹ ਹੁਣ ਸਟੇਟ (state) ਨੂੰ ਬਦਲਦੇ ਹਨ। ਇਹ ਰੋਲਬੈਕ ਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਬੈਕਐਂਡ ਟਾਸਕ ਨਹੀਂ, ਸਗੋਂ ਇੱਕ ਪ੍ਰੋਡਕਟ ਫੀਚਰ ਬਣਾਉਂਦਾ ਹੈ।

ਆਮ ਅਸਫਲਤਾ ਦੇ ਰੂਪ (Common failure modes):

  • Agent ਗਲਤ ਰਿਕਾਰਡ ID ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
  • ਇੱਕ retry ਕਾਰਵਾਈ ਨੂੰ ਦੋ ਵਾਰ ਦੁਹਰਾਉਂਦੀ ਹੈ।
  • ਮਾਡਲ ਬਦਲਣ ਨਾਲ ਟੂਲ ਦੇ ਕੰਮ ਕਰਨ ਦਾ ਤਰੀਕਾ ਬਦਲ ਜਾਂਦਾ ਹੈ।
  • ਵਰਕਫਲੋ ਪੁਰਾਣੀ ਮੈਮੋਰੀ ਨਾਲ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ।
  • ਇੱਕ ਅਧੂਰੀ ਲੜੀ ਡੇਟਾ ਨੂੰ ਅਸੰਗਤ (inconsistent) ਛੱਡ ਦਿੰਦੀ ਹੈ।

ਰਿਕਵਰੀ ਲੇਅਰ (recovery layer) ਕਿਵੇਂ ਬਣਾਈ ਜਾਵੇ:

  1. ਐਕਸ਼ਨ ਲੈਜਰ (Action Ledger) ਦੀ ਵਰਤੋਂ ਕਰੋ ਲੌਗਸ (logs) 'ਤੇ ਨਿਰਭਰ ਨਾ ਰਹੋ। ਇੱਕ ਅਜਿਹਾ ਲੈਜਰ ਬਣਾਓ ਜੋ ਹਰ ਸਟੇਟ ਚੇਂਜ ਨੂੰ ਰਿਕਾਰਡ ਕਰੇ। ਹਰ ਟੂਲ ਕਾਲ ਨੂੰ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਇੱਕ ਐਂਟਰੀ ਬਣਾਉਣੀ ਚਾਹੀਦੀ ਹੈ। ਰਿਕਵਰੀ ਲਈ ਇਹ ਤੁਹਾਡਾ ਸੱਚਾ ਸਰੋਤ (source of truth) ਹੈ।

  2. ਆਪਣੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਸ਼੍ਰੇਣੀਬੱਧ ਕਰੋ ਹਰ ਕਾਰਵਾਈ ਇੱਕੋ ਜਿਹੀ ਨਹੀਂ ਹੁੰਦੀ।

  • Read-only: ਰੋਲਬੈਕ ਦੀ ਲੋੜ ਨਹੀਂ।
  • Internal updates: ਇੱਕ snapshot ਤੋਂ ਪਿਛਲੀ ਕੀਮਤ ਨੂੰ ਰਿਸਟੋਰ ਕਰੋ।
  • External reversible: ਈਵੈਂਟ ਨੂੰ ਡਿਲੀਟ ਕਰੋ ਜਾਂ ਸਟੇਟਸ ਨੂੰ ਅਪਡੇਟ ਕਰੋ।
  • External irreversible: ਅਸਲ undo ਦੀ ਬਜਾਏ ਕੰਪਨਸੇਸ਼ਨ (compensation) ਦੀ ਵਰਤੋਂ ਕਰੋ। ਈਮੇਲ ਜਾਂ ਭੁਗਤਾਨਾਂ ਲਈ, ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ "un-send" ਨਹੀਂ ਕਰ ਸਕਦੇ। ਤੁਹਾਨੂੰ ਇੱਕ ਸੁਧਾਰ ਜਾਂ ਰਿਫੰਡ ਭੇਜਣਾ ਪਵੇਗਾ।
  1. Idempotency ਨੂੰ ਲਾਗੂ ਕਰੋ ਮਾਡਲ idempotency ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕਰਦਾ। ਤੁਹਾਡੇ ਟੂਲ ਰਨਟਾਈਮ (tool runtime) ਨੂੰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। Idempotency keys ਦੀ ਵਰਤੋਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਰੋ ਕਿ ਜੇਕਰ ਕੋਈ agent ਕਿਸੇ ਟਾਸਕ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਹ ਦੁਬਾਰਾ ਸਾਈਡ ਇਫੈਕਟਸ (side effects) ਪੈਦਾ ਨਾ ਕਰੇ।

  2. Saga Pattern ਦੀ ਵਰਤੋਂ ਕਰੋ ਲੰਬੇ ਵਰਕਫਲੋ ਲਈ, ਹਰ ਅੱਗੇ ਵਧਣ ਵਾਲੀ ਕਾਰਵਾਈ ਲਈ ਇੱਕ ਕੰਪਨਸੇਟਿੰਗ (compensating) ਕਾਰਵਾਈ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

  • ਟਾਸਕ ਬਣਾਉਣਾ? ਕੰਪਨਸੇਸ਼ਨ ਇਸਨੂੰ ਡਿਲੀਟ ਜਾਂ ਕੈਂਸਲ ਕਰਨਾ ਹੈ।
  • ਫੀਲਡ ਅਪਡੇਟ ਕਰਨਾ? ਕੰਪਨਸੇਸ਼ਨ ਪੁਰਾਣੀ ਕੀਮਤ ਨੂੰ ਰਿਸਟੋਰ ਕਰਨਾ ਹੈ।
  • ਈਮੇਲ ਭੇਜਣਾ? ਕੰਪਨਸੇਸ਼ਨ ਇੱਕ ਸੁਧਾਰ ਭੇਜਣਾ ਹੈ।
  1. ਚੈੱਕਪੁਆਇੰਟਸ (Checkpoints) ਲਾਗੂ ਕਰੋ ਕ੍ਰੈਸ਼ ਹੋਣ ਤੋਂ ਬਾਅਦ ਮਾਡਲ ਨੂੰ "ਇਹ ਪਤਾ ਲਗਾਉਣ" ਲਈ ਕਹਿਣਾ ਬੰਦ ਕਰੋ ਕਿ ਅਸੀਂ ਕਿੱਥੇ ਸੀ। ਮੌਜੂਦਾ ਸਟੇਟ, ਪੂਰੀਆਂ ਹੋਈਆਂ ਕਾਰਵਾਈਆਂ ਅਤੇ ਲਟਕਦੇ ਹੋਏ ਟਾਸਕਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਚੈੱਕਪੁਆਇੰਟਸ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਕੰਮ ਨੂੰ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਿਸਟਮ ਨੂੰ ਚੈੱਕਪੁਆਇੰਟ ਲੋਡ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।

  2. ਰਿਕਵਰੀ ਕਿਊ (Recovery Queue) ਬਣਾਓ ਜਦੋਂ ਵੈਰੀਫਿਕੇਸ਼ਨ ਸਟੈਪ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਟਾਸਕ ਨੂੰ ਰਿਕਵਰੀ ਕਿਊ ਵਿੱਚ ਭੇਜ ਦਿਓ। ਇਹ ਤੁਹਾਨੂੰ ਟਾਸਕ ਨੂੰ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ, ਕੰਪਨਸੇਟ ਕਰਨ ਜਾਂ ਬੰਦ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਉੱਚ-ਜੋਖਮ ਵਾਲੀਆਂ ਗਲਤੀਆਂ ਲਈ, ਹਮੇਸ਼ਾ ਮਨੁੱਖੀ ਮਨਜ਼ੂਰੀ (human approval) ਲਓ।

ਭਰੋਸਾ ਦਿਖਾਈ ਦੇਣ ਵਾਲੀ ਰਿਕਵਰੀ ਰਾਹੀਂ ਬਣਦਾ ਹੈ। ਜਦੋਂ ਕੋਈ agent ਗਲਤੀ ਕਰਦਾ ਹੈ, ਤਾਂ ਅਸਪਸ਼ਟ ਭਾਸ਼ਾ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰੋ। ਯੂਜ਼ਰ ਨੂੰ ਦੱਸੋ ਕਿ ਬਿਲਕੁਲ ਕੀ ਬਦਲਿਆ ਹੈ, ਇਹ ਕਿਉਂ ਹੋਇਆ, ਅਤੇ ਤੁਸੀਂ ਇਸਨੂੰ ਕਿਵੇਂ ਠੀਕ ਕੀਤਾ।

ਪਹਿਲੀ ਘਟਨਾ ਵਾਪਰਨ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੀ ਰੋਲਬੈਕ ਯੋਜਨਾ ਤਿਆਰ ਕਰੋ।

Source: https://dev.to/jackm-singularity/ai-agent-rollback-plan-undo-bad-actions-before-users-lose-trust-4927

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