শুরু থেকে AI agent শেখার ধাপে ধাপে পথ
AI agent শেখার ছয়টি পর্যায় অনুসরণ করুন: ধারণা, নিজে লেখা loop, tools, memory, loop design ও safety। প্রতিটি ধাপে একটি ছোট জিনিস তৈরি করে হাতে-কলমে শিখুন।
ছয়টি পর্যায়ের পথ
শুরু থেকে AI agent শিখতে ছয়টি পর্যায় ধারাবাহিকভাবে সম্পন্ন করুন: ধারণা, আপনার প্রথম loop, tools, memory, loop design এবং safety। প্রতিটি পর্যায়ে আপনাকে নিজ হাতে একটি জিনিস তৈরি করতে হবে। আগে এগিয়ে যাওয়া থেমে যাওয়ার সবচেয়ে সাধারণ কারণ। কারণ framework আপনার যে অংশটি দেখা দরকার ছিল, সেটিই আড়াল করে।
AI agent হলো এমন একটি language model-কে ঘিরে থাকা loop, যেটি tools কল করতে পারে। এই বাক্যটিই পুরো বিষয়। এরপরের সবকিছু loop-এ কী থাকবে, tools কোন জিনিসে প্রবেশ করতে পারবে এবং loop ভুলভাবে চললে কীভাবে তা থামাবেন—এসবের বিস্তারিত। আপনি যদি অন্য কাউকে loop-টি ব্যাখ্যা করতে পারেন, তাহলে বিষয়টি শিখেছেন। আপনি যদি শুধু framework-এর নাম বলতে পারেন, তাহলে শেখেননি।
নিচের পরিকল্পনাটি ধরে নেওয়া হয়েছে যে আপনি তৈরি করে শেখেন। একটি পর্যায় পড়ুন, ছোট জিনিসটি তৈরি করুন, ইচ্ছাকৃতভাবে সেটিতে ত্রুটি ঘটান, তারপর পরবর্তী পর্যায়ে যান। যে পর্যায় আপনি শুধু পড়েছেন, সেটি আপনি সম্পন্ন করেননি।
স্টেজ 1-এর আগে আপনার আসলে যা প্রয়োজন
প্রয়োজনীয় পূর্বশর্তের তালিকাটি সংক্ষিপ্ত। বেশিরভাগ কোর্সের পৃষ্ঠা যতটা দাবি করে, এটি তার চেয়েও সংক্ষিপ্ত।
- আপনি পঞ্চাশ লাইনের একটি স্ক্রিপ্ট লেখার ও পড়ার পর্যায়ে Python অথবা TypeScript ব্যবহার করতে পারেন।
- আপনি Linux shell-এ স্বচ্ছন্দ: একটি package ইনস্টল করতে, একটি file সম্পাদনা করতে এবং একটি log পড়তে পারেন।
- আপনার কাছে hosted model-এর একটি API key আছে, অথবা এমন একটি machine আছে যেখানে একটি local model চালানো যায়।
এটাই সম্পূর্ণ তালিকা। আপনার machine learning theory জানা প্রয়োজন নেই। কোনো model train করাও প্রয়োজন নেই। Agent-এর কাজে gradient বা training data জড়িত নয়। আপনি নিজে model চালানোর সিদ্ধান্ত নিলে তবেই graphics card গুরুত্বপূর্ণ। এটি আলাদা একটি দক্ষতা, যা পরে VPS-এ Ollama host করে নিজে LLM চালানো থেকে শিখে নিতে পারেন।
Shell-এর অংশটিকে মানুষ যতটা অবমূল্যায়ন করে, সেটিই আসল বিষয়। Permission, path, environment variable এবং নীরবে বন্ধ হয়ে যাওয়া process-এর কারণে agent ব্যর্থ হয়। PATH অথবা file mode-সম্পর্কিত কোনো stack trace দেখে যদি আপনি terminal বন্ধ করে দেন, তাহলে আগে Linux-এর মৌলিক বিষয়গুলো শেখার জন্য একটি weekend ব্যয় করুন। পরে এটি আপনার এক মাসের সময় বাঁচাবে।
পর্যায় 1: agent কী এবং কী নয়
একটি API call দিয়ে শুরু করুন, কোনো loop ব্যবহার করবেন না। একটি prompt পাঠান, reply প্রিন্ট করুন এবং response-এ token count দেখুন। এখন আপনি cost-এর একক এবং 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 চাওয়া বন্ধ না করা পর্যন্ত সেই exchange পুনরাবৃত্তি করে। পার্থক্যটি সম্পূর্ণভাবে এই পুনরাবৃত্তিতেই, এবং এ কারণেই 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 দিয়ে এটি চালান। সফলভাবে চললে একটি অনুচ্ছেদ মুদ্রিত হবে, যেখানে আপনার filesystems এবং সেগুলোর 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 টুল কাজ করে, কিন্তু প্রকৃত এজেন্টের এমন টুল দরকার যা সিস্টেমের বাইরের পরিষেবায় পৌঁছাতে পারে: একটি টিকিট সিস্টেম, একটি ডেটাবেস, একটি repository। প্রতিটি পরিষেবার জন্য এবং প্রতিটি এজেন্টের জন্য আলাদা 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 ইনস্টল থাকতে হবে, এবং directory argument-ই একমাত্র path যেটিতে server কাজ করতে পারবে। এটিই সংক্ষেপে security model: সীমানা নির্ধারণ করে server, model নয়। কোনো client-কে এর দিকে নির্দেশ করলে আপনার agent এমন file পড়তে ও লিখতে পারবে, যার জন্য আপনি নিজে কোনো code লেখেননি। এগুলো সঠিকভাবে চালানো, service account-এর অধীনে পরিচালনা করা এবং transport-এর পছন্দগুলো ব্যাখ্যা করা হয়েছে AI coding agent-এর জন্য VPS-এ MCP server চালানো-এ।
এই পর্যায়ের শিক্ষা হলো, tool design-ই আসল কাজ। অস্পষ্ট বিবরণ model-কে অনুমান করতে বাধ্য করে। যে tool চল্লিশ হাজার character ফেরত দেয়, তা context window-কে অকার্যকর করে। যে tool জিনিস মুছতে পারে, সেটি শেষ পর্যন্ত জিনিস মুছবেই।
পর্যায় 4: মেমরি, যা মূলত শুধু ফাইল
নবীনরা এই পর্যায়ে vector database ব্যবহার করতে চান। অন্তত এখনই তা করবেন না।
একটি agent কলগুলোর মধ্যে কোনো মেমরি রাখে না। প্রতিবার আপনাকে পুরো conversation আবার পাঠাতে হয়। তাই একটি দীর্ঘ session-এ প্রতি turn-এর খরচ একটি সংক্ষিপ্ত session-এর তুলনায় বেশি হয়। ফলে মেমরি দুটি সমস্যায় বিভক্ত হয়। প্রথমটি হলো এই মুহূর্তে context window-এ কোন তথ্য রাখা যায়। এটি আপনি summarising, পুরোনো tool output ছাঁটাই এবং prompt-এর স্থিতিশীল prefix caching-এর মাধ্যমে পরিচালনা করেন। এতে ওই অংশের জন্য আপনাকে মোট খরচের একটি ভগ্নাংশ দিতে হয়। দ্বিতীয়টি হলো restart-এর পর কোন তথ্য টিকে থাকবে। এটি storage-এর বিষয়।
দ্বিতীয় সমস্যার জন্য, agent যে একটি সাধারণ markdown file পড়তে ও লিখতে পারে, তা প্রায় প্রতিটি প্রথম প্রকল্পে vector database-এর চেয়ে কার্যকর। Agent-কে একটি file দিন, format নির্ধারণ করে দিন, এবং বলুন শুরু করার আগে file-টি পড়তে ও নতুন কিছু শেখার পর তা update করতে। এতে আপনি বেশিরভাগ সুবিধা পাবেন। পাশাপাশি file-টি খুলে agent কী বিশ্বাস করে তা দেখতে পারবেন। Notes context window-এ আর না ধরলে embeddings এবং retrieval ব্যবহার করুন। তার আগে নয়।
পর্যায় 5: লুপই পণ্য
এখন আপনি এমন একটি agent তৈরি করতে পারেন, যা আপনার পর্যবেক্ষণের সময় কাজ করে। পর্যায় 5-এর লক্ষ্য হলো, আপনি না থাকলেও agent-কে কাজ করানো।
চারটি প্রশ্ন নির্ধারণ করে, unattended agent-কে একা চালু রাখা নিরাপদ কি না। কী এটিকে চালু করে, যাতে কোনো কাজ ছাড়াই এটি চলতে না থাকে। এটি কোন সীমার মধ্যে কাজ করে, যাতে ভুলের প্রভাব সীমিত থাকে। ফলাফল কীভাবে যাচাই করা হয়, কারণ নিজের কাজ নিজে মূল্যায়ন করা agent সব সময় উত্তীর্ণ হয়। কোন budget এটিকে থামায়—tokens-এ অথবা wall-clock time-এ। এই চারটি বিষয় ইচ্ছাকৃতভাবে নকশা করাই loop engineering এবং এই সংজ্ঞায় কী অন্তর্ভুক্ত-এ বর্ণিত শৃঙ্খলা।
অনুশীলন: আপনার stage 2 agent নিন, এমন একটি task দিন যার জন্য চার বা পাঁচটি ধাপ প্রয়োজন, এবং একটি hard iteration cap যোগ করুন। এরপর cap সরিয়ে দেখুন, unbounded loop আপনার token bill কীভাবে বাড়ায়। বড় budget-এ ভুল করে এটি চালিয়ে ফেলার ঝুঁকি এড়াতে, প্রথমে ছোট budget-এ একবার পরীক্ষা করুন।
পর্যায় 6: নিরাপত্তা, গোপন তথ্য এবং খরচ
এই পর্যায়টি ঐচ্ছিক নয়। এটি শেষে রয়েছে শুধু এই কারণে যে কাজ করে এমন কিছু তৈরি না করা পর্যন্ত আপনি ঝুঁকির মাত্রা বুঝতে পারবেন না।
agent-কে একটি পৃথক অনধিকারপ্রাপ্ত user হিসেবে চালান। কখনো root হিসেবে বা নিজের account হিসেবে চালাবেন না। এতে ক্ষতির পরিসর পুরো machine-এর বদলে একটি directory-তে সীমাবদ্ধ থাকে। credentials-কে model-এর নাগালের বাইরে রাখুন। কারণ context window-তে থাকা যেকোনো কিছু tool call-এর মাধ্যমে উদ্ধৃত হয়ে বাইরে চলে আসতে পারে। এর সমাধান হলো আপনার AI agent-গুলোর কাছ থেকে গোপন তথ্য দূরে রাখা-এ বর্ণিত helper-এর আড়ালে সীমিত মেয়াদের token ব্যবহার করা। খরচের ওপর একটি কঠোর সীমা নির্ধারণ করুন। কারণ কেউ নজর না রাখলে unattended loop-এর প্রতিটি iteration-এর জন্য বিল তৈরি হয়। খরচ নিয়ন্ত্রণে রাখার caps এবং batching সম্পর্কে সবসময় চালু থাকা VPS-এ AI agent-এর খরচ নিয়ন্ত্রণ-এ বলা হয়েছে।
খরচের ক্ষেত্রে একটি নির্দিষ্ট সংখ্যা দেখা যাক। July 2026 অনুযায়ী, Claude Opus 5 প্রতি million input token-এর জন্য $5 এবং প্রতি million output token-এর জন্য $25 বিল করে। একটি বেশি কথাবলা agent ক্রমশ বড় হওয়া conversation বারবার পাঠালে একটি task-এর মধ্যেই কয়েক hundred thousand token পাঠাতে পারে। Prompt caching এবং নিয়মিত ধাপগুলোর জন্য একটি ছোট model ব্যবহার করা যেকোনো prompt পরিবর্তনের চেয়ে এই হিসাবকে অনেক বেশি বদলে দেয়।
Prompt injection-ও এখানে প্রাসঙ্গিক। আপনার agent যদি কোনো web page, issue tracker বা inbox পড়ে, তাহলে যে ব্যক্তি ওই text লিখেছে, সে আপনার agent-এর জন্য instructions-ও লিখছে। এর প্রতিরোধ কোনো বেশি বুদ্ধিমান system prompt নয়। প্রতিরোধ হলো boundary। কারণ কোনো agent যদি repository delete করতে না পারে, তাহলে তাকে সেটি delete করতে প্ররোচিত করাও যাবে না।
কোন মানচিত্র অনুসরণ করবেন?
একটি পাঠ্যক্রম বেছে নিয়ে সেটি শেষ করুন। ছয়টি পাঠ্যক্রম থেকে অল্প অল্প করে শেখার চেষ্টা করবেন না। Microsoft ai-agents-for-beginners repository-টি সবচেয়ে সম্পূর্ণ বিনামূল্যের পাঠ্যক্রম। এতে 18টি পাঠ রয়েছে এবং July 2026 পর্যন্ত এটি 70,000-এর বেশি star পেয়েছে। এটি উপরের ধাপগুলোর সঙ্গে সহজেই সামঞ্জস্যপূর্ণ। Trending agent repository-গুলোর সংকলন থেকে কী কী আছে তা বোঝা যায়। তবে পাঠ্যক্রম হিসেবে এগুলো অনেক কম কার্যকর। কারণ star অনুযায়ী সাজানো তালিকা জনপ্রিয়তার ভিত্তিতে সাজানো হয়, শেখানোর ক্রম অনুযায়ী নয়।
অনুশীলনের জন্য বাস্তব প্রকল্প চাইলে coding agent দিয়ে শুরু করাই ভালো। এর প্রতিক্রিয়া তাৎক্ষণিক, tool-গুলো স্পষ্ট এবং ভুল সহজে পূর্বাবস্থায় ফেরানো যায়। VPS-এ coding AI agent চালানো-এ একটি agent শুরু থেকে শেষ পর্যন্ত চালানোর পদ্ধতি দেখানো হয়েছে। শূন্য থেকে তৈরি করার পরিবর্তে চালু থাকা system অধ্যয়ন করতে চাইলে সেরা self-hosted AI agent-এর তুলনায় দেখা যাবে, কয়েকটি প্রকল্প একই loop কীভাবে ভিন্নভাবে সমাধান করে।
এটি সম্পন্ন করতে কত সময় লাগে?
যিনি ইতিমধ্যে প্রোগ্রামিং করেন, তাঁর জন্য 1 এবং 2 নম্বর ধাপ একটি সন্ধ্যাতেই সম্পন্ন করা যায়। 3 নম্বর ধাপে একটি সপ্তাহান্ত লাগে। এই সময়ের বেশির ভাগ tool-এর বিবরণে ব্যয় হয়, protocol-এ নয়। 4 এবং 5 নম্বর ধাপে বাস্তব ব্যবহারের কয়েক সপ্তাহ লাগে। কারণ আপনার agent কী ভুলে যায়, তা বোঝার একমাত্র উপায় হলো সেটি ভুলে যাওয়া পর্যবেক্ষণ করা। 6 নম্বর ধাপ কখনো পুরোপুরি শেষ হয় না। আপনি যখনই নতুন কোনো capability দেন, তখনই এই ধাপটি আবার শুরু হয়।
নিয়মিত সন্ধ্যায় দুই মাস সময় দিলে অধিকাংশ মানুষ একটি কার্যকর, সীমাবদ্ধ এবং উপযোগী agent তৈরি করতে পারেন। যারা এক বছর সময় নেন, তাঁরা সাধারণত তৈরি করার বদলে পড়তেই থাকেন।
FAQ
AI agent তৈরি করতে কি machine learning জানা দরকার?
না। Agent তৈরি করার অর্থ হলো একটি API-এর মাধ্যমে model-কে কল করা এবং তার tool-এর অনুরোধগুলোকে বাস্তব function-এর সঙ্গে সংযুক্ত করা। এটি সাধারণ application programming। আপনাকে training, gradients বা datasets নিয়ে কাজ করতে হবে না। আপনার agent কাজ করবে কি না, তা নির্ধারণ করে tools-এর schema design, error handling এবং Linux permissions-এর মতো দক্ষতা। আপনি যদি পরে কোনো model fine tune করতে যান, তখনই machine learning theory প্রাসঙ্গিক হবে। সেটি ভিন্ন কাজ এবং এর prerequisites-ও ভিন্ন।
LangChain বা CrewAI-এর মতো framework দিয়ে কি শুরু করা উচিত?
প্রথমে একটি raw loop লিখুন। এরপর framework ব্যবহার করুন। Framework stage 2-এর ত্রিশটি line-কে একটি configuration object দিয়ে প্রতিস্থাপন করে। আপনি কী প্রতিস্থাপন করছেন তা জানলে এটি সুবিধাজনক। তার আগে এটি বিভ্রান্তিকর হতে পারে। আপনার agent ভুল আচরণ করলে message list এবং tool results সরাসরি বিশ্লেষণ করতে হবে। এগুলো আগে না দেখলে কাজটি অনেক কঠিন হয়। নিজের একটি loop তৈরি করার পর framework প্রক্রিয়াটি আড়াল না করে আপনার সময় বাঁচাবে।
AI agent শেখার খরচ কত?
বেশিরভাগ মানুষের ধারণার চেয়ে কম, যদি আপনি খরচের সীমা নির্ধারণ করেন। একটি hosted API key এবং একটি ছোট VPS এই ছয়টি stage-এর সবকিছুর জন্য যথেষ্ট। প্রকৃত ঝুঁকি hourly rate নয়। আপনি ঘুমানোর সময় একটি সীমাহীন loop প্রতিটি iteration-এর জন্য বিল তৈরি করতে পারে। প্রথম দিনেই আপনার API account-এ একটি কঠোর spend limit নির্ধারণ করুন। আপনি যে প্রতিটি loop লিখবেন তাতে iteration cap যোগ করুন। নিয়মিত কাজের জন্য কম খরচের model ব্যবহার করুন। Model locally চালালে token bill থাকে না। এর পরিবর্তে hardware requirement তৈরি হয়।
AI agent এবং chatbot-এর মধ্যে পার্থক্য কী?
একটি chatbot একবার উত্তর দেয়। একটি agent একটি cycle পুনরাবৃত্তি করে: model একটি tool-এর অনুরোধ করে, আপনার code সেটি চালায়, result আবার model-এর কাছে যায়, এবং model পরবর্তী কাজ নির্ধারণ করে। এই পুনরাবৃত্তির কারণে agent কয়েকটি ধাপে একটি task সম্পন্ন করতে পারে। এ কারণেই agent-এর এমন boundaries দরকার, যা chatbot-এর দরকার হয় না। Chatbot-এর ভুল উত্তর হলো একটি খারাপ paragraph। Agent-এর ভুল উত্তর হলো একটি খারাপ paragraph এবং সেটি নিয়ে agent যা করেছে সেটিও।