এজেন্ট লুপ (Agent Loop) বোঝা

আপনি যদি tool-calling মডেল ব্যবহার করে কিছু তৈরি করেন, তবে আপনার সবচেয়ে গুরুত্বপূর্ণ সিদ্ধান্ত প্রম্পট নয়। এটি হলো মডেলের চারপাশের লুপ (loop)।

একটি LLM একটি টুল ব্যবহার করার সিদ্ধান্ত নেয়, কিন্তু এটি নিজে সেই টুলটি চালাতে পারে না। অ্যাপ্লিকেশন বা SDK-কে কনটেক্সট (context) তৈরি করতে হয়, টুলটি চালাতে হয় এবং ফলাফলগুলো যুক্ত করতে হয়। এই চক্রটিই হলো এজেন্ট লুপ (agent loop)।

মডেলটি সিস্টেমের কেবল একটি অংশ মাত্র। হারনেস (harness) বা SDK অর্কেস্ট্রেশন (orchestration) পরিচালনা করে। এর মধ্যে রয়েছে প্রম্পট অ্যাসেম্বলি (prompt assembly), টুল এক্সিকিউশন (tool execution), রিট্রাই (retries) এবং টার্মিনেশন (termination)।

নির্ভরযোগ্য এজেন্ট তৈরির মূল ধারণাগুলো:

  • স্টেট ম্যানেজমেন্ট (State management) অত্যন্ত গুরুত্বপূর্ণ। আপনি যদি টুলের আউটপুট হারিয়ে ফেলেন, তবে এজেন্ট ভুলে যাবে কী ঘটেছিল।
  • পারফরম্যান্স নির্ভর করে প্রম্পট বৃদ্ধির নিয়ন্ত্রণের ওপর। খরচ কমাতে স্ট্যাবল প্রিফিক্স (stable prefixes) এবং ক্যাশিং (caching) ব্যবহার করুন।
  • নিরাপত্তার জন্য ভ্যালিডেশন প্রয়োজন। ডেটা পরিবর্তন করে এমন কাজের জন্য অ্যাপ্রুভাল গেট (approval gates) ব্যবহার করুন।
  • মডেল নয়, বরং হারনেস লাইফসাইকেল পরিচালনা করে।

লুপের জন্য একটি ব্যবহারিক মেন্টাল মডেল:

  • ইনপুট স্টেট তৈরি করুন।
  • মডেল কল করুন।
  • রেসপন্সটি পরীক্ষা করুন।
  • যদি মডেল টুলের অনুরোধ করে, তবে সেগুলো ভ্যালিডেট এবং এক্সিকিউট করুন।
  • টুলের ফলাফলগুলো পুনরায় কনটেক্সটে যুক্ত করুন।
  • মডেলকে আবার কল করুন।
  • শুধুমাত্র তখনই থামুন যখন মডেল একটি চূড়ান্ত উত্তর প্রদান করবে।

দুটি সিস্টেম একই মডেল ব্যবহার করতে পারে কিন্তু তাদের আচরণ ভিন্ন হতে পারে। এটি ঘটে কারণ তাদের হারনেসগুলো কনটেক্সট, টুলের ক্রম (ordering) এবং হিস্ট্রি সম্পর্কে ভিন্ন ভিন্ন সিদ্ধান্ত নেয়।

এই সাধারণ সমস্যাগুলো সম্পর্কে সতর্ক থাকুন:

  • পুনরাবৃত্তিমূলক আচরণ (Repetitive behavior): সাধারণত স্টেট কন্টিনিউটি (state continuity) ভেঙে যাওয়ার কারণে ঘটে।
  • নিম্নমান (Low quality): প্রায়শই টুলের আউটপুট খুব দীর্ঘ বা নয়েজি (noisy) হওয়ার কারণে ঘটে।
  • উচ্চ খরচ (High costs): সাধারণত প্রম্পট অর্ডারিংয়ের ত্রুটির কারণে ঘটে যা ক্যাশিংকে বাধাগ্রস্ত করে।
  • অনিরাপদ কাজ (Unsafe actions): যখন আপনি টুল চালানোর আগে এর আর্গুমেন্টগুলো ভ্যালিডেট করেন না, তখন এটি ঘটে।

মডেল কাজগুলো বেছে নেয়। হারনেস বাস্তবতাকে নিয়ন্ত্রণ করে। আপনি যদি একটি উন্নত সিস্টেম চান, তবে কেবল প্রম্পট পরিবর্তন করলেই হবে না। একটি উন্নত লুপ তৈরি করুন।

উৎস: https://dev.to/pramod_sahu_d5bd2e6de82d1/understanding-the-agent-loop-how-tool-using-llm-systems-actually-work-2mb5

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi