ਸਰਵਰਲੈੱਸ (serverless) ਦਾ ਇਹ ਭਰਮ ਕਿ "ਤੁਸੀਂ ਸਿਰਫ਼ ਉਹਨਾਂ ਮਿਲੀਸੈਕਿੰਡਾਂ ਲਈ ਭੁਗਤਾਨ ਕਰਦੇ ਹੋ ਜਦੋਂ ਤੁਹਾਡਾ ਕੋਡ ਚੱਲਦਾ ਹੈ", ਉਦੋਂ ਟੁੱਟ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ AWS Lambda 'ਤੇ ਇੱਕ AI agent ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋ। ਅਸਲ ਵਿੱਚ, ਸਭ ਤੋਂ ਵੱਡੇ ਖਰਚੇ Lambda-compute ਚਾਰਜ ਨਹੀਂ ਹਨ, ਸਗੋਂ cold-start latency, retry loops ਅਤੇ ਉਹ token usage ਹਨ ਜੋ ਉਹ loops ਪੈਦਾ ਕਰਦੇ ਹਨ।

ਕਿਉਂ ਆਮ ਸਰਵਰਲੈੱਸ ਤਸਵੀਰ AI agents ਨੂੰ ਗੁਮਰਾਹ ਕਰਦੀ ਹੈ

ਜ਼ਿਆਦਾਤਰ ਡਿਵੈਲਪਰ Lambda function ਨੂੰ ਇੱਕ ਸ਼ੁੱਧ compute sandbox ਵਾਂਗ ਮੰਨਦੇ ਹਨ: handler ਨੂੰ ਤੇਜ਼ ਰੱਖੋ, ਇੱਕ ਮਾਮੂਲੀ memory size ਸੈੱਟ ਕਰੋ, ਅਤੇ ਦੇਖੋ ਕਿ ਬਿੱਲ ਸਥਿਰ ਰਹਿੰਦਾ ਹੈ। ਇਹ ਸਧਾਰਨ HTTP endpoints ਲਈ ਕੰਮ ਕਰਦਾ ਹੈ, ਪਰ ਇੱਕ agent ਜੋ language model ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ, ਜਵਾਬ ਦਾ ਮੁਲਾਂਕਣ (evaluate) ਕਰਦਾ ਹੈ, ਅਤੇ ਸ਼ਾਇਦ ਪੂਰੇ ਚੱਕਰ ਨੂੰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ (retry) ਕਰਦਾ ਹੈ, ਉਹ ਇੱਕ ਸਿੰਗਲ Lambda invocation ਨਾਲ ਸਿੱਧਾ ਨਹੀਂ ਜੁੜਿਆ ਹੁੰਦਾ। Agent ਦਾ ਅੰਦਰੂਨੀ workflow model calls ਦੀ ਗਿਣਤੀ ਨੂੰ ਵਧਾ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਹਰ ਵਾਧੂ ਕਾਲ token cost ਵਧਾ ਦਿੰਦੀ ਹੈ ਜੋ compute charge ਨਾਲੋਂ ਕਿਤੇ ਜ਼ਿਆਦਾ ਹੋ ਸਕਦੀ ਹੈ।

Cold starts ਇੱਕ ਲੁਕੀ ਹੋਈ ਕੀਮਤ ਹਨ

ਜਦੋਂ ਇੱਕ Lambda container ਨੂੰ ਪਹਿਲੀ ਵਾਰ provision ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਸਨੂੰ deployment package ਨੂੰ unpack ਕਰਨਾ ਪੈਂਦਾ ਹੈ। ਜਿਸ agent ਦੀ ਗੱਲ ਹੋ ਰਹੀ ਹੈ, ਉਹ Python libraries ਦਾ ਇੱਕ ਵੱਡਾ ਸਮੂਹ ਵਰਤਦਾ ਹੈ, ਇਸ ਲਈ image ਕਾਫ਼ੀ ਵੱਡੀ ਹੋ ਸਕਦੀ ਹੈ। ਸਿਰਫ਼ development ਲਈ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਟੂਲਸ—ਜਿਵੇਂ ਕਿ ਸਿਰਫ਼ local testing ਲਈ ਵਰਤੀ ਜਾਣ ਵਾਲੀ browser automation library—ਨੂੰ ਹਟਾਉਣ ਨਾਲ image ਦਾ ਆਕਾਰ ਘਟ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ unpack ਹੋਣ ਦਾ ਸਮਾਂ ਵੀ ਘਟ ਜਾਂਦਾ ਹੈ। ਇੱਕ ਸਲਿੱਮ (slimmer) package ਦਾ ਮਤਲਬ ਹੈ ਕਿ function ਕਿਸੇ request ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਤੇਜ਼ੀ ਨਾਲ ਤਿਆਰ ਹੋ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ container ਦੇ warm up ਹੋਣ ਦੀ ਉਡੀਕ ਵਿੱਚ ਲੱਗਣ ਵਾਲਾ ਸਮਾਂ ਘਟ ਜਾਂਦਾ ਹੈ।

ਦੂਜਾ ਤਰੀਕਾ ਇਹ ਹੈ ਕਿ initialization code ਕਿੱਥੇ ਰੱਖਿਆ ਗਿਆ ਹੈ। Module import ਸਮੇਂ agent ਦੇ graph ਨੂੰ ਬਣਾਉਣ ਨਾਲ, ਭਾਰੀ ਕੰਮ ਹਰ request ਦੀ ਬਜਾਏ ਪ੍ਰਤੀ container start ਇੱਕ ਵਾਰ ਹੁੰਦਾ ਹੈ। Warm invocations ਫਿਰ ਉਸ ਕੰਮ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਛੱਡ ਦਿੰਦੇ ਹਨ। ਇਸ ਦਾ ਨੁਕਸਾਨ ਥੋੜ੍ਹਾ ਲੰਬਾ cold start ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਫਾਇਦਾ ਇਹ ਹੈ ਕਿ container warm ਹੋਣ ਤੋਂ ਬਾਅਦ ਪ੍ਰਤੀ-request setup ਸਮਾਂ ਲਗਭਗ ਜ਼ੀਰੋ ਹੋ ਜਾਂਦਾ ਹੈ।

Memory ਇੱਕ latency knob ਵਜੋਂ ਵੀ ਕੰਮ ਕਰਦੀ ਹੈ

Lambda 'ਤੇ ਤੁਸੀਂ ਜਿੰਨੀ memory allocate ਕਰਦੇ ਹੋ, ਉਹ ਇਹ ਵੀ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਕਿ function ਨੂੰ CPU ਦਾ ਕਿੰਨਾ ਹਿੱਸਾ ਮਿਲੇਗਾ। Function ਨੂੰ 1 GB memory ਸੈੱਟ ਕਰਨ ਨਾਲ ਇਸਨੂੰ ਇੱਕ ਪੂਰਾ virtual CPU core ਮਿਲਦਾ ਹੈ। ਵਾਧੂ CPU libraries ਦੇ import ਅਤੇ agent graph ਦੇ ਨਿਰਮਾਣ ਨੂੰ ਤੇਜ਼ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ cold-start ਅਤੇ warm-up latency ਦੋਵੇਂ ਘਟ ਜਾਂਦੀਆਂ ਹਨ।

Loop ਦੀ ਲਾਗਤ: retries token ਖਰਚੇ ਨੂੰ ਵਧਾ ਦਿੰਦੀਆਂ ਹਨ

Agent ਇੱਕ worker-evaluator loop ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। Worker ਇੱਕ ਜਵਾਬ ਤਿਆਰ ਕਰਦਾ ਹੈ, evaluator ਉਸਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਅਤੇ ਜੇਕਰ evaluator ਕੋਈ ਗਲਤੀ (error) ਲੱਭਦਾ ਹੈ, ਤਾਂ ਕੰਮ ਵਾਪਸ worker ਨੂੰ ਭੇਜ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਇਹ loop ਹਾਰ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ ਪੰਜ ਵਾਰ ਤੱਕ ਦੁਹਰਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਇੱਕ ਸਿੰਗਲ external request ਇਹਨਾਂ ਨੂੰ trigger ਕਰ ਸਕਦੀ ਹੈ:

  • worker model ਨੂੰ ਪੰਜ ਤੱਕ ਕਾਲਾਂ
  • evaluator model ਨੂੰ ਪੰਜ ਤੱਕ ਕਾਲਾਂ
  • agent ਦੁਆਰਾ ਕੀਤੇ ਜਾਣ ਵਾਲੇ tool calls ਦੀ ਕੋਈ ਵੀ ਗਿਣਤੀ

Lambda ਬਿੱਲ ਅਨੁਮਾਨਿਤ ਰਹਿੰਦਾ ਹੈ ਕਿਉਂਕਿ AWS execution ਦੇ ਹਰ ਮਿਲੀਸੈਕਿੰਡ ਲਈ ਚਾਰਜ ਕਰਦਾ ਹੈ, ਪਰ token ਬਿੱਲ ਇਸ ਗੱਲ 'ਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਉਤਾਰ-ਚੜ੍ਹਾਅ ਵਾਲਾ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਕਿੰਨੇ retries ਦੀ ਲੋੜ ਹੈ।

Timeout ਦਾ ਜਾਲ: API Gateway ਬਨਾਮ Lambda

API Gateway ਉਸ HTTP request 'ਤੇ 29-ਸੈਕਿੰਡ ਦਾ ਸਖ਼ਤ timeout ਲਗਾਉਂਦਾ ਹੈ ਜਿਸਦਾ ਇਹ ਪ੍ਰਬੰਧ ਕਰਦਾ ਹੈ। ਇੱਕ ਪੰਜ-ਤੂਰ (five-turn) agent loop ਆਸਾਨੀ ਨਾਲ ਉਸ ਸੀਮਾ ਤੋਂ ਬਾਹਰ ਜਾ ਸਕਦਾ ਹੈ, ਭਾਵੇਂ ਕਿ ਅਸਲ Lambda function ਨੂੰ ਪੰਜ ਮਿੰਟ ਦੇ execution window ਲਈ ਕੌਂਫਿਗਰ ਕੀਤਾ ਗਿਆ ਹੋਵੇ। Lambda Function URLs ਨਾਲ API Gateway ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਨਾਲ 29-ਸੈਕਿੰਡ ਦੀ ਸੀਮਾ ਖਤਮ ਹੋ ਜਾਂਦੀ ਹੈ, ਜਿਸ ਨਾਲ function ਬਿਨਾਂ ਰੁਕੇ ਆਪਣੇ loop ਨੂੰ ਪੂਰਾ ਕਰ ਸਕਦਾ ਹੈ।

ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਕਿਸ ਚੀਜ਼ ਲਈ ਬਜਟ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ

ਸਬਕ ਸਧਾਰਨ ਹੈ: ਇੱਕ serverless AI agent ਲਈ ਬਜਟ ਬਣਾਉਣ ਲਈ ਸਿਰਫ਼ Lambda runtime ਦੇ ਮਿਲੀਸੈਕਿੰਡਾਂ ਨੂੰ ਜੋੜਨਾ ਹੀ ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ। ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਗੱਲਾਂ ਨੂੰ ਵੀ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣ ਦੀ ਲੋੜ ਹੈ:

  • deployment package ਦਾ ਆਕਾਰ ਅਤੇ ਉਸ ਕਾਰਨ ਹੋਣ ਵਾਲੀ cold-start latency
  • memory setting ਜੋ CPU ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ import ਦੀ ਰਫ਼ਤਾਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ
  • worker-evaluator loop ਵਿੱਚ ਸੰਭਾਵਿਤ retries ਦੀ ਗਿਣਤੀ, ਜੋ ਸਿੱਧੇ ਤੌਰ 'ਤੇ token usage ਨੂੰ ਵਧਾਉਂਦੀ ਹੈ
  • ਸਮੇਂ ਤੋਂ ਪਹਿਲਾਂ timeout ਤੋਂ ਬਚਣ ਲਈ front-end ਦੀ ਚੋਣ (API Gateway ਬਨਾਮ Function URL)

ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਵੀ ਵੇਰੀਏਬਲ (variable) ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨ ਨਾਲ ਤੁਹਾਡਾ ਬਿੱਲ ਤੁਹਾਡੇ ਅਨੁਮਾਨ ਤੋਂ ਬਿਲਕੁਲ ਵੱਖਰਾ ਹੋ ਸਕਦਾ ਹੈ।