ਤੁਹਾਡੇ AI Agent ਨੂੰ ਹੋਰ ਸਮਾਰਟ ਹੋਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਇਸਨੂੰ Idempotent ਹੋਣ ਦੀ ਲੋੜ ਹੈ।
ਜ਼ਿਆਦਾਤਰ ਪ੍ਰੋਡਕਸ਼ਨ AI agents ਗਲਤ ਤਰਕ (reasoning) ਕਾਰਨ ਫੇਲ ਨਹੀਂ ਹੁੰਦੇ। ਉਹ ਨੈੱਟਵਰਕ ਦੀਆਂ ਗਲਤੀਆਂ ਕਾਰਨ ਫੇਲ ਹੁੰਦੇ ਹਨ।
ਮਾਡਲ ਸਹੀ ਟੂਲ ਚੁਣਦਾ ਹੈ। ਇਹ ਸਹੀ ਵੇਰਵੇ ਭਰਦਾ ਹੈ। ਫਿਰ, ਇਹ ਇੱਕ ਗਾਹਕ ਤੋਂ ਦੋ ਵਾਰ ਪੈਸੇ ਕੱਟ ਲੈਂਦਾ ਹੈ।
ਅਜਿਹਾ ਇਸ ਲਈ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ write-capable agents ਅਸਥਿਰ (unreliable) ਨੈੱਟਵਰਕਾਂ ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਹਨ।
- ਰਿਕਵੈਸਟਾਂ ਦਾ ਸਮਾਂ ਖਤਮ ਹੋ ਜਾਂਦਾ ਹੈ (Requests time out)।
- ਕਨੈਕਸ਼ਨ ਟੁੱਟ ਜਾਂਦੇ ਹਨ।
- ਫਰੇਮਵਰਕ ਉਹਨਾਂ ਸਟੈਪਸ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ (retry) ਕਰਦੇ ਹਨ ਜੋ ਪਹਿਲਾਂ ਹੀ ਪੂਰੇ ਹੋ ਚੁੱਕੇ ਹਨ।
ਇੱਕ read-only agent ਵਿੱਚ, retry ਮੁਫ਼ਤ ਹੁੰਦਾ ਹੈ। ਇੱਕ write-capable agent ਵਿੱਚ, retry ਇੱਕ ਦੂਜੀ ਅਜਿਹੀ ਕਾਰਵਾਈ ਹੈ ਜਿਸ ਨੂੰ ਵਾਪਸ ਨਹੀਂ ਲਿਆ ਜਾ ਸਕਦਾ (irreversible)।
ਇਸਦਾ ਹੱਲ idempotency ਹੈ।
ਇਸ ਆਮ ਫੇਲ੍ਹ ਹੋਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਦੇਖੋ:
- Agent ਇਨਵੌਇਸ ਭੇਜਣ ਲਈ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ।
- ਸਰਵਿਸ ਇਨਵੌਇਸ ਬਣਾਉਂਦੀ ਹੈ।
- ਰਿਸਪਾਂਸ Agent ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਕਨੈਕਸ਼ਨ ਟੁੱਟ ਜਾਂਦਾ ਹੈ।
- Agent ਨੂੰ timeout ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਅਤੇ ਉਹ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ (retry) ਕਰਦਾ ਹੈ।
- ਹੁਣ, ਤੁਹਾਡੇ ਕੋਲ ਦੋ ਇਨਵੌਇਸ ਹਨ।
ਇੱਕ ਸਮਾਰਟ ਮਾਡਲ ਇਸਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰੇਗਾ। ਇੱਕ ਸਮਾਰਟ ਮਾਡਲ ਅਗਰੈਸਿਵ ਰਿਟ੍ਰਾਈਜ਼ (retries) ਕਰਕੇ ਇਸਨੂੰ ਹੋਰ ਵੀ ਵਿਗੜਾ ਸਕਦਾ ਹੈ।
ਤੁਸੀਂ Stripe ਵਰਗੇ ਪੇਮੈਂਟ ਸਿਸਟਮਾਂ ਤੋਂ ਸਿੱਖ ਸਕਦੇ ਹੋ। ਉਹ Idempotency-Key ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਸਰਵਰ ਪਹਿਲੀ ਰਿਕਵੈਸਟ ਦੇ ਨਤੀਜੇ ਨੂੰ ਸੇਵ ਕਰ ਲੈਂਦਾ ਹੈ। ਜੇਕਰ ਕਲਾਇੰਟ ਦੁਬਾਰਾ ਉਹੀ ਕੀ (key) ਭੇਜਦਾ ਹੈ, ਤਾਂ ਸਰਵਰ ਕਾਰਵਾਈ ਨੂੰ ਦੂਜੀ ਵਾਰ ਚਲਾਉਣ ਦੀ ਬਜਾਏ ਸਟੋਰ ਕੀਤਾ ਹੋਇਆ ਨਤੀਜਾ ਵਾਪਸ ਕਰ ਦਿੰਦਾ ਹੈ।
ਇੱਕ AI agent ਲਈ, ਤੁਹਾਨੂੰ ਇਹ ਕੀ (key) ਇੰਟੈਂਟ (intent) ਤੋਂ ਤਿਆਰ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।
ਰੈਂਡਮ IDs ਦੀ ਵਰਤੋਂ ਨਾ ਕਰੋ। ਟੂਲ ਦੇ ਨਾਮ ਅਤੇ ਇਸਦੇ ਸਥਿਰ (stable) ਪੈਰਾਮੀਟਰਾਂ ਦੇ ਹੈਸ਼ (hash) ਦੀ ਵਰਤੋਂ ਕਰੋ।
ਉਦਾਹਰਨ:
- Tool:
charge_customer - Params:
{customer_id: 42, amount: 500} - Key:
hash(tool + params)
ਜੇਕਰ agent ਬਿਲਕੁਲ ਉਹੀ ਚਾਰਜ ਦੁਬਾਰਾ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਤਾਂ ਕੀ (key) ਉਹੀ ਰਹਿੰਦੀ ਹੈ। ਸਿਸਟਮ ਇਸਨੂੰ ਪਛਾਣ ਲੈਂਦਾ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਚਾਰਜ ਹੋਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।
ਇੱਕ ਸਾਵਧਾਨੀ: ਤੁਹਾਡੀ ਕੀ (key) ਉਨੀ ਹੀ ਚੰਗੀ ਹੈ ਜਿੰਨੀ ਤੁਹਾਡੀ ਇੱਕ ਸਿੰਗਲ ਐਕਸ਼ਨ ਦੀ ਪਰਿਭਾਸ਼ਾ ਹੈ।
- ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੇ ਹੈਸ਼ ਵਿੱਚ ਟਾਈਮਸਟੈਂਪ (timestamp) ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ, ਤਾਂ ਹਰ ਰਿਟ੍ਰਾਈ (retry) ਨੂੰ ਇੱਕ ਨਵੀਂ ਕੀ ਮਿਲਦੀ ਹੈ। ਤੁਹਾਡੀ ਸੁਰੱਖਿਆ ਫੇਲ ਹੋ ਜਾਂਦੀ ਹੈ।
- ਜੇਕਰ ਤੁਸੀਂ LLM ਦੁਆਰਾ ਲਿਖਿਆ ਗਿਆ ਮੈਸੇਜ ਬਾਡੀ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ, ਤਾਂ ਮਾਡਲ ਇੱਕ ਸ਼ਬਦ ਬਦਲ ਸਕਦਾ ਹੈ। ਇਹ ਇੱਕ ਨਵੀਂ ਕੀ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਐਕਸ਼ਨ ਹੋ ਜਾਂਦਾ ਹੈ।
ਹਮੇਸ਼ਾ ਸਥਿਰ ਡੇਟਾ ਜਿਵੇਂ ਕਿ customer IDs ਜਾਂ invoice IDs 'ਤੇ ਕੀ (key) ਬਣਾਓ। ਅਜਿਹੀ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਨੂੰ ਬਾਹਰ ਰੱਖੋ ਜਿਸਨੂੰ ਮਾਡਲ ਬਦਲ ਸਕਦਾ ਹੈ।
ਬਿਹਤਰ ਪ੍ਰੋਂਪਟਸ (prompts) ਨਾਲ agent ਦੀ ਭਰੋਸੇਯੋਗਤਾ (reliability) ਨੂੰ ਠੀਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨਾ ਬੰਦ ਕਰੋ।
ਭਰੋਸੇਯੋਗਤਾ ਦਾ ਮਤਲਬ ਹੈ ਦੁਹਰਾਏ ਗਏ ਫੈਸਲੇ ਦੀ ਲਾਗਤ ਨੂੰ ਜ਼ੀਰੋ ਕਰਨਾ। ਜੇਕਰ ਤੁਹਾਡਾ agent ਇੱਕੋ ਐਕਸ਼ਨ ਦੋ ਵਾਰ ਕਰਦਾ ਹੈ, ਤਾਂ ਕੁਝ ਵੀ ਖਰਾਬ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ।
Optional learning community: https://t.me/GyaanSetuAi
