গাইড

স্বয়ংক্রিয় AI এজেন্ট: কীভাবে এজেন্টকে ঘণ্টার পর ঘণ্টা কাজ করতে দেবেন এবং আবর্জনা এড়াবেন

হালনাগাদ: · Skillaria.Top

স্বয়ংক্রিয় AI এজেন্ট ঘণ্টার পর ঘণ্টা মানুষ ছাড়া কাজ করতে পারে, যদি কাজের একটি যন্ত্র-যাচাইযোগ্য লক্ষ্য থাকে, এজেন্ট নিজে স্যান্ডবক্সে আবদ্ধ থাকে ন্যূনতম অনুমতি নিয়ে, অগ্রগতি ডিস্কে সংরক্ষিত থাকে এবং প্রস্তুতির মূল্যায়ন করে টেস্ট ও আলাদা মূল্যায়নকারী, এজেন্ট নিজে নয়। চেষ্টা ও বাজেটের সীমা এবং আটকে গেলে মানুষকে ডাকার নিয়ম বাধ্যতামূলক।

স্বয়ংক্রিয় AI এজেন্ট কী এবং সাধারণ অনুরোধ থেকে এটি কীভাবে আলাদা

এজেন্টের সাথে সাধারণ কাজ ধাপে ধাপে হয়: আপনি একটি প্রম্পট লেখেন, এজেন্ট একটি ধাপ করে, আপনি ফলাফল দেখে ঠিক করেন পরের ধাপ কী। স্বয়ংক্রিয় AI এজেন্ট চলে একটি চক্রে: আপনি একবার বর্ণনা করেন শেষ অবস্থা কেমন হবে, আর তারপর এজেন্ট নিজেই «করা — যাচাই করা — ঠিক করা» পুনরাবৃত্তি করে, যতক্ষণ না লক্ষ্য পূরণ হয় বা বাজেট শেষ হয়। চালু করার পর আপনি উঠে যেতে পারেন।

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

সাধারণ প্রম্পটস্বয়ংক্রিয় চক্র
আপনি কী বলেনএরপর কী করতে হবেশেষ অবস্থা কেমন হবে
এজেন্ট কী করেএকবার সম্পন্ন করেলক্ষ্য পূরণ না হওয়া পর্যন্ত পুনরাবৃত্তি করে
কে ঠিক করে যে কাজ শেষআপনিএকটি যাচাইযোগ্য শর্ত বা আলাদা মূল্যায়নকারী
আপনি কি উঠে যেতে পারেননাহ্যাঁ

একটি গুরুত্বপূর্ণ সতর্কতা: চক্র হারনেসের বিকল্প নয়। হারনেস একটি একক চালনাকে নির্ভরযোগ্য করে, চক্র চালনাগুলোকে ধারাবাহিক করে। দুর্বল হারনেসের ওপর তৈরি চক্র শুধু দ্রুত আবর্জনা উৎপাদন করে।

কোন কাজ স্বয়ংক্রিয় এজেন্টের জন্য উপযুক্ত

প্রথম প্রশ্ন: কাজের কি এমন একটি সমাপ্তির রেখা আছে যা যন্ত্র দিয়ে যাচাই করা যায়? «tests/payments ফোল্ডারের সব টেস্ট পাস করছে», «তালিকার সব ফিচার passing অবস্থায়», «মেট্রিক বেসলাইনের তুলনায় বেড়েছে» — এগুলো উপযুক্ত। «কোড আরও ভালো করো» বা «পেমেন্ট উন্নত করা চালিয়ে যাও» — উপযুক্ত নয়: এমন লক্ষ্যের শেষ নেই, এবং চক্র বাজেট শেষ না হওয়া পর্যন্ত ঘুরতে থাকবে।

