ਤੁਹਾਡੇ ਏਜੰਟ ਟੋਕਨ ਕਿਉਂ ਖ਼ਤਮ ਕਰ ਰਹੇ ਹਨ
ਤੁਸੀਂ ਇੱਕ ਕੋਡਿੰਗ ਏਜੰਟ ਤਾਇਨਾਤ ਕੀਤਾ ਹੈ। ਇਹ ਟਿਕਟਾਂ ਖਿੱਚਦਾ ਹੈ ਅਤੇ PRs ਫਾਈਲ ਕਰਦਾ ਹੈ। ਇਹ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ।
ਫਿਰ ਬਿੱਲ ਆਉਂਦਾ ਹੈ।
ਏਜੰਟ ਨੇ ਤੁਹਾਡੀ ਯੋਜਨਾ ਨਾਲੋਂ ਵੱਧ ਪੈਸਾ ਖ਼ਰਚ ਕੀਤਾ ਹੈ। ਤੁਹਾਨੂੰ ਨਹੀਂ ਪਤਾ ਕਿ ਕਿਉਂ। ਇਹ ਪ੍ਰਤੀ ਟਿਕਟ ਮਾਡਲ ਨੂੰ 50 ਵਾਰ ਕਾਲ ਕਰਦਾ ਹੈ। ਕੁਝ ਕਾਲਾਂ ਹੌਲੀ ਰੀਟ੍ਰਾਈਜ਼ (retries) ਹਨ। ਕੁਝ ਇੱਕੋ ਸੰਦਰਭ (context) ਦੀਆਂ ਵਾਰ-ਵਾਰ ਪੜ੍ਹਨ ਵਾਲੀਆਂ ਫਾਲਤੂ ਕਾਲਾਂ ਹਨ।
ਇਹ ਮਾਡਲ ਦੀ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ। ਇਹ ਇਨਫਰਾਸਟ੍ਰਕਚਰ (infrastructure) ਦੀ ਸਮੱਸਿਆ ਹੈ। ਤੁਹਾਡੀ ਟੀਮ ਕੋਲ ਖ਼ਰਚੇ ਦੀ ਸਪਸ਼ਟ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੈ। ਤੁਹਾਡੇ ਕੋਲ ਕਿਸੇ ਕੰਟਰੋਲ ਤੋਂ ਬਾਹਰ ਹੋਏ ਏਜੰਟ ਨੂੰ ਤੁਹਾਡਾ ਬਜਟ ਖ਼ਤਮ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਰੋਕਣ ਦਾ ਕੋਈ ਤਰੀਕਾ ਨਹੀਂ ਹੈ।
ਏਜੰਟ ਲੂਪਸ (loops) ਹੁੰਦੇ ਹਨ। ਉਹ ਇੱਕ ਕੰਮ ਪੜ੍ਹਦੇ ਹਨ, ਇੱਕ ਟੂਲ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਨ, ਆਊਟਪੁੱਟ ਪੜ੍ਹਦੇ ਹਨ, ਅਤੇ ਇਸੇ ਨੂੰ ਦੁਹਰਾਉਂਦੇ ਹਨ। ਹਰ ਕਦਮ ਟੋਕਨਾਂ ਦੀ ਲਾਗਤ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਏਜੰਟ ਹਰ ਵਾਰ ਸਿਸਟਮ ਪ੍ਰੋਂਪਟ (system prompt) ਨੂੰ ਦੁਬਾਰਾ ਪੜ੍ਹਦਾ ਹੈ, ਤਾਂ ਲਾਗਤ ਤੇਜ਼ੀ ਨਾਲ ਵਧਦੀ ਹੈ। ਇੱਕ ਛੋਟੀ ਜਿਹੀ ਬੱਗ (bug) ਸੈਂਕੜੇ ਵਾਧੂ ਪੜ੍ਹਨਾਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ।
ਤੁਸੀਂ ਸਿਰਫ਼ ਬਿੱਲ ਦੇਖਦੇ ਹੋ, ਕਾਲਾਂ ਨਹੀਂ। ਇਹ ਬਹੁਤ ਦੇਰ ਹੋ ਚੁੱਕੀ ਹੁੰਦੀ ਹੈ।
ਸਫਲ ਟੀਮਾਂ ਪਹਿਲੇ ਦਿਨ ਤੋਂ ਹੀ ਲਾਗਤ ਕੰਟਰੋਲ ਬਣਾਉਂਦੀਆਂ ਹਨ। ਉਹ ਇਹਨਾਂ ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ:
- ਮਹੀਨਾਵਾਰ ਬਜਟ ਦੀਆਂ ਸੀਮਾਵਾਂ (ceilings) ਨਿਰਧਾਰਤ ਕਰੋ।
- ਲੌਗ (log) ਕਰੋ ਕਿ ਕਿਸ ਏਜੰਟ ਅਤੇ ਕਿਸ ਕੰਮ ਨੇ ਹਰ ਕਾਲ ਨੂੰ ਟ੍ਰਿਗਰ ਕੀਤਾ।
- ਇਹ ਜਾਣੋ ਕਿ ਇੱਕ ਕੰਮ ਦੀ ਲਾਗਤ ਦੂਜੇ ਨਾਲੋਂ ਕਿਉਂ ਜ਼ਿਆਦਾ ਸੀ।
ਪ੍ਰੋਡਕਸ਼ਨ (production) ਵਿੱਚ ਏਜੰਟਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਲੋੜ ਹੈ:
- ਪ੍ਰਤੀ-ਏਜੰਟ ਟ੍ਰੈਕਿੰਗ: ਪ੍ਰਤੀ ਉਪਭੋਗਤਾ ਅਤੇ ਪ੍ਰਤੀ ਕੰਮ ਦੀ ਲਾਗਤ ਜਾਣੋ।
- ਵਰਚੁਅਲ ਕੀਜ਼ (Virtual keys): ਟੀਮਾਂ ਨੂੰ ਵੱਖਰਾ ਕਰੋ ਤਾਂ ਜੋ ਕੋਈ ਇੱਕ ਡਿਵੈਲਪਰ ਸਾਰਾ ਬਜਟ ਖ਼ਤਮ ਨਾ ਕਰ ਸਕੇ।
- ਬਜਟ ਕੰਟਰੋਲ: ਸਖ਼ਤ ਸੀਮਾਵਾਂ ਨਿਰਧਾਰਤ ਕਰੋ। ਜਦੋਂ ਏਜੰਟ ਕਿਸੇ ਸੀਮਾ 'ਤੇ ਪਹੁੰਚਦਾ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਤੁਹਾਨੂੰ ਅਲਰਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜਾਂ ਕੰਮ ਲੈਣਾ ਬੰਦ ਕਰ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਖ਼ਰਚੇ ਦੀ ਸਪਸ਼ਟਤਾ: ਰੁਝਾਨਾਂ ਅਤੇ ਪ੍ਰਤੀ ਕੰਮ ਔਸਤ ਲਾਗਤ ਨੂੰ ਦੇਖਣ ਲਈ ਡੈਸ਼ਬੋਰਡ ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਵਿਸਤ੍ਰਿਤ ਲੌਗਸ: ਕਾਲਾਂ ਦੀਆਂ ਕਿਸਮਾਂ ਦੀ ਵੰਡ ਦੇਖੋ।
ਜੇਕਰ ਤੁਸੀਂ ਇਹਨਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਅੰਨ੍ਹੇਵਾਹ ਕੰਮ ਕਰ ਰਹੇ ਹੋ।
LiteLLM ਇਸ ਤੋਂ ਬਚਣ ਲਈ ਇੱਕ ਖਾਸ ਪੈਟਰਨ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ:
- ਬ੍ਰੇਨ ਅਤੇ ਸੈਂਡਬਾਕਸ (Brain and sandbox) ਵੰਡ: ਤਰਕ (reasoning) ਇੱਕ ਜਗ੍ਹਾ ਚੱਲਦਾ ਹੈ ਅਤੇ ਕਾਰਜਕਾਰੀ (execution) ਦੂਜੀ ਜਗ੍ਹਾ। ਇਹ ਲਗਾਤਾਰ ਦੁਬਾਰਾ ਪੜ੍ਹਨ ਨੂੰ ਰੋਕਦਾ ਹੈ।
- ਸਪਸ਼ਟ ਟੂਲ ਇੰਟਰਫੇਸ: ਲੰਬੇ ਟੈਕਸਟ ਦੀ ਬਜਾਏ ਸੰਰਚਿਤ (structured) ਪਰਿਭਾਸ਼ਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਗੇਟਵੇ ਟ੍ਰੈਕਿੰਗ: ਹਰ ਕਾਲ ਏਜੰਟ ਅਤੇ ਟੀਮ ਦੀ ID ਵਾਲੇ ਗੇਟਵੇ ਰਾਹੀਂ ਰੂਟ ਹੁੰਦੀ ਹੈ।
- ਲਾਗੂ ਬਜਟ: ਏਜੰਟ ਕੰਮ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੇ ਬਾਕੀ ਬਚੇ ਬਜਟ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ ਇਹਨਾਂ ਟੂਲਸ ਤੋਂ ਬਿਨਾਂ ਏਜੰਟ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਲਾਗਤ ਵਿੱਚ ਭਾਰੀ ਵਾਧੇ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਵੇਗਾ। ਏਜੰਟ ਉਦੋਂ ਤੱਕ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਇਹ ਕਿਸੇ ਐਜ ਕੇਸ (edge case) ਜਾਂ ਲੂਪ ਵਿੱਚ ਨਹੀਂ ਫਸਦਾ। ਉਦੋਂ ਤੱਕ, ਪੈਸਾ ਖ਼ਤਮ ਹੋ ਚੁੱਕਾ ਹੁੰਦਾ ਹੈ।
ਹੁਣ ਇਹ ਕਦਮ ਚੁੱਕੋ:
- ਆਪਣੇ ਪਿਛਲੇ API ਬਿੱਲ ਦੀ ਜਾਂਚ (audit) ਕਰੋ।
- ਹਰ ਕਾਲ ਨੂੰ ਏਜੰਟ ID ਅਤੇ ਟਾਸਕ ID ਨਾਲ ਇੰਸਟਰੂਮੈਂਟ (instrument) ਕਰੋ।
- ਅੱਜ ਹੀ ਬਜਟ ਦੀ ਸੀਮਾ ਨਿਰਧਾਰਤ ਕਰੋ।
- ਫੇਲ ਹੋਈਆਂ ਰੀਟ੍ਰਾਈਜ਼ (retries) ਲੱਭਣ ਲਈ ਟੂਲ ਕਾਲਾਂ ਨੂੰ ਲੌਗ ਕਰੋ।
- ਹਰ ਹਫ਼ਤੇ ਕਾਲ ਪੈਟਰਨਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ।
ਅਜਿਹਾ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਬਣਾਓ ਜੋ ਭਰੋਸੇਮੰਦ ਏਜੰਟਾਂ ਨੂੰ ਮਹਿੰਗੀਆਂ ਗਲਤੀਆਂ ਤੋਂ ਵੱਖ ਕਰਦਾ ਹੋਵੇ।
ਸਰੋਤ: https://dev.to/paultwist/why-your-agents-are-silently-burning-tokens-and-how-to-stop-them-7g8 ਵਿਕਲਪੀ ਸਿੱਖਣ ਭਾਈਚਾਰਾ: https://t.me/GyaanSetuAi