arrow_backফিল্ড নোটে ফিরুন
AI প্রকাশিত 5 Aug 2026

একটি কাজকর্মী AI এজেন্ট তৈরি করুন: একটি ব্যবহারিক পরিভাষা

একটি AI এজেন্ট আসলে কী, এটি কীভাবে একটি চ্যাটবট থেকে আলাদা, এবং একটি কাজকর্মী তৈরি করার জন্য আপনার প্রয়োজনীয় উপাদান।

একটি AI এজেন্ট হল একটি প্রোগ্রাম যা একটি লক্ষ্য নেয়, পদক্ষেপের একটি ক্রম সিদ্ধান্ত নেয়, এবং লক্ষ্য পূরণ না হওয়া পর্যন্ত বা এটি হাল ছাড়া না দেওয়া পর্যন্ত সরঞ্জাম ব্যবহার করে সেই পদক্ষেপগুলি সম্পাদন করে। একটি চ্যাটবট থেকে এটি আলাদা, যা শুধুমাত্র বার্তায় প্রতিক্রিয়া জানায়। একটি এজেন্ট পরিকল্পনা করে, ফাংশন কল করে, ফলাফল পরীক্ষা করে, এবং সমন্বয় করে। যদি আপনি শুধুমাত্র একটি ব্রাউজারের মাধ্যমে ChatGPT ব্যবহার করেছেন, আপনার প্রথম এজেন্ট তৈরি করা সেই যেখানে মডেল একটি টেক্সট জেনারেটর হওয়া বন্ধ করে এবং একটি বৃহত্তর সিস্টেমে একটি উপাদান হওয়া শুরু করে।

মূল লুপ

প্রতিটি এজেন্ট, যাই হোক না কেন এটি কীভাবে বিপণন করা হোক না কেন, একই লুপের কিছু সংস্করণ চালায়: পর্যবেক্ষণ, চিন্তা, কাজ, পুনরাবৃত্তি। নির্দিষ্টভাবে:

  1. এজেন্ট একটি টাস্ক পায় ("পরের মাসে লিসবনে সবচেয়ে সস্তা ফ্লাইট খুঁজুন এবং একটি ইমেল সারসংক্ষেপ খসড়া করুন")।
  2. এটি উপলব্ধ সরঞ্জামগুলির একটি বিবরণ সহ টাস্কের সাথে LLM কল করে।
  3. মডেল হয় একটি চূড়ান্ত উত্তর বা একটি সরঞ্জাম কল ফেরত দেয়, যেমন search_flights(destination="Lisbon", month="2025-06")
  4. আপনার কোড সেই ফাংশন সম্পাদন করে, একটি বাস্তব ফলাফল পায়, এবং এটি মডেলের প্রসঙ্গে ফিড করে।
  5. মডেল সিদ্ধান্ত নেয় পরবর্তী কী করতে: অন্য একটি সরঞ্জাম কল করুন, স্পষ্টতা চান, বা শেষ করুন।

এই প্যাটার্ন প্রায়শই ReAct লুপ বলা হয় (কারণ যোগ করা কাজ), এবং এটি LangChain এর এজেন্ট এক্সিকিউটর, LlamaIndex এজেন্ট, এবং OpenAI এর ফাংশন-কলিং API এর মতো ফ্রেমওয়ার্কের মেরুদণ্ড। আপনি Python এর 100 লাইনের কম দিয়ে একটি LLM API এবং একটি while লুপ দিয়ে পুরো জিনিস নিজেই প্রয়োগ করতে পারেন — ফ্রেমওয়ার্কগুলি সুবিধা যোগ করে, জাদু নয়।

সরঞ্জাম এটিকে একটি এজেন্ট তৈরি করে

সরঞ্জাম ছাড়া একটি মডেল শুধুমাত্র কথা বলতে পারে। এটিকে ফাংশন দিন এবং এটি কাজ করতে পারে। সরঞ্জামগুলি সাধারণত সাধারণ Python ফাংশন যা একটি স্কিমা সহ মোড়ানো, যা তাদের নাম, প্যারামিটার, এবং উদ্দেশ্য বর্ণনা করে, যাতে মডেল জানে কখন এবং কীভাবে সেগুলি কল করতে হয়। উদাহরণ:

def get_weather(city: str) -> str:
    """Return current weather for a given city."""
    resp = requests.get(f"https://api.weather.example/v1/{city}")
    return resp.json()["summary"]

OpenAI এর ফাংশন-কলিং এর সাথে, আপনি এই ফাংশনের সাথে একটি JSON স্কিমা পাস করেন, এবং মডেল একটি কাঠামোগত কল আউটপুট করে যেমন {"name": "get_weather", "arguments": {"city": "Lisbon"}} ফ্রিফর্ম টেক্সটের পরিবর্তে। আপনার কোড এটি পার্স করে, বাস্তব ফাংশন চালায়, এবং ফলাফল কথোপকথনে একটি নতুন বার্তা হিসাবে ফেরত দেয়। মডেলের উত্তর দিতে যথেষ্ট তথ্য না হওয়া পর্যন্ত পুনরাবৃত্তি করুন।

মেমরি এবং অবস্থা

একটি একক API কল তার প্রসঙ্গ উইন্ডোর বাইরে কোনো মেমরি নেই। এজেন্টদের স্পষ্ট অবস্থার প্রয়োজন: একটি চলমান বার্তা তালিকা (কথোপকথন ইতিহাস), এবং প্রায়শই দীর্ঘমেয়াদী সত্যের জন্য একটি আলাদা স্টোর। স্বল্প টাস্কের জন্য, কথোপকথন প্রতিনিধিত্ব করে dict এর একটি Python তালিকা যথেষ্ট। এজেন্টদের জন্য যারা সেশন জুড়ে জিনিস মনে রাখতে প্রয়োজন, আপনি একটি ভেক্টর ডাটাবেস (Chroma, Pinecone, Qdrant) এর জন্য পৌঁছাবেন এম্বেডিং এর মাধ্যমে প্রাসঙ্গিক অতীত তথ্য সংরক্ষণ এবং পুনরুদ্ধার করতে।

এটি শুরুতে অতিরিক্ত-প্রকৌশল করবেন না। অবাক করার মতো সংখ্যক "এজেন্ট" প্রকল্প ব্যর্থ হয় না কারণ LLM দুর্বল বরং কারণ অবস্থা ব্যবস্থাপনা অলস: সদৃশ বার্তা, সীমাহীন প্রসঙ্গ বৃদ্ধি, বা কোন সরঞ্জাম কল কোন ফলাফল অন্তর্গত তার ট্র্যাক হারানো।

একটি ন্যূনতম কাজকর্মী উদাহরণ

এখানে OpenAI এর API ব্যবহার করে একটি কঙ্কালীয় এজেন্টের আকৃতি, কোনো ফ্রেমওয়ার্ক নেই:

messages = [{"role": "user", "content": "What's the weather in Lisbon?"}]

while True:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=messages,
        tools=[weather_tool_schema],
    )
    msg = response.choices[0].message
    if msg.tool_calls:
        for call in msg.tool_calls:
            result = get_weather(**json.loads(call.function.arguments))
            messages.append(msg)
            messages.append({
                "role": "tool",
                "tool_call_id": call.id,
                "content": result,
            })
    else:
        print(msg.content)
        break

এটি একটি বাস্তব, কার্যকর এজেন্ট। বাকি সবকিছু — পরিকল্পনা কৌশল, মাল্টি-এজেন্ট সমন্বয়, পুনরুদ্ধার পাইপলাইন — এই লুপে নির্মিত।

এটি কোথায় ভাঙে

এজেন্টগুলি অনুমানযোগ্য উপায়ে ব্যর্থ হয়: অসীম সরঞ্জাম-কল লুপ যখন মডেল বলতে পারে না এটি সফল হয়েছে, অলীলা ফাংশন যুক্তি, এবং পুনরায় কলিং ব্যয়বহুল সরঞ্জামগুলির থেকে পালিয়ে যাওয়া খরচ। লুপের বিরুদ্ধে গার্ড একটি কঠোর পুনরাবৃত্তি ক্যাপ সহ (বলুন, 10 পদক্ষেপ) এবং উন্নয়ন চলাকালীন প্রতিটি সরঞ্জাম কল লগ করুন। যে কিছু একটি বাস্তব সিস্টেম স্পর্শ করে তা সম্পাদনের আগে যুক্তি যাচাই করুন — একটি এজেন্ট যা ইমেল পাঠাতে বা শেল কমান্ড চালাতে পারে সেই একই ইনপুট স্যানিটেশন প্রয়োজন যা আপনি ব্যবহারকারী-মুখী কোডে প্রয়োগ করবেন, কারণ LLM, কার্যত, একটি অবিশ্বস্ত ব্যবহারকারী সেই ইনপুট তৈরি করছে।

পরবর্তীতে কোথায় যাবেন

লুপ কাজ করার পরে, আকর্ষণীয় সমস্যা শুরু হয়: একক-এজেন্ট এবং মাল্টি-এজেন্ট ডিজাইনগুলির মধ্যে পছন্দ করা, কত স্বায়ত্ত অনুমতি দেওয়া সিদ্ধান্ত নেওয়া, এবং এজেন্টগুলি নির্ভরযোগ্যভাবে পরীক্ষা করা যখন তাদের আউটপুট নির্ধারক নয়। Korra Studio এর AI এবং Python ট্র্যাক আরও গভীরভাবে পুনরুদ্ধার-বর্ধিত প্রজন্ম, প্রম্পট ডিজাইন, এবং সরঞ্জাম-কলিং প্যাটার্ন কভার করে যদি আপনি এখান থেকে নির্মাণ চালিয়ে যেতে চান।

AI সহায়তায় লেখা, পর্যালোচনা ও প্রকাশ করেছেন Michal Pilch (CISSP), Korra Studio।

আরও এগোতে প্রস্তুত?

এটি Korra Studio-র নলেজ বেস থেকে একটি নোট — প্ল্যাটফর্মটি প্রতিটি বিষয়কে ১-এর-সাথে-১ মেন্টরিংয়ের সাথে জুড়ে দেয়।

বিনামূল্যে শুরু করুনarrow_forward