চার ধরনের চক্র আলাদা করে দেখা উপযোগী:

  • ধাপে ধাপে — প্রতিটি প্রম্পট আপনি লেখেন; এটি সাধারণ ইন্টারঅ্যাক্টিভ কাজ।
  • লক্ষ্য অনুযায়ী — আপনি লক্ষ্য দেন, থামায় একটি স্বাধীন যাচাই বা বাজেট। ঘণ্টার পর ঘণ্টা চলা স্বয়ংক্রিয় এজেন্ট বলতে এটিই বোঝায়।
  • সময় অনুযায়ী — সময়সূচি অনুযায়ী চালু হয় (যেমন সকালে ব্যর্থ CI বিল্ডের পর্যালোচনা), আপনি হাতে থামান।
  • ইভেন্ট অনুযায়ী — বাইরের ট্রিগার (নতুন issue, ব্যর্থ ডেপ্লয়) চালায়; ইভেন্টের প্রক্রিয়াকরণ শেষ হলে বা পুনরাবৃত্তির সীমায় পৌঁছালে থামে।

প্রায়ই হয় সময়-ভিত্তিক চক্রকে লক্ষ্য-ভিত্তিক চক্রের সাথে গুলিয়ে ফেলা: «প্রতি ১০ মিনিটে পেমেন্ট নিয়ে কাজ চালিয়ে যাও»। সময়সূচির চক্র প্রতিবার নির্দেশনা শূন্য থেকে শুরু করে এবং জানে না আগে কী হয়েছে। যদি কাজের একটি সমাপ্তি থাকে, তাহলে অগ্রগতির স্মৃতিসহ লক্ষ্য-ভিত্তিক চক্র দরকার।

ধাপ ১. স্যান্ডবক্স: এজেন্ট কোথায় ভাঙতে পারে

তত্ত্বাবধান ছাড়া চলা এজেন্ট আজ না হোক কাল কিছু ভুল করবেই: একটি ফাইল মুছবে, একটি মাইগ্রেশন লিখে ফেলবে, ভারী কমান্ড চালাবে। তাই প্রশ্নটি «কীভাবে নিশ্চিত করব সে ভুল করবে না» নয়, বরং «কীভাবে নিশ্চিত করব ভুলের কোনো দাম না লাগে»।

  • আলাদা ওয়ার্কিং কপি। git worktree এজেন্টকে একই রিপোজিটরির ওপর নিজস্ব ফোল্ডার ও শাখা দেয়। মূল শাখায় হাত পড়ে না, একাধিক এজেন্ট একে অপরকে বিঘ্ন করে না, আর ব্যর্থ চালনা একটি কমান্ডে মুছে ফেলা যায়।
  • কন্টেইনার বা ভার্চুয়াল মেশিন। এজেন্টের কমান্ডে পূর্ণ অ্যাক্সেস দরকার হলে তাকে এমন কন্টেইনারে চালান যেখানে হোম ফোল্ডার, কী এবং প্রোডাকশন ডেটাবেসে প্রবেশাধিকার নেই।
  • পরীক্ষার ডেটা। লোকাল ডেটাবেস, পেমেন্ট সিস্টেমের স্যান্ডবক্স, ভুয়া কী। এজেন্টের পরিবেশে একটিও প্রোডাকশন সিক্রেট থাকবে না।
# স্বয়ংক্রিয় চালনার জন্য নিজের শাখা ও ফোল্ডার
git worktree add ../shop-agent -b agent/f03-refunds

# চালনার পর: ফলাফল দেখুন বা বাদ দিন
git -C ../shop-agent log --oneline main..
git worktree remove ../shop-agent

ধাপ ২. অনুমতি: কাজের জন্য যতটুকু লাগে, ততটুকুই

এজেন্ট যত বেশি সময় একা কাজ করে, তার অনুমতি তত সংকীর্ণ হওয়া উচিত। Claude Code-এ অনুমতি settings.json-এ সেট করা হয় (টুল ও কমান্ডের জন্য allow ও deny তালিকা): কাজের জন্য যা দরকার তা স্পষ্ট অনুমতি দিন — টেস্ট চালানো, লিন্টার, ওয়ার্কিং কপিতে ফাইল সম্পাদনা — এবং বিপজ্জনক কিছু নিষেধ করুন: মূল শাখায় push, সিক্রেট নিয়ে কাজ, প্রয়োজন না থাকলে নেটওয়ার্ক কমান্ড।

এমন মোড যেখানে এজেন্ট সব কিছু নিশ্চয়তা প্রশ্ন ছাড়া করে, তা শুধু বিচ্ছিন্ন স্যান্ডবক্সে অনুমোদিত, যেখানে সবচেয়ে খারাপ ফলাফল হলো একটি ফেলে দেওয়া কন্টেইনার। আপনার কী ও রিপোজিটরিতে প্রবেশাধিকার আছে এমন ওয়ার্কস্টেশনে এটি করা উচিত নয়।

যেসব নিষেধ কোনোভাবে ভাঙা যাবে না, সেগুলো টেক্সটের বদলে যান্ত্রিক ব্যবস্থায় রাখুন। নির্দেশনায় লেখা «migrations/-এ হাত দিও না» একটি অনুরোধ মাত্র; এই ফোল্ডারে সম্পাদনা আটকানো একটি হুক, বা ফাইল সিস্টেমের অনুমতি — এটিই গ্যারান্টি।

ধাপ ৩. লক্ষ্য, যাচাই, থামা — শুরুর আগে তিন লাইন

সবচেয়ে সরল কার্যকর চক্র তিনটি জিনিসের ওপর দাঁড়িয়ে থাকে, এবং চালু করার আগে এগুলো লিখে রাখা উচিত, চলার মাঝখানে নয়:

  1. লক্ষ্য — শেষ অবস্থা কেমন।
  2. যাচাই — লক্ষ্য পূরণ হয়েছে কি না তা জানার যন্ত্র-যাচাইযোগ্য উপায়: এমন একটি কমান্ড যা সফলতা বা ব্যর্থতা ফেরত দেয়।
  3. থামার শর্ত — চেষ্টা, সময় বা টাকার সীমা, যার পর লক্ষ্য পূরণ না হলেও চক্র থামে।

এগুলো একটি আলাদা পদ্ধতি-ফাইলে রাখা সুবিধাজনক, যা শুধু মানুষ সম্পাদনা করে। পেমেন্ট ব্যাকএন্ডের একটি উদাহরণ:

# program.md — স্বয়ংক্রিয় চালনার পদ্ধতি

## লক্ষ্য
.agent/feature_list.json-এর সব ফিচার passing অবস্থায়।

## মেট্রিক
passing ফিচারের সংখ্যা। শুধু বাড়ে। রিগ্রেশন = তাৎক্ষণিক রোলব্যাক।

## সীমাবদ্ধতা
- একই সময়ে একটি ফিচার কাজে।
- migrations/ ও infra/ সম্পাদনা নয়।
- লগ ছাড়া নির্ভরতা বদলানো নয়।

## কাজের ক্রম
1. যে প্রথম ফিচারটি passing নয়, সেটি নাও।
2. বাস্তবায়ন করো, pytest ও লিন্টার চালাও।
3. সবুজ হলে — কমিট এবং .agent/progress.md-এ লেখা। লাল হলে — ঠিক করো।

## থামা ও এসকালেশন
- একটি ফিচারে ৩ ব্যর্থ চেষ্টা — blocked চিহ্ন দিয়ে পরেরটিতে যাও।
- বাকি সব blocked — থেমে রিপোর্ট লেখো।
- গ্রাহকের টাকা, অ্যাক্সেস অধিকার বা ডেটা মুছে ফেলা নিয়ে যেকোনো কাজ — করো না, মানুষের কাছে পাঠাও।

ধাপ ৪. যাচাই-সংশোধন চক্র ডিস্কের স্মৃতিসহ

কনটেক্সট উইন্ডো দীর্ঘ কাজ টিকিয়ে রাখতে পারে না: সেটি ভরে যায়, সংকুচিত হয়, সেশন পুনরায় শুরু হয়। তাই অগ্রগতি এজেন্টের «মাথায়» নয়, ফাইলে থাকা দরকার: স্ট্যাটাসসহ কাজের তালিকা, কী করা হয়েছে ও কী কাজ করেনি তার লগ, git ইতিহাস।

