𝗕𝗲𝘆𝗼𝗻𝗱 𝗧𝗵𝗲 𝗔𝗴𝗲𝗻𝘁𝗶𝗰 𝗟𝗼𝗼𝗽: 𝗧𝗵𝗲 𝗢𝗿𝗰𝗵𝗲𝘀𝘁𝗿𝗮𝘁𝗼𝗿 𝗣𝗮𝘁𝘁𝗲𝗿𝗻
ਜ਼ਿਆਦਾਤਰ ਲੋਕ ਏਜੈਂਟਿਕ ਲੂਪ (agentic loop) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਮਲਟੀ-ਏਜੈਂਟ ਸਿਸਟਮ ਬਣਾਉਂਦੇ ਹਨ।
LLM ਦਿਮਾਗ ਅਤੇ ਕੰਟਰੋਲ ਫਲੋਅ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਸੋਚਦਾ ਹੈ, ਇੱਕ ਟੂਲ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ, ਨਿਰੀਖਣ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਸੇ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਦੁਹਰਾਉਂਦਾ ਹੈ। ਇਹ ਖੋਜ (exploration) ਲਈ ਤਾਂ ਠੀਕ ਹੈ, ਪਰ ਇਹ ਤਿੰਨ ਵੱਡੀਆਂ ਸਮੱਸਿਆਵਾਂ ਲਿਆਉਂਦਾ ਹੈ:
- ਅਨਿਸ਼ਚਿਤਤਾ (Unpredictability): ਇੱਕ ਕੰਮ ਵਿੱਚ 3 ਕਾਲਾਂ ਲੱਗ ਸਕਦੀਆਂ ਹਨ ਜਾਂ 9 ਕਾਲਾਂ। ਜਦੋਂ ਤੱਕ ਇਹ ਚੱਲਦਾ ਨਹੀਂ, ਤੁਹਾਨੂੰ ਲੇਟੈਂਸੀ (latency) ਜਾਂ ਲਾਗਤ ਦਾ ਪਤਾ ਨਹੀਂ ਲੱਗਦਾ।
- ਨਾਨ-ਡਿਟਰਮਿਨਿਜ਼ਮ (Non-determinism): ਇੱਕੋ ਸਵਾਲ ਹਰ ਵਾਰ ਵੱਖਰੇ ਰਸਤੇ ਅਪਣਾਉਂਦਾ ਹੈ। ਇਸ ਕਾਰਨ ਆਰਡਰ ਦੇਣ ਵਰਗੇ ਸਾਈਡ ਇਫੈਕਟਸ ਵਾਲੇ ਕੰਮਾਂ ਲਈ ਏਜੈਂਟਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰਨਾ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ।
- ਮਾੜੀ ਆਬਜ਼ਰਵੇਬਿਲਟੀ (Poor observability): ਡੀਬੱਗਿੰਗ ਲਈ ਤਰਕ (reasoning) ਅਤੇ ਟੂਲ ਕਾਲਾਂ ਦੇ ਉਲਝੇ ਹੋਏ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟਸ ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਉਣਾ ਪੈਂਦਾ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੇ ਏਜੈਂਟਾਂ ਅਤੇ ਉਹਨਾਂ ਦੇ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਜਾਣਦੇ ਹੋ, ਤਾਂ ਇਸ ਦੀ ਬਜਾਏ ਓਰਕੈਸਟ੍ਰੇਟਰ ਪੈਟਰਨ (Orchestrator pattern) ਦੀ ਵਰਤੋਂ ਕਰੋ।
ਓਰਕੈਸਟ੍ਰੇਟਰ ਫੈਸਲੇ ਨੂੰ ਕਾਰਜਪ੍ਰਣਾਲੀ (execution) ਤੋਂ ਵੱਖ ਕਰਦਾ ਹੈ। ਇਹ ਤਿੰਨ ਵੱਖ-ਵੱਖ ਪੜਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ:
- ਰੂਟ (Route): ਇੱਕ LLM ਕਾਲ ਟੂਲ ਚੁਣਦੀ ਹੈ। ਇਹ ਉਪਭੋਗਤਾ ਨੂੰ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦੀ।
- ਐਗਜ਼ੀਕਿਊਟ (Execute): ਆਮ TypeScript ਕੋਡ ਏਜੈਂਟਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ। ਇੱਥੇ ਕਿਸੇ LLM ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ।
- ਸਿੰਥੇਸਾਈਜ਼ (Synthesize): ਇੱਕ LLM ਕਾਲ ਡੇਟਾ ਨੂੰ ਇੱਕ ਕੁਦਰਤੀ ਜਵਾਬ ਵਿੱਚ ਬਦਲ ਦਿੰਦੀ ਹੈ।
ਇਹ ਪੈਟਰਨ ਤਿੰਨ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਮੋਡ ਬਣਾਉਂਦਾ ਹੈ:
• ਸਿੰਗਲ (Single): ਇੱਕ ਏਜੈਂਟ ਕੁਐਰੀ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ।
• ਪੈਰਲਲ (Parallel): Promise.all ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕੋ ਸਮੇਂ ਕਈ ਸੁਤੰਤਰ ਏਜੈਂਟ ਚੱਲਦੇ ਹਨ। ਇਹ ਸਮਾਂ ਬਚਾਉਂਦਾ ਹੈ।
• ਸੀਕੁਐਂਸ਼ੀਅਲ (Sequential): ਏਜੈਂਟ ਕ੍ਰਮ ਅਨੁਸਾਰ ਚੱਲਦੇ ਹਨ। ਹਰ ਕਦਮ ਪਿਛਲੇ ਕਦਮ ਦੇ ਨਤੀਜਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
ਇਸ ਪਹੁੰਚ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤੁਹਾਨੂੰ ਮਿਲਦਾ ਹੈ:
- ਇੱਕ ਯੋਜਨਾ ਜਿਸ 'ਤੇ ਤੁਸੀਂ ਭਰੋਸਾ ਕਰ ਸਕਦੇ ਹੋ: ਕੋਡ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਸੀਂ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪਲਾਨ ਦੇਖ ਸਕਦੇ ਹੋ।
- ਤੇਜ਼ ਰਫਤਾਰ: ਪੈਰਲਲ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਇੱਕੋ ਸਮੇਂ ਕਈ ਲੁੱਕਅੱਪਸ ਨੂੰ ਸੰਭਾਲ ਲੈਂਦੀ ਹੈ।
- ਬਿਹਤਰ ਟੈਸਟਿੰਗ: ਤੁਸੀਂ API ਕੀਅ (key) ਤੋਂ ਬਿਨਾਂ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪੜਾਅ ਦਾ ਯੂਨਿਟ ਟੈਸਟ ਕਰ ਸਕਦੇ ਹੋ।
- ਅਨੁਮਾਨਿਤ ਲਾਗਤ: ਹਰ ਰਿਕਵੈਸਟ ਵਿੱਚ ਬਿਲਕੁਲ ਦੋ LLM ਕਾਲਾਂ ਦੀ ਵਰਤੋਂ ਹੁੰਦੀ ਹੈ।
ਖੋਜ (exploration) ਲਈ ਏਜੈਂਟਿਕ ਲੂਪ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਉਹਨਾਂ ਪ੍ਰੋਡਕਸ਼ਨ ਸਿਸਟਮਾਂ ਲਈ ਓਰਕੈਸਟ੍ਰੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਿਨ੍ਹਾਂ ਨੂੰ ਰਫਤਾਰ ਅਤੇ ਭਰੋਸੇਮੰਦਤਾ ਦੀ ਲੋੜ ਹੈ।
ਵਿਕਲਪਿਕ ਸਿੱਖਣ ਭਾਈਚਾਰਾ: https://t.me/GyaanSetuAi