একটি বড় ভাষা মডেল (LLM) এককভাবে শুধু টেক্সট জেনারেট করতে পারে, কিন্তু যখন তাকে বাস্তব জগতের API কল করতে, ডেটাবেস অনুসন্ধান করতে, বা ধাপে ধাপে কোনো জটিল কাজ সম্পন্ন করতে হয়, তখনই সামনে আসে এআই এজেন্টের ধারণা। এআই এজেন্ট হচ্ছে এমন একটি সিস্টেম যা LLM-কে কেন্দ্র করে চারপাশে টুল, মেমরি ও পরিকল্পনা-ক্ষমতা যুক্ত করে স্বয়ংক্রিয় সিদ্ধান্ত নিতে পারে। এই লেখায় আমরা এজেন্টের সংজ্ঞা, এর অভ্যন্তরীণ গঠন, কাজ করার প্রক্রিয়া এবং বাস্তব প্রয়োগের সেরা অনুশীলনগুলো স্পষ্ট করব।
এআই এজেন্ট কী?
একটি এআই এজেন্ট হলো স্বয়ংসম্পূর্ণ সফটওয়্যার ইউনিট যা LLM-কে “মস্তিষ্ক” হিসেবে ব্যবহার করে কোনো লক্ষ্য অর্জনের জন্য প্রয়োজনীয় পদক্ষেপ নিজে নিজেই নির্ধারণ ও সম্পাদন করে। এটি শুধু ইনপুট-আউটপুট প্যাটার্ন নয়; বরং পরিবেশ থেকে তথ্য নেওয়া, চিন্তা করা, টুল ব্যবহার করা, এবং ফলাফল যাচাই করার একটি চক্রাকার প্রক্রিয়া অনুসরণ করে।
প্রচলিত চ্যাট-ভিত্তিক অ্যাপ্লিকেশনের তুলনায় এজেন্টের প্রধান পার্থক্য হলো এর স্বয়ংক্রিয় পদক্ষেপ গ্রহণের ক্ষমতা। যেখানে সাধারণ এলএলএম ব্যবহারকারীর প্রতিটি প্রম্পটের উত্তরে থেমে যায়, সেখানে এজেন্ট পরপর একাধিক ধাপ সম্পাদন করে, মধ্যবর্তী ফলাফল বিশ্লেষণ করে এবং প্রয়োজনে নিজের পূর্ববর্তী সিদ্ধান্ত সংশোধন করে। এই আচরণটিকে অনেক সময় “ReAct” (Reason + Act) প্যাটার্নও বলা হয়।
একটি এজেন্টের প্রধান উপাদানগুলো হলো:
- LLM ইঞ্জিন: যে কোনো ইনপুট থেকে পরবর্তী চিন্তা বা কাজের সিদ্ধান্ত নেয়।
- টুল সেট: যেমন ক্যালকুলেটর, সার্চ API, কোড এক্সিকিউটর, ডেটাবেস ক্লায়েন্ট।
- মেমরি: স্বল্পমেয়াদি (চলতি সেশনের কথোপকথন) এবং দীর্ঘমেয়াদি (ভেক্টর ডেটাবেসে সংরক্ষিত জ্ঞান)।
- প্ল্যানিং মডিউল: জটিল কাজ ভেঙে ছোট ছোট ধাপে সাজানো এবং অগ্রাধিকার নির্ধারণ।
কেন এআই এজেন্ট প্রয়োজন?
একা LLM-কে দিয়ে সরাসরি বাস্তব সমস্যার সমাধান করাতে গেলে বেশ কিছু সীমাবদ্ধতা চোখে পড়ে: সর্বশেষ আপ-টু-ডেট তথ্যের অভাব, গণনার ভুল, এবং বাইরের সিস্টেমের সাথে যোগাযোগ না করতে পারা। এজেন্ট এই ফাঁকগুলো পূরণ করে।
প্রথমত, এজেন্ট তথ্যের সতেজতা নিশ্চিত করে। যেমন, একটি সার্চ ইঞ্জিনকে টুল হিসেবে যুক্ত করলে এজেন্ট রিয়েল-টাইম ডেটা টেনে নিয়ে LLM-এর উত্তরকে ভিত্তি দেয়, যাকে Retrieval-Augmented Generation (RAG) বা টুল-ইউজ বলা হয়। দ্বিতীয়ত, এটি বিশ্বাসযোগ্যতা বাড়ায়: গণনার কাজটি LLM নিজে মুখস্থ করার বদলে একটি ক্যালকুলেটর টুলের মাধ্যমে করে, ফলে ভুলের আশঙ্কা কমে।
তৃতীয় প্রয়োজনটি হলো জটিল কর্মপ্রবাহ অটোমেশন। একটি একক প্রম্পটে “আমার ইনবক্সের অরগানাইজ না করা ইমেলগুলো থেকে মিটিংয়ের অনুরোধ বের করে ক্যালেন্ডারে বসাও” বললে এলএলএম শুধু টেক্সট দেবে; কিন্তু এজেন্ট ধাপে ধাপে ইমেল API কল করবে, কনটেন্ট পার্স করে তারিখ-সময় খুঁজবে, তারপর ক্যালেন্ডার API-তে ইভেন্ট তৈরি করবে। এই মাল্টি-স্টেপ স্বয়ংক্রিয়তা ছাড়া বড় অটোমেশন সম্ভব নয়।
উপরন্তু, এজেন্ট নিজের ভুল ধরতে ও সংশোধন করতে পারে। একটি রেজাল্ট প্রত্যাশামতো না এলে এজেন্ট আবার চিন্তা করে নতুন পদ্ধতিতে টুল কল করতে পারে, যা সাধারণ LLM আমন্ত্রণ ছাড়া করতে পারে না।
এআই এজেন্ট কীভাবে কাজ করে?
একটি সাধারণ এআই এজেন্ট একটি লুপের ভেতর দিয়ে চলে: পর্যবেক্ষণ → চিন্তা → কাজ → পর্যবেক্ষণ। নিচের পাইথন স্নিপেটটি একটি ন্যূনতম এজেন্ট লুপ দেখায় যেখানে OpenAI-এর ফাংশন কলিং ব্যবহার করে একটি ক্যালকুলেটর টুল যুক্ত করা হয়েছে।
import openai, json
def calculator(expression: str) -> str:
try:
return str(eval(expression, {"__builtins__": None}, {}))
except Exception as e:
return f"Error: {str(e)}"
tools = [
{
"type": "function",
"function": {
"name": "calculator",
"description": "Evaluate a mathematical expression",
"parameters": {
"type": "object",
"properties": {
"expression": {"type": "string", "description": "Math expression"}
},
"required": ["expression"]
}
}
}
]
messages = [{"role": "user", "content": "What is (12*15)+340?"}]
while True:
response = openai.chat.completions.create(
model="gpt-4", messages=messages, tools=tools
)
msg = response.choices[0].message
if not msg.tool_calls:
break
for tool_call in msg.tool_calls:
func_name = tool_call.function.name
args = json.loads(tool_call.function.arguments)
if func_name == "calculator":
result = calculator(args["expression"])
messages.append(msg)
messages.append({
"role": "tool",
"tool_call_id": tool_call.id,
"content": result
})
final_answer = response.choices[0].message.content
print(final_answer)
উপরের কোডের লুপটি দেখায় কিভাবে LLM একটি টুল কলের অনুরোধ জানায় এবং এজেন্ট সেটি বাস্তবায়ন করে আবার মডেলকে ফলাফল পাঠায়। যতক্ষণ না মডেল কেবল টেক্সট উত্তর দেয়, ততক্ষণ এই চক্র চলতে থাকে। বাস্তব এজেন্টগুলোতে এর সাথে মেমরি রিড/রাইট, একাধিক টুল, ত্রুটি হ্যান্ডলিং এবং সর্বোচ্চ স্টেপ লিমিট যুক্ত থাকে।
এজেন্টের চিন্তা প্রক্রিয়ার একটি গুরুত্বপূর্ণ দিক হলো প্ল্যানিং। জটিল লক্ষ্যকে ছোট সাব-গোলে বিভক্ত করে প্রতিটি সাব-গোলে কোন টুল প্রয়োগ করতে হবে তা নির্ধারণ করা হয়। কিছু ফ্রেমওয়ার্ক (LangChain, CrewAI) এই প্ল্যানিং ও টুল অর্কেস্ট্রেশনের জন্য AgentExecutor বা অনুরূপ রানটাইম সরবরাহ করে, যা ডেভেলপারকে নিজের লুপ না লিখতেও সাহায্য করে।
বাস্তবায়নে সেরা অনুশীলন
এজেন্ট ডিজাইন করার সময় কয়েকটি মূলনীতি মেনে চললে সিস্টেম নির্ভরযোগ্য ও নিয়ন্ত্রণযোগ্য থাকে।
- সুস্পষ্ট সীমানা নির্ধারণ: প্রতিটি টুলের বর্ণনা এতটাই স্পষ্ট হতে হবে যাতে এলএলএম কখনোই অস্পষ্টতার কারণে ভুল টুল বেছে না নেয়। প্যারামিটারের ধরন, সীমা ও প্রয়োজনীয়তা কঠোরভাবে উল্লেখ করুন।
- স্টেপ লিমিট ও টাইমআউট: এজেন্ট যাতে অসীম লুপে আটকে না যায়, সেজন্য সর্বোচ্চ ধাপসংখ্যা ও প্রতি ধাপে টাইমআউট নির্ধারণ করুন। বাস্তব ব্যবস্থায় ১০-১৫ ধাপই যথেষ্ট; তার বেশি লাগলে কাজটিকে নতুন করে ছোট ছোট সাব-টাস্কে ভাগ করা ভালো।
- হিউম্যান-ইন-দ্য-লুপ: গুরুত্বপূর্ণ অর্থনৈতিক বা অপরিবর্তনীয় সিদ্ধান্ত (ইমেইল পাঠানো, অর্থ স্থানান্তর) নেওয়ার আগে এজেন্ট যাতে ব্যবহারকারীর অনুমোদন নেয়, তা নিশ্চিত করুন। এর জন্য একটি
ask_userটুল বা কনফার্মেশন স্টেপ রাখা উপযোগী। - অবজারভেবিলিটি: প্রতিটি এজেন্ট রানের লগ বিস্তারিত রাখুন — কী চিন্তা করেছে, কী টুল কল করেছে, কী রেসপন্স পেয়েছে। এটি ডিবাগিং এবং পরবর্তী প্রম্পট ইঞ্জিনিয়ারিংয়ের জন্য অমূল্য।
- পর্যবেক্ষণ সংকেত সংহত করা: টুলের আউটপুটে স্ট্রাকচার্ড ত্রুটি কোড ও পরিষ্কার বার্তা দিন, যাতে এলএলএম সহজেই বুঝতে পারে কাজটি সফল হয়েছে না আবার চেষ্টা করতে হবে।
সারসংক্ষেপ
এআই এজেন্ট একটি এলএলএম-কেন্দ্রিক সিস্টেম যা বাস্তব জগতের টুল ও ডেটার সাথে সংযোগ ঘটিয়ে স্বয়ংক্রিয় বহু-ধাপীয় সমস্যার সমাধান করে। এটি শুধু কথা বলার মডেলকে একটি কার্যকর অটোমেশন ইঞ্জিনে রূপান্তরিত করে। সঠিক টুল ডিজাইন, স্টেপ-লিমিট, মানবিক অনুমোদন এবং ডিটেইলড লগিং এর মাধ্যমে এই এজেন্টগুলোকে প্রোডাকশন-রেডি করাই একজন ডেভেলপারের প্রধান চ্যালেঞ্জ। এখন যখন আপনি একটি এআই এজেন্টের মৌলিক লুপ ও সেরা অনুশীলন জানেন, তখন নির্দিষ্ট পরিস্থিতিতে এটিকে প্রয়োগ করে LLM-এর ক্ষমতাকে অনেক গুণ বাড়িয়ে নেওয়া সম্ভব।