একটি ভালো মডেল — «ক্র্যাঙ্ক যা শুধু সামনের দিকে নড়ে», যেমন Andrej Karpathy-র autoresearch প্রকল্পে, যেখানে এজেন্ট রাতারাতি শত শত ML পরীক্ষা চালায়। প্রতিটি পুনরাবৃত্তি: পদ্ধতি পড়া, একটি অনুমান দেওয়া, একটি পরিবর্তন করা, নির্দিষ্ট সময়ের বাজেটে পরীক্ষা চালানো, বেসলাইনের সাথে তুলনা। উন্নতি হলে কমিট, না হলে রোলব্যাক। ফলাফল লগে লেখা হয়, তারপর পরের অনুমান।

এই স্কিম থেকে দুটি সিদ্ধান্ত নিন:

  • প্রতি চেষ্টার জন্য নির্দিষ্ট বাজেট। চেষ্টাগুলো তুলনীয় হয়, এবং একটি ব্যর্থ অনুমান পুরো রাত খেয়ে ফেলে না।
  • মূল শাখায় শুধু উন্নতি। যা কাজ করেনি তা রোলব্যাক হয়, পাশে জমা হয় না। git log একটি যাচাইকৃত কাজের লগ হয়ে ওঠে, যা সকালে সহজে পড়া যায়।

এই স্কিমে ফাইল অনুযায়ী ভূমিকাও ভাগ করা: অবকাঠামো ও মূল্যায়ন কেউ বদলায় না, পরীক্ষার কোড শুধু এজেন্ট বদলায়, পদ্ধতি শুধু মানুষ বদলায়। এজেন্ট ফলাফল মাপার উপায় বদলে «উন্নতি» দেখাতে পারে না।

ধাপ ৫. কে ঠিক করে যে কাজ শেষ: আলাদা মূল্যায়নকারী

যখন মানুষ লুপে থাকে না, তখন এজেন্টের নিজের মূল্যায়নই একমাত্র ব্রেক হয় — আর এই ব্রেক কাজ করে না। যে এজেন্ট এইমাত্র কোড লিখেছে, সে তা সঠিক ভাবতে প্রবণ: সে তার যুক্তি দেখেছে এবং «জানে» সে কী চেয়েছিল।

জেনারেটর ও মূল্যায়নকারী ভাগ করার নিয়ম:

  • যে সেশন কাজ করেছে, সে মূল্যায়ন করে না। Claude Code-এ এর জন্য সাবএজেন্ট সুবিধাজনক: প্রতিটির নিজস্ব কনটেক্সট আছে।
  • মূল্যায়নকারী পরিষ্কার কনটেক্সট পায়: প্রয়োজনীয়তা, ডিফ ও চালনার ফলাফল — এবং কর্মীর কোনো যুক্তি নয়।
  • সম্ভব হলে মূল্যায়নকারী ভিন্ন মডেল, অন্তত ভিন্ন ভূমিকার প্রম্পট।
  • রুব্রিক অনুযায়ী রায় দেওয়া হয়, এবং প্রতিটি পয়েন্ট প্রমাণ দেখায়: টেস্টের লাইন, কমান্ডের আউটপুট, ডিফের স্থান।

যান্ত্রিক যাচাই তবুও প্রাথমিক। মূল্যায়নকারী সেই জিনিসগুলোর জন্য, যা টেস্ট ধরতে পারে না: প্রয়োজনীয়তা ভুলভাবে বোঝা, কোড অনুযায়ী টেস্ট বানানো, কাজের সীমা পেরিয়ে পরিবর্তন।

থামার মানদণ্ড: কখন এজেন্টের হার মানা উচিত

থামার শর্ত ছাড়া চক্র ঘুরতেই থাকে — এটি সময়ের ব্যাপার। ন্যূনতম সেট:

মানদণ্ডকী ধরে
যাচাইয়ে লক্ষ্য পূরণস্বাভাবিক সমাপ্তি
একটি কাজের চেষ্টার সীমাএকই জায়গায় আটকে থাকা
মোট সময়, ধাপ বা টাকার বাজেটঅন্তহীন কাজ ও API-র বিল
N পুনরাবৃত্তিতে কোনো অগ্রগতি নেইকাজ চলছে, কিন্তু মেট্রিক স্থির
মেট্রিকের পশ্চাদগতিএকটি ঠিক করতে গিয়ে অন্যটি ভাঙা
এসকালেশন ট্রিগারযেসব কাজ চক্রকে বিশ্বাস করা যায় না

