শুরু থেকে AI agent শেখার ধাপে ধাপে পথ
AI agent শেখার ছয় ধাপের বাস্তব পথ: ধারণা থেকে নিজের loop, tools, memory ও safety পর্যন্ত। প্রতিটি ধাপে কী তৈরি করবেন, তা স্পষ্টভাবে জানুন।
ছয়টি ধাপে শেখার পথ
শুরু থেকে AI agent শিখতে হলে ছয়টি ধাপ ধারাবাহিকভাবে সম্পন্ন করুন: ধারণা, আপনার প্রথম loop, tools, memory, loop design এবং safety। প্রতিটি ধাপে নিজ হাতে একটি জিনিস তৈরি করবেন। এগিয়ে যাওয়ার সবচেয়ে সাধারণ কারণ হলো framework ঠিক সেই অংশটি আড়াল করে, যেটি আপনার বোঝা দরকার ছিল।
AI agent হলো এমন একটি language model-কে ঘিরে তৈরি loop, যেটি tools call করতে পারে। এই বাক্যটিই পুরো বিষয়ের সারাংশ। এরপরের সবকিছু loop-এ কী থাকে, tools কোন জিনিসে access করতে পারে এবং loop ভুল পথে গেলে কীভাবে থামানো যায়—এসবের বিস্তারিত। আপনি যদি অন্য কাউকে loop-টি ব্যাখ্যা করতে পারেন, তাহলে বিষয়টি শিখেছেন। আপনি যদি শুধু framework-এর নাম বলতে পারেন, তাহলে এখনো শেখেননি।
নিচের পরিকল্পনাটি ধরে নেওয়া হয়েছে যে আপনি তৈরি করে শিখবেন। একটি ধাপ পড়ুন, ছোট জিনিসটি তৈরি করুন, ইচ্ছাকৃতভাবে সেটিতে সমস্যা তৈরি করুন, তারপর পরবর্তী ধাপে যান। যে ধাপ আপনি শুধু পড়েছেন, সেটি এখনো সম্পন্ন করেননি।
স্টেজ 1 শুরুর আগে আপনার আসলে যা প্রয়োজন
প্রয়োজনীয় পূর্বশর্তের তালিকা সংক্ষিপ্ত। অধিকাংশ কোর্সের পেজে যে তালিকা দেওয়া হয়, এটি তার চেয়েও ছোট।
- পঞ্চাশ লাইনের একটি script লেখার ও পড়ার মতো পর্যায়ে Python বা TypeScript জানেন।
- Linux shell ব্যবহারে স্বচ্ছন্দ: package install করা, file edit করা এবং log পড়া জানেন।
- একটি hosted model-এর API key আছে, অথবা local model চালাতে পারে এমন একটি machine আছে।
এটাই সম্পূর্ণ তালিকা। আপনার machine learning theory জানা প্রয়োজন নেই। কোনো model train করার অভিজ্ঞতাও প্রয়োজন নেই। Agent নিয়ে কাজ করার ক্ষেত্রে gradient বা training data লাগে না। আপনি নিজে model চালানোর সিদ্ধান্ত নিলে তবেই graphics card প্রয়োজন হবে। এটি আলাদা একটি দক্ষতা, যা পরে self-host করার জন্য VPS-এ Ollama চালানো থেকে শিখে নিতে পারেন।
অনেকে shell-সংক্রান্ত অংশটিকে অবমূল্যায়ন করেন। Permission, path, environment variable এবং নীরবে বন্ধ হয়ে যাওয়া process-এর কারণে agent ব্যর্থ হয়। PATH-সংক্রান্ত কোনো stack trace বা file mode দেখে যদি terminal বন্ধ করে দিতে ইচ্ছা করে, আগে একটি weekend Linux-এর মৌলিক বিষয় শেখার জন্য ব্যয় করুন। পরে এটি আপনার এক মাস সময় বাঁচাবে।
ধাপ 1: agent কী এবং কী নয়
একটি API call দিয়ে শুরু করুন এবং কোনো loop ব্যবহার করবেন না। একটি prompt পাঠান, reply print করুন, এবং response-এ token count দেখুন। এখন আপনি খরচের একক এবং latency-র একক বুঝতে পারবেন।
এরপর tool use শিখুন। পুরো ক্ষেত্রের একমাত্র সত্যিকারের নতুন ধারণা এটিই। একটি function-এর name, description এবং input-এর জন্য JSON (JavaScript object notation) schema হিসেবে model-এর কাছে বর্ণনা দিন। Model নিজে কিছু চালায় না। এটি একটি structured request দিয়ে উত্তর দেয়: এই arguments দিয়ে run_command call করুন। আপনার code function-টি চালায়, output-কে message হিসেবে আবার পাঠায় এবং model-কে পুনরায় জিজ্ঞেস করে। Model হলো এমন একটি planner, যা text পড়ে এবং text লেখে। কাজ করার ক্ষমতা আপনার code-এর হাতে।
একটি chatbot একটি reply-এর পর থেমে যায়। একটি agent model tool চাওয়া বন্ধ না করা পর্যন্ত ওই আদান-প্রদান পুনরাবৃত্তি করে। পার্থক্যটি সম্পূর্ণ এখানেই, এবং failure mode-ও তাই আলাদা। একটি chatbot একবার ভুল উত্তর দেয়। কেউ বুঝতে পারার আগে একটি agent কয়েকবার ভুল উত্তরের ভিত্তিতে কাজ করে।
ধাপ 2: লুপটি নিজে একবার লিখুন
কোনো framework দিয়ে শুরু করবেন না। Python-এ প্রায় ত্রিশ লাইন লিখুন, যাতে এই প্রোগ্রামের কাঠামো আপনার নিজের হয়।
sudo apt update && sudo apt install -y python3-venv
python3 -m venv ~/agent
source ~/agent/bin/activate
pip install anthropic
export ANTHROPIC_API_KEY=your-key-hereimport subprocess
import anthropic
client = anthropic.Anthropic()
tools = [{
"name": "run_command",
"description": "Run a read only shell command and return its output.",
"input_schema": {
"type": "object",
"properties": {"command": {"type": "string"}},
"required": ["command"],
},
}]
messages = [{"role": "user", "content": "How much disk space is free here?"}]
while True:
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=messages,
)
if response.stop_reason != "tool_use":
break
messages.append({"role": "assistant", "content": response.content})
results = []
for block in response.content:
if block.type == "tool_use":
done = subprocess.run(
block.input["command"], shell=True,
capture_output=True, text=True, timeout=10,
)
results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": done.stdout or done.stderr,
})
messages.append({"role": "user", "content": results})
print(next(b.text for b in response.content if b.type == "text"))এটি python3 agent.py দিয়ে চালান। সফলভাবে চললে একটি paragraph প্রদর্শিত হবে, যেখানে আপনার filesystem এবং সেগুলোর free space-এর উল্লেখ থাকবে। এর কারণ, model df -h চেয়েছে, আপনার code সেটি চালিয়েছে, এবং দ্বিতীয় pass ওই table-কে একটি বাক্যে রূপান্তর করেছে। কিছু প্রদর্শিত না হলে text block আসার আগেই loop শেষ হয়েছে। loop-এর ভেতরে print(response.stop_reason) যোগ করুন এবং মানগুলো কীভাবে পরিবর্তিত হয় তা দেখুন।
এবার ইচ্ছাকৃতভাবে একটি ত্রুটি তৈরি করুন। tool_use_id লাইনটি মুছে error পড়ুন। matching id ছাড়া কোনো tool result API গ্রহণ করে না, এবং এটি beginners-এর সবচেয়ে সাধারণ bug। দুটি command প্রয়োজন এমন একটি প্রশ্ন করুন এবং দেখুন loop দুবার চলে। অসম্ভব একটি প্রশ্ন করুন এবং দেখুন এটি হাল ছেড়ে দেয় কি না, অথবা অনির্দিষ্টকাল চলতে থাকে কি না।
এই উদাহরণ সম্পর্কে একটি সতর্কতা আছে। এটি shell=True ব্যবহার করে model-এর output সরাসরি shell-এ পাঠায়। পুনর্নির্মাণ করা যায় এমন একটি পরীক্ষামূলক machine-এ এটি গ্রহণযোগ্য, কিন্তু অন্য সব জায়গায় এটি ভুল পদ্ধতি। Stage 6-এ এর সমাধান দেখানো হয়েছে। loop-এর পেছনের ধারণাগুলো VPS-এ নিজের AI agent তৈরি করা-এ আরও বিস্তারিতভাবে ব্যাখ্যা করা হয়েছে।
পর্যায় 3: এজেন্টের কাছে আগে থেকে না থাকা টুল
আপনার run_command টুলটি কাজ করে, কিন্তু একটি বাস্তব এজেন্টের এমন টুল প্রয়োজন যা সার্ভারের বাইরের সিস্টেমে পৌঁছাতে পারে: ticket system, database এবং repository। প্রতিটি service-এর জন্য এবং প্রতিটি এজেন্টের জন্য আলাদা wrapper তৈরি করা বড় পরিসরে কার্যকর নয়।
Model Context Protocol (MCP) হলো এ ক্ষেত্রে শিল্পে গৃহীত সমাধান। একটি MCP server standard transport-এর মাধ্যমে একগুচ্ছ tool প্রকাশ করে, এবং যেকোনো MCP-aware agent কোনো custom glue ছাড়াই সেগুলো ব্যবহার করতে পারে। Reference filesystem server চালানোর জন্য একটি command-ই যথেষ্ট:
npx -y @modelcontextprotocol/server-filesystem /home/you/projectsএর জন্য Node installed থাকতে হবে, এবং directory argument-ই একমাত্র path যেটিতে server কাজ করতে পারবে। এটিই এই security model-এর সংক্ষিপ্ত রূপ: সীমানা নির্ধারণ করে server, model নয়। কোনো client-কে এর সঙ্গে সংযুক্ত করলে আপনার agent এমন file পড়তে ও লিখতে পারবে, যার জন্য আপনি নিজে কোনো code লেখেননি। এগুলো সঠিকভাবে চালানো, service account-এর অধীনে পরিচালনা করা এবং transport-এর পছন্দগুলো ব্যাখ্যা করা হয়েছে AI coding agent-এর জন্য VPS-এ MCP server চালানো-এ।
এই পর্যায়ের শিক্ষা হলো, tool design-ই আসল কাজ। অস্পষ্ট বর্ণনা model-কে অনুমান করতে বাধ্য করে। চল্লিশ হাজার character ফেরত দেওয়া tool context window-কে অকার্যকর করে। কোনো কিছু delete করতে পারে এমন tool শেষ পর্যন্ত কোনো না কোনো কিছু delete করবেই।
পর্যায় 4: memory, যা মূলত file
এখানে beginners-রা vector database ব্যবহার করতে চান। অন্তত এখনই তা করবেন না।
একটি agent-এর call-এর মধ্যবর্তী সময়ে কোনো memory থাকে না। প্রতিবার পুরো conversation আবার পাঠাতে হয়। এ কারণে একটি দীর্ঘ session-এ প্রতি turn-এর খরচ একটি সংক্ষিপ্ত session-এর চেয়ে বেশি হয়। তাই memory-কে দুটি সমস্যায় ভাগ করা যায়। প্রথমটি হলো এই মুহূর্তে context window-এ কী রাখা যায়। এটি summarise করে, পুরোনো tool output ছেঁটে এবং prompt-এর স্থিতিশীল prefix cache করে পরিচালনা করা যায়। এতে prefix-এর জন্য আপনাকে মোট খরচের একটি অংশ দিতে হয়। দ্বিতীয়টি হলো restart-এর পর কী টিকে থাকে। এটি storage-এর বিষয়।
দ্বিতীয় সমস্যার জন্য, agent যে plain markdown file পড়তে ও লিখতে পারে, সেটি প্রায় প্রতিটি প্রথম project-এর ক্ষেত্রে vector database-এর চেয়ে কার্যকর। তাকে একটি file দিন, format নির্ধারণ করে দিন, এবং বলুন শুরু করার আগে file-টি পড়তে ও নতুন কিছু শিখলে তা update করতে। এতে অধিকাংশ সুবিধা পাওয়া যায় এবং file খুলে agent কী বিশ্বাস করে তা দেখা যায়। Notes context window-এ আর না ধরলে embeddings ও retrieval ব্যবহার করুন, তার আগে নয়।
পর্যায় 5: লুপই পণ্য
এখন পর্যন্ত আপনি এমন একটি agent তৈরি করতে পারেন, যা আপনি পর্যবেক্ষণ করার সময় কাজ করে। পর্যায় 5-এর লক্ষ্য হলো, আপনি উপস্থিত না থাকলেও সেটিকে কাজ করানো।
চারটি প্রশ্ন নির্ধারণ করে unattended agent-কে একা চালিয়ে রাখা নিরাপদ কি না। কী এটি trigger করে, যাতে এটি কোনো কাজ ছাড়াই চালু না হয়। এটি কোন boundary-এর মধ্যে কাজ করে, যাতে কোনো ভুলের প্রভাব সীমিত থাকে। ফলাফল কীভাবে verify করা হয়, কারণ নিজের কাজ নিজে grade করা agent সব সময়ই পাস করে। কোন budget এটিকে থামাবে—tokens-এর হিসাবে অথবা wall clock time-এর হিসাবে। এই চারটি বিষয় ইচ্ছাকৃতভাবে design করাই loop engineering এবং এই সংজ্ঞায় কী অন্তর্ভুক্ত-এ বর্ণিত discipline।
অনুশীলন: আপনার stage 2 agent নিন, এমন একটি task দিন যার জন্য চার বা পাঁচটি step প্রয়োজন, এবং একটি hard iteration cap যোগ করুন। এরপর cap সরিয়ে দেখুন, unbounded loop আপনার token bill কত বাড়ায়। এটি একবার ছোট budget-এ করুন, যাতে বড় budget-এ ভুল করে এমন কাজ না করেন।
ধাপ 6: নিরাপত্তা, গোপন তথ্য এবং খরচ
এই ধাপটি ঐচ্ছিক নয়। এটি শেষে রাখা হয়েছে শুধু এই কারণে যে কার্যকর কিছু তৈরি না করা পর্যন্ত ঝুঁকিটি পুরোপুরি বোঝা যায় না।
Agent-কে নিজস্ব unprivileged user হিসেবে চালান। কখনো root হিসেবে বা নিজের account হিসেবে চালাবেন না। এতে কোনো সমস্যা হলে তার প্রভাব একটি directory-তে সীমাবদ্ধ থাকে, পুরো machine-এ নয়। Credentials model-এর নাগালের বাইরে রাখুন। কারণ context window-তে থাকা যেকোনো তথ্য tool call-এর মাধ্যমে আবার প্রকাশ করা যেতে পারে। এর সমাধান হলো helper-এর আড়ালে স্বল্পমেয়াদি, সীমিত-সুযোগের token ব্যবহার করা, যেমনটি আপনার AI agent থেকে গোপন তথ্য দূরে রাখা-এ বর্ণনা করা হয়েছে। খরচের জন্য একটি কঠোর সর্বোচ্চ সীমা নির্ধারণ করুন। কেউ নজর না রাখলে unattended loop প্রতিটি iteration-এর জন্য বিল তৈরি করে। খরচ নিয়ন্ত্রণে রাখার caps এবং batching সম্পর্কে সবসময় চালু থাকা VPS-এ AI agent-এর খরচ নিয়ন্ত্রণ-এ আলোচনা করা হয়েছে।
খরচ বোঝাতে একটি নির্দিষ্ট সংখ্যা দেখা যাক। July 2026 অনুযায়ী, Claude Opus 5 প্রতি million input token-এর জন্য $5 এবং প্রতি million output token-এর জন্য $25 খরচ করে। একটি chatty agent ক্রমবর্ধমান conversation বারবার পাঠালে একটি task-এর মধ্যেই কয়েক hundred thousand token ব্যবহার করতে পারে। Prompt caching এবং নিয়মিত ধাপের জন্য ছোট model ব্যবহার করা যেকোনো prompt পরিবর্তনের তুলনায় এই হিসাব অনেক বেশি বদলে দেয়।
Prompt injection-ও এই বিষয়ের অন্তর্ভুক্ত। আপনার agent যদি কোনো web page, issue tracker বা inbox পড়ে, তাহলে ওই text যে লিখেছে সে আপনার agent-এর জন্য instructions-ও লিখছে। এর প্রতিরোধ আরও clever system prompt নয়। আসল প্রতিরোধ হলো boundary। কারণ কোনো agent যদি repository delete করতে না পারে, তাহলে তাকে কথা বলে সেটি delete করানোও সম্ভব নয়।
কোন রোডম্যাপ অনুসরণ করবেন?
ছয়টি curriculum থেকে অল্প অল্প করে শেখার বদলে একটি curriculum বেছে নিয়ে সেটি সম্পূর্ণ করুন। Microsoft ai-agents-for-beginners repository-টি সবচেয়ে সম্পূর্ণ বিনামূল্যের resource। এতে eighteen lesson-এর একটি course আছে, যা July 2026 পর্যন্ত 70,000 stars অতিক্রম করেছে এবং উপরের stage-গুলোর সঙ্গে পরিষ্কারভাবে সামঞ্জস্যপূর্ণ। Trending agent repository-গুলোর roundup বিদ্যমান project-গুলো সম্পর্কে ধারণা পেতে উপকারী। তবে syllabus হিসেবে এগুলো অনেক কম কার্যকর, কারণ stars অনুযায়ী সাজানো তালিকা teaching order নয়, popularity অনুযায়ী সাজানো।
বাস্তবে অনুশীলনের জন্য কোনো project বেছে নিতে চাইলে coding agent দিয়ে শুরু করাই সবচেয়ে ভালো। এতে feedback তাৎক্ষণিক, tool-গুলো স্পষ্ট এবং ভুল সহজে undo করা যায়। VPS-এ একটি coding AI agent চালানো-এ শুরু থেকে শেষ পর্যন্ত একটি পদ্ধতি দেখানো হয়েছে। শূন্য থেকে তৈরি করার বদলে চলমান system বিশ্লেষণ করতে চাইলে সেরা self hosted AI agent-এর comparison-এ দেখা যাবে, কয়েকটি project কীভাবে একই loop ভিন্নভাবে সমাধান করে।
এটি সম্পন্ন করতে কত সময় লাগে?
যারা ইতিমধ্যে প্রোগ্রামিং করেন, তাদের জন্য 1 এবং 2 নম্বর ধাপ এক সন্ধ্যাতেই শেষ করা যায়। 3 নম্বর ধাপের জন্য একটি সপ্তাহান্ত লাগে। এর বেশিরভাগ সময় protocol শেখার চেয়ে tool-এর বিবরণ বোঝার পেছনে ব্যয় হয়। 4 এবং 5 নম্বর ধাপ বাস্তব ব্যবহারের কয়েক সপ্তাহে সম্পন্ন হয়। কারণ আপনার agent কী ভুলে যায়, তা বোঝার একমাত্র উপায় হলো সেটিকে ভুলে যেতে দেখা। 6 নম্বর ধাপ পুরোপুরি শেষ হয় না। আপনি যখনই নতুন কোনো capability দেন, তখনই সেটি আবার পর্যালোচনা করতে হয়।
নিয়মিতভাবে দুই মাস সন্ধ্যায় সময় দিলে অধিকাংশ মানুষ একটি কার্যকর, নির্দিষ্ট সীমার মধ্যে থাকা এবং ব্যবহারযোগ্য agent তৈরি করতে পারেন। যারা এক বছর সময় নেন, তারা সাধারণত তৈরি করার বদলে পড়তেই থাকেন।
FAQ
AI agent তৈরি করতে কি machine learning জানা দরকার?
না। Agent তৈরি করার অর্থ হলো API-এর মাধ্যমে একটি model-কে কল করা এবং তার tool request-গুলোকে বাস্তব function-এর সঙ্গে সংযুক্ত করা। এটি সাধারণ application programming। আপনাকে training, gradient বা dataset নিয়ে কাজ করতে হবে না। আপনার agent কাজ করবে কি না, তা নির্ধারণ করে tool-এর schema design, error handling এবং Linux permission। আপনি model fine-tune করতে গেলে machine learning theory প্রাসঙ্গিক হবে। এটি আলাদা কাজ এবং এর prerequisites-ও আলাদা।
LangChain বা CrewAI-এর মতো framework দিয়ে কি শুরু করা উচিত?
প্রথমে একটি raw loop নিজে লিখুন। এরপর framework ব্যবহার করুন। Framework stage 2-এর ত্রিশটি line-কে একটি configuration object দিয়ে প্রতিস্থাপন করে। কী প্রতিস্থাপিত হয়েছে তা জানলে এটি সুবিধাজনক। তার আগে এটি বিভ্রান্তিকর হতে পারে। আপনার agent ভুল আচরণ করলে message list এবং tool result সরাসরি বিশ্লেষণ করতে হবে। এগুলো আগে না দেখলে কাজটি অনেক কঠিন হয়। নিজে একটি loop লেখার পর framework mechanism আড়াল না করে আপনার সময় বাঁচায়।
AI agent শেখার খরচ কত?
খরচ সীমাবদ্ধ রাখলে অধিকাংশ মানুষের ধারণার চেয়ে কম। একটি hosted API key এবং ছোট VPS এই ছয়টি stage-এর সবকিছুর জন্য যথেষ্ট। আসল ঝুঁকি hourly rate নয়। ঝুঁকি হলো আপনি ঘুমানোর সময় একটি সীমাহীন loop প্রতিটি iteration-এর জন্য billing তৈরি করতে পারে। প্রথম দিনেই আপনার API account-এ একটি hard spend limit সেট করুন। আপনি যে প্রতিটি loop লিখবেন, তাতে iteration cap যোগ করুন। নিয়মিত step-এর জন্য সস্তা model ব্যবহার করুন। Model locally চালালে token bill থাকে না। এর পরিবর্তে hardware requirement তৈরি হয়।
AI agent এবং chatbot-এর মধ্যে পার্থক্য কী?
একটি chatbot একবার উত্তর দেয়। একটি agent একটি cycle বারবার চালায়: model একটি tool-এর জন্য request করে, আপনার code সেটি চালায়, result ফেরত যায়, এবং model পরবর্তী কাজ নির্ধারণ করে। এই পুনরাবৃত্তির কারণে agent কয়েকটি step-এ একটি task শেষ করতে পারে। এ কারণেই agent-এর এমন boundary প্রয়োজন, যা chatbot-এর প্রয়োজন হয় না। Chatbot-এর ভুল উত্তর একটি খারাপ paragraph। Agent-এর ভুল উত্তর হলো একটি খারাপ paragraph এবং সেটি নিয়ে agent যা করেছে, সেটিও।