শুরু থেকে AI agents শেখার ছয় ধাপ
AI agents শেখার বাস্তব পথ: ধারণা থেকে নিজের loop, tools, memory, loop design ও safety পর্যন্ত। প্রতিটি ধাপে কী তৈরি করবেন এবং কোথায় ভুল করবেন তা জানুন।
ছয়টি ধাপে শেখার পথ
শুরু থেকে AI agent শিখতে ছয়টি ধাপ ধারাবাহিকভাবে সম্পন্ন করুন: ধারণা, আপনার প্রথম loop, tools, memory, loop design এবং safety। প্রতিটি ধাপে আপনাকে নিজ হাতে একটি জিনিস তৈরি করতে হবে। আগে এগিয়ে যাওয়াই মানুষ আটকে যাওয়ার সবচেয়ে সাধারণ কারণ, কারণ framework ঠিক সেই অংশটি আড়াল করে ফেলে যা আপনার দেখা দরকার ছিল।
AI agent হলো একটি language model-কে ঘিরে তৈরি loop, যাকে tools কল করার অনুমতি দেওয়া হয়েছে। এই বাক্যটিই পুরো বিষয়ের সারাংশ। এরপরের সবকিছু loop-এর মধ্যে কী থাকবে, tools কোন কোন জিনিসে access করতে পারবে এবং loop ভুল পথে গেলে কীভাবে তা বন্ধ করবেন—এসবের বিস্তারিত। আপনি যদি অন্য কাউকে loop-টি ব্যাখ্যা করতে পারেন, তাহলে বিষয়টি শিখেছেন। আপনি যদি শুধু framework-এর নাম বলতে পারেন, তাহলে এখনো শেখেননি।
নিচের পরিকল্পনাটি ধরে নেওয়া হয়েছে যে আপনি তৈরি করে শেখেন। একটি ধাপ পড়ুন, ছোট জিনিসটি তৈরি করুন, ইচ্ছা করে সেটিতে ত্রুটি ঘটান, তারপর পরের ধাপে যান। যে ধাপ আপনি শুধু পড়েছেন, সেটি এখনো সম্পন্ন করেননি।
stage 1-এর আগে আপনার যা আসলে প্রয়োজন
বাস্তব prerequisite-এর তালিকা সংক্ষিপ্ত। বেশিরভাগ course page-এ যে তালিকা দেওয়া হয়, এটি তার চেয়েও ছোট।
- পঞ্চাশ লাইনের একটি script লেখার ও পড়ার পর্যায়ে আপনি Python বা TypeScript ব্যবহার করতে পারেন।
- আপনি Linux shell-এ স্বচ্ছন্দ: package install করা, file edit করা এবং 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-সংক্রান্ত কোনো stack trace বা file mode দেখে যদি আপনার terminal বন্ধ করে দিতে ইচ্ছে করে, তাহলে আগে Linux-এর মৌলিক বিষয় শেখার জন্য একটি weekend দিন। পরে এটি আপনার এক মাস সময় বাঁচাবে।
ধাপ 1: agent কী এবং কী নয়
একটি API call দিয়ে এবং কোনো loop ছাড়া শুরু করুন। একটি prompt পাঠান, reply print করুন, এবং response-এ token count দেখুন। এখন আপনি cost-এর unit এবং latency-এর unit বুঝতে পারছেন।
তারপর tool ব্যবহারের পদ্ধতি শিখুন। পুরো ক্ষেত্রের মধ্যে এটিই একমাত্র সত্যিকারের নতুন ধারণা। আপনি model-এর কাছে একটি function-এর name, description এবং input-এর জন্য JSON (JavaScript object notation) schema বর্ণনা করেন। model নিজে কিছু চালায় না। এটি একটি structured request-এর মাধ্যমে উত্তর দেয়: এই arguments দিয়ে run_command call করুন। আপনার code function-টি চালায়, output-কে message হিসেবে ফেরত পাঠায় এবং model-কে আবার অনুরোধ করে। model এমন একটি planner, যা text পড়ে এবং text লেখে। আপনার code-ই ওই কাজ করার ক্ষমতা রাখে। এই আদান-প্রদানের আপনার পাশের code-কে design তুলনা শুরু করলে একটি নাম দেওয়া হয়: এটি হলো agent harness—এমন একটি model-কে ঘিরে থাকা loop, tools এবং permissions, যার নিজস্ব কোনো loop, tools বা permissions নেই।
একটি chatbot একটি reply-এর পর থেমে যায়। একটি agent model tool চাওয়া বন্ধ না করা পর্যন্ত এই আদান-প্রদান পুনরাবৃত্তি করে। পুরো পার্থক্য এটিই। তাই failure mode-ও আলাদা হয়। একটি chatbot একবার ভুল answer দেয়। কেউ বুঝতে পারার আগে একটি agent ভুল answer-এর ভিত্তিতে কয়েকবার কাজ করে।
ধাপ 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-কে একটি sentence-এ রূপান্তর করেছে। কিছুই না দেখালে বুঝবেন, text block আসার আগেই loop শেষ হয়েছে। loop-এর ভেতরে print(response.stop_reason) যোগ করুন এবং মানগুলো কীভাবে বদলায় তা দেখুন।
এবার ইচ্ছাকৃতভাবে এটি নষ্ট করুন। tool_use_id line মুছে error পড়ুন। matching id ছাড়া tool result API প্রত্যাখ্যান করে, এবং এটি beginner-দের সবচেয়ে সাধারণ bug। এমন একটি question করুন যার জন্য দুটি command দরকার, এবং দেখুন loop দুবার চলে। এমন কিছু জিজ্ঞেস করুন যা করা সম্ভব নয়, এবং দেখুন এটি হয় থেমে যায়, নয়তো অনির্দিষ্টকাল চলতে থাকে।
এই example নিয়ে একটি সতর্কতা আছে। এখানে model output সরাসরি shell-এ shell=True দিয়ে পাঠানো হয়েছে। পুনর্নির্মাণ করা যায় এমন scratch 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 install করা থাকতে হবে। Directory argument-ই একমাত্র path, যেটিতে server access করবে। এটিই এই security model-এর সংক্ষিপ্ত রূপ: boundary নির্ধারণ করে server, model নয়। কোনো client-কে এর দিকে নির্দেশ করলে আপনার agent এমন file পড়া ও লেখার ক্ষমতা পায়, যার জন্য আপনাকে নিজে কোনো code লিখতে হয়নি। এগুলো service account-এর অধীনে সঠিকভাবে চালানো এবং transport-এর পছন্দগুলো ব্যাখ্যা করা হয়েছে AI coding agent-এর জন্য VPS-এ MCP server চালানো-এ। Scratch directory-এর বদলে বাস্তব data-তে নির্দেশ করা দ্বিতীয় server-এর জন্য openGym self-host করা, একটি workout tracker একটি read-only server সরবরাহ করে। এর সাহায্যে agent-কে এমন কিছু করার ক্ষমতা না দিয়েই নিজের training history সম্পর্কে প্রশ্ন করার অনুশীলন করতে পারবেন, যা data নষ্ট করতে পারে।
এই পর্যায়ের মূল শিক্ষা হলো, tool design-ই আসল কাজ। অস্পষ্ট description থাকলে model অনুমান করে। কোনো tool 40000 character ফেরত দিলে context window-এর কার্যকারিতা নষ্ট হয়। কোনো tool যদি data মুছতে পারে, শেষ পর্যন্ত সেটি data মুছবেই।
পর্যায় 4: memory, যা মূলত file
শিক্ষানবিশরা এখানে vector database ব্যবহার করতে চান। অন্তত এখনই তা করবেন না।
একটি agent-এর call-এর মধ্যে কোনো memory থাকে না। প্রতিবার আপনাকে পুরো conversation আবার পাঠাতে হয়। এ কারণে দীর্ঘ session-এর প্রতিটি turn-এর খরচ ছোট session-এর তুলনায় বেশি হয়। তাই memory-কে দুটি সমস্যায় ভাগ করা যায়। প্রথমটি হলো এই মুহূর্তে context window-এ কী রাখা যায়। এটি আপনি summarising, পুরোনো tool output ছাঁটাই এবং prompt-এর স্থিতিশীল prefix cache করে পরিচালনা করেন। এতে ওই prefix-এর জন্য আপনাকে মূল খরচের একটি অংশ দিতে হয়। দ্বিতীয়টি হলো restart-এর পর কী টিকে থাকে। সেটি হলো storage।
দ্বিতীয় সমস্যার জন্য, agent যে একটি সাধারণ markdown file পড়তে ও লিখতে পারে, তা প্রায় সব প্রথম project-এর ক্ষেত্রে vector database-এর চেয়ে কার্যকর। তাকে একটি file দিন, format নির্ধারণ করে দিন, এবং বলুন কাজ শুরুর আগে file-টি পড়তে ও নতুন কিছু শেখার পর সেটি update করতে। এতে অধিকাংশ সুবিধা পাবেন এবং file খুলে agent কী বিশ্বাস করে তা দেখতে পারবেন। Notes context window-এ আর না ধরলে embeddings ও retrieval ব্যবহার করুন, তার আগে নয়।
পর্যায় 5: লুপই পণ্য
এখন পর্যন্ত আপনি এমন একটি agent তৈরি করতে পারেন, যা আপনার পর্যবেক্ষণের সময় কাজ করে। পর্যায় 5-এর লক্ষ্য হলো, আপনি না থাকলেও সেটিকে কাজ করানো।
কোনো 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-টিকে নিজস্ব unprivileged user হিসেবে চালান। কখনো root বা নিজের account হিসেবে চালাবেন না। এতে সম্ভাব্য ক্ষতির পরিসর পুরো machine-এর বদলে একটি directory-তে সীমাবদ্ধ থাকে। Credentials model-এর নাগালের বাইরে রাখুন। Context window-তে থাকা যেকোনো কিছু tool call-এর মাধ্যমে উদ্ধৃত হয়ে বাইরে পাঠানো যেতে পারে। এর সমাধান হলো helper-এর আড়ালে স্বল্পমেয়াদি, সীমিত-পরিধির token ব্যবহার করা। এ বিষয়ে আপনার AI agent থেকে secrets দূরে রাখা দেখুন। খরচের ওপর একটি কঠোর সীমা নির্ধারণ করুন। কারণ unattended loop-এর প্রতিটি iteration-এর জন্য কেউ নজর না রাখলেও bill তৈরি হয়। এই loop নিয়ন্ত্রণে রাখার caps ও batching সম্পর্কে সবসময় চালু থাকা VPS-এ AI agent-এর খরচ নিয়ন্ত্রণ দেখুন।
আপনার agent নিজে লেখা script-এর বদলে কোনো harness-এর ভিতরে চললে, এই ধাপের কিছু অংশ code নয়, configuration হিসেবে করতে হবে। ইনস্টল করার মতো DeepSeek Harness plugin-এ budget cap, tool permission rule এবং injection scanning-সহ একই ধরনের অনেক ব্যবস্থা রয়েছে।
খরচ বোঝাতে একটি নির্দিষ্ট সংখ্যা দেখা যাক। July 2026 অনুযায়ী, Claude Opus 5 প্রতি million input token-এর জন্য $5 এবং প্রতি million output token-এর জন্য $25 charge করে। ক্রমশ বড় হওয়া conversation বারবার পাঠালে একটি chatty agent একটি task-এ কয়েক hundred thousand token ব্যবহার করতে পারে। Prompt caching এবং routine step-এর জন্য ছোট model ব্যবহার করা, prompt সামান্য পরিবর্তন করার চেয়ে এই হিসাব অনেক বেশি বদলে দেয়।
Prompt injection-ও এই ধাপের অন্তর্ভুক্ত। আপনার agent কোনো web page, issue tracker বা inbox পড়লে, সেই text যে লিখেছে সে আপনার agent-এর জন্য instruction-ও লিখছে। Web search সাধারণত প্রথম যে tool এই পথ খুলে দেয়। আপনার নিজস্ব SearXNG instance-এ agent নির্দেশ করা-এ wiring এবং এর তৈরি injection surface পাশাপাশি দেখানো হয়েছে। প্রতিরক্ষা হিসেবে আরও clever system prompt যথেষ্ট নয়। আসল প্রতিরক্ষা হলো boundary। কারণ কোনো agent কোনো repository delete করতে না পারলে তাকে প্ররোচিত করেও সেটি delete করানো যাবে না।
কোন শেখার পথ অনুসরণ করবেন?
একটি curriculum বেছে নিয়ে সেটি শেষ করুন। ছয়টি curriculum থেকে অল্প অল্প করে শেখার চেষ্টা করবেন না। Microsoft ai-agents-for-beginners repository-টি সবচেয়ে সম্পূর্ণ বিনামূল্যের resource। এতে আঠারোটি lesson রয়েছে এবং July 2026 পর্যন্ত এটি 70,000-এর বেশি star পেয়েছে। উপরের ধাপগুলোর সঙ্গে এটি সহজেই মিলে যায়। Trending agent repository-এর roundup-গুলো কী কী আছে তা দেখতে কাজে লাগে, কিন্তু syllabus হিসেবে ততটা কার্যকর নয়। কারণ star অনুযায়ী সাজানো তালিকা popularity অনুযায়ী সাজানো হয়, শেখানোর ক্রম অনুযায়ী নয়।
অনুশীলনের জন্য যখন একটি বাস্তব project চান, coding agent দিয়ে শুরু করাই সবচেয়ে ভালো। এতে feedback তাৎক্ষণিক, tool-গুলো স্পষ্ট এবং ভুল সহজে undo করা যায়। একটি VPS-এ coding AI agent চালানো নিবন্ধে একটি agent end to end চালানোর পদ্ধতি দেখানো হয়েছে। শূন্য থেকে তৈরি করার বদলে যদি চালু system অধ্যয়ন করতে চান, সেরা self-hosted AI agent-এর তুলনায় দেখা যাবে, কয়েকটি project একই loop কীভাবে ভিন্নভাবে সমাধান করে।
কত সময় লাগে?
যারা ইতিমধ্যে প্রোগ্রামিং করেন, তাদের জন্য Stage 1 এবং 2 এক সন্ধ্যার কাজ। Stage 3 শেষ করতে একটি weekend লাগে। এই সময়ের বেশির ভাগ protocol-এর চেয়ে tool-এর বর্ণনা বুঝতেই ব্যয় হয়। Stage 4 এবং 5 বাস্তব ব্যবহারের কয়েক সপ্তাহে সম্পন্ন হয়। কারণ আপনার agent কী ভুলে যায়, তা সে ভুলে যাওয়ার সময় monitor করলেই শেখা যায়। Stage 6 পুরোপুরি শেষ হয় না। আপনি যখনই নতুন কোনো capability দেন, তখনই এর কাজ আবার শুরু হয়।
টানা দুই মাস সন্ধ্যায় কাজ করলে বেশির ভাগ মানুষ একটি কার্যকর, নির্দিষ্ট সীমার মধ্যে থাকা এবং ব্যবহারযোগ্য agent তৈরি করতে পারেন। যারা এক বছর সময় নেন, তারা সাধারণত build করার বদলে পড়তেই থাকেন।
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 প্রাসঙ্গিক হবে। এটি ভিন্ন কাজ এবং এর prerequisite-ও ভিন্ন।
LangChain বা CrewAI-এর মতো framework দিয়ে কি শুরু করা উচিত?
প্রথমে একটি raw loop লিখুন। তারপর framework ব্যবহার করুন। Framework stage 2-এর ত্রিশটি line-কে একটি configuration object দিয়ে প্রতিস্থাপন করে। আপনি কী প্রতিস্থাপন করছেন তা জানলে এটি সুবিধাজনক। তার আগে এটি বিভ্রান্তিকর হতে পারে। আপনার agent ভুল আচরণ করলে message list এবং tool result সরাসরি বিশ্লেষণ করতে হবে। এগুলো আগে না দেখলে কাজটি অনেক কঠিন হয়। নিজের একটি loop লেখার পর framework প্রক্রিয়াটি আড়াল না করে আপনার সময় বাঁচায়।
AI agent শেখার খরচ কত?
বেশির ভাগ মানুষ যতটা ভাবেন, তার চেয়ে কম—যদি খরচের সীমা নির্ধারণ করেন। একটি hosted API key এবং ছোট একটি VPS এই ছয়টি stage-এর সবকিছুর জন্য যথেষ্ট। প্রকৃত ঝুঁকি hourly rate নয়। ঝুঁকি হলো আপনি ঘুমিয়ে থাকলেও একটি সীমাহীন loop প্রতিটি iteration-এর জন্য billing তৈরি করতে পারে। প্রথম দিনেই আপনার 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-এর এমন boundary প্রয়োজন, যা chatbot-এর প্রয়োজন হয় না। Chatbot-এর ভুল উত্তর একটি খারাপ paragraph। Agent-এর ভুল উত্তর হলো একটি খারাপ paragraph এবং সেটি নিয়ে agent যা করেছে সেটিও।