অগ্রগতি পরীক্ষা করুন বিষয়বস্তু দিয়ে, পুনরাবৃত্তির সংখ্যা দিয়ে নয়: «৪০টি পুনরাবৃত্তি হয়েছে» কিছুই বোঝায় না, «সবুজ ফিচারের সংখ্যা ৫ থেকে ৯ হয়েছে» বোঝায়। কাজ আটকে গেলে সেটি মানুষকে দেওয়ার সংকেত, আবার চক্র চালানোর নয়।

স্বয়ংক্রিয় এজেন্টের ঝুঁকি, যা সহজে চোখে পড়ে না

স্পষ্ট ঝুঁকি — মুছে যাওয়া ফাইল ও ভাঙা বিল্ড — স্যান্ডবক্স ও অনুমতি দিয়ে বন্ধ করা যায়। বিপজ্জনক হলো নীরব খরচ, যা সপ্তাহের পর সপ্তাহ জমে:

  • যাচাইয়ের ঋণ। «ঠিক মনে হচ্ছে» বলা হয়, «যন্ত্র দিয়ে নিশ্চিত» নয়। প্রতিষেধক — শুধু যান্ত্রিকভাবে যাচাইযোগ্য থামার শর্ত, কোনো ব্যতিক্রম ছাড়া।
  • বোঝার ক্ষয়। আপনি নিজের কোড কম বোঝেন। প্রতিষেধক — ডিফ পড়া বাধ্যতামূলক: চক্রের গতি যেন আপনার পড়ার গতির বেশি না হয়।
  • জ্ঞানগত আত্মসমর্পণ। ফলাফল নিয়ে আপনার নিজের মত থাকে না, সবকিছু মেনে নেন। সৎভাবে গণনা করা ভালো, কতবার «পরে দেখব» বলেছেন এবং দেখেননি।
  • কনটেক্সট ফুলে ওঠা। দীর্ঘ চালনা ইতিহাস জমায়, এবং প্রতিটি পরের ধাপ আরও দামি ও দুর্বল হয়। কনটেক্সট সংকোচন ও বাইরের স্মৃতি প্রথম চক্র থেকেই দরকার, সব ভেঙে পড়ার পরে নয়।

প্রথম স্বয়ংক্রিয় চক্র এক সন্ধ্যায় কীভাবে চালাবেন

«এজেন্ট নিজেই কাজ খুঁজে বের করে করবে» দিয়ে শুরু করবেন না। স্বায়ত্তশাসন ধাপে ধাপে বাড়ে: প্রথমে একটি কাজ, একটি লক্ষ্য ও একটি থামার শর্ত দিয়ে; তারপর একটি সময়সূচির স্বয়ংক্রিয়করণ; তারপর একটি বিচ্ছিন্ন ওয়ার্কিং কপিতে আলাদা সম্পাদক ও যাচাইকারী; এবং শুধু শেষে এমন চক্র যা নিজে কাজ খুঁজে বের করে এবং সমান্তরালে চলে।

  1. এমন একটি কাজ খুঁজুন যা আপনি হাতে সপ্তাহে কমপক্ষে দুবার করেন এবং যার যাচাইযোগ্য সমাপ্তি আছে।
  2. লক্ষ্য, যাচাই ও থামার শর্ত লিখুন — তিন লাইন।
  3. আলাদা worktree তৈরি করুন এবং অনুমতি সেট করুন: টেস্ট ও ফাইল সম্পাদনা অনুমোদিত, push ও সিক্রেট নয়।
  4. একটি অগ্রগতি ফাইল বানান এবং এজেন্টকে প্রতিটি পুনরাবৃত্তির পর তা আপডেট করতে বলুন।
  5. ভূমিকা আলাদা করুন: সম্পাদক লেখে, যাচাইকারী আলাদা কনটেক্সটে ডিফ মূল্যায়ন করে।
  6. একটি সামগ্রিক সীমা দিন এবং প্রথমবার এক ঘণ্টা পরে ফলাফল দেখুন, সকালে নয়।

সারসংক্ষেপ

স্বয়ংক্রিয় AI এজেন্ট ঠিক ততটুকুই নির্ভরযোগ্য, যতটুকু তার সীমারেখা নির্ভরযোগ্য: স্যান্ডবক্স যেখানে ভুলের কোনো দাম নেই, ন্যূনতম অনুমতি, যন্ত্র-যাচাইযোগ্য লক্ষ্য, ডিস্কের স্মৃতি, আলাদা মূল্যায়নকারী এবং কঠোর থামার শর্ত সহ মানুষের কাছে এসকালেশন। এগুলো ছাড়া দীর্ঘ চালনা সময় বাঁচায় না, বরং পরে জমে থাকা জঞ্জাল পরিষ্কার করার কাজ হয়ে দাঁড়ায়। program.md থেকে স্বতন্ত্র মূল্যায়নকারী পর্যন্ত একটি বাস্তব প্রকল্পে এমন চক্র কীভাবে গড়তে হয়, তা harness engineering কোর্সে হাতে-কলমে শেখানো হয়।

সাধারণ প্রশ্ন

তত্ত্বাবধান ছাড়া রাতে এজেন্ট নিজের ল্যাপটপে চালানো যাবে?

যাবে, যদি সে কন্টেইনার বা আলাদা ওয়ার্কিং কপিতে আবদ্ধ থাকে, চাবি ও প্রোডাকশন ডেটায় প্রবেশাধিকার না থাকে, সীমিত অনুমতি থাকে এবং বাজেটের সামগ্রিক সীমা থাকে। আপনার সিক্রেটসহ মেশিনে প্রশ্ন ছাড়া চালানো মোড খারাপ ধারণা।

এজেন্টকে সারা রাত কাজ করালে কত খরচ হয়?

এটি মডেল ও কনটেক্সটের দৈর্ঘ্যের ওপর নির্ভর করে, তাই আগে থেকে ধাপ, সময় বা টাকায় বাজেট ঠিক করুন। কনটেক্সট ফুলে ওঠার কারণে পরের ধাপ আগের ধাপের চেয়ে দামি হয়, তাই সংকোচন ও বাইরের স্মৃতি টাকাও বাঁচায়।

কেন এজেন্টকে নিজে ঠিক করতে দেওয়া যায় না যে কাজ শেষ হয়েছে?

এজেন্ট নিজের যুক্তি দেখে এবং ফলাফলকে সঠিক ভাবতে প্রবণ। প্রস্তুতি নিশ্চিত করবে টেস্ট ও একটি মূল্যায়নকারী, যে পরিষ্কার কনটেক্সটে শুধু প্রয়োজনীয়তা, ডিফ ও যাচাইয়ের ফলাফল দেখে।

সকালে স্বয়ংক্রিয় চালনার ফলাফল নিয়ে কী করবেন?

অগ্রগতির লগ ও শাখার git log পড়ুন, ডিফ দেখুন এবং blocked অবস্থার কাজগুলো বিশ্লেষণ করুন। মূল শাখায় শুধু সেটুকুই মার্জ করুন, যা আপনি পড়েছেন ও বুঝেছেন।

স্বয়ংক্রিয় এজেন্ট cron-এর চেয়ে কীভাবে আলাদা?

সময়সূচির চালনা প্রতিবার নির্দেশনা শূন্য থেকে শুরু করে — এটি সময়-ভিত্তিক চক্র। স্বয়ংক্রিয় এজেন্ট লক্ষ্য অনুযায়ী কাজ করে: অগ্রগতি ফাইলে মনে রাখে এবং লক্ষ্য পূরণ হলে বা বাজেট শেষ হলে থামে।

ভিডিওতে বিষয়টি শিখুন

“Harness Engineering: инженерия надёжности AI-агентов” কোর্সে বিষয়টি অনুশীলনসহ বিস্তারিত শেখানো হয়েছে।

কোর্সে যান