চারটি স্বয়ংক্রিয় AI এজেন্ট এখন একটি সফটওয়্যার গ্লিচ (glitch) শনাক্ত করতে পারে, ত্রুটিপূর্ণ কোড এডিট করতে পারে এবং সমাধান নিশ্চিত করতে পারে—সবই এক মিনিটেরও কম সময়ে, SigNoz হ্যাকাথনের জন্য তৈরি একটি নতুন observability-driven workflow-এর কল্যাণে।

AgentOps নামক এই সিস্টেমটি SigNoz-এ এরর স্পাইক (error spikes) পর্যবেক্ষণ করে, প্রাসঙ্গিক লগ (logs) এবং ট্রেস (traces) সংগ্রহ করে, দায়ী নির্দিষ্ট ফাইল এবং লাইনটি চিহ্নিত করে, একটি স্যান্ডবক্সে (sandbox) সোর্স কোড এডিট করে এবং তারপর বাগটি চলে গেছে তা প্রমাণ করতে রিকোয়েস্টটি পুনরায় চালায়। প্রতিটি পূর্ণ চক্র ৩০-৬০ সেকেন্ডের মধ্যে শেষ হয় এবং পুরো প্রক্রিয়াটি কোনো মানুষের প্রম্পট ছাড়াই চলে।

AI এজেন্টদের জন্য observability কেন গুরুত্বপূর্ণ

প্রথাগত SRE পদ্ধতিতে লগ, মেট্রিক্স এবং ডিস্ট্রিবিউটেড ট্রেসকে একটি সার্ভিসের 'চোখ' হিসেবে বিবেচনা করা হয়। যখন কোনো রিকোয়েস্ট ব্যর্থ হয়, একজন ইঞ্জিনিয়ার সেই ত্রুটিপূর্ণ কম্পোনেন্টটি খুঁজে পেতে ট্রেস অনুসরণ করেন। একই নীতি এখন AgentOps-এ ব্যবহৃত হচ্ছে, তবে এখানে পর্যবেক্ষণ করা হচ্ছে সরাসরি AI এজেন্টকেই।

এজেন্ট যে টুলগুলো ব্যবহার করে—তা ল্যাঙ্গুয়েজ মডেল কল হোক, ফাইল-সিস্টেম এডিট হোক বা টেস্ট রানার—প্রতিটিই ট্রেসে একটি span তৈরি করে। একটি span শুরুর সময়, স্থায়িত্ব এবং সফলতার স্ট্যাটাস রেকর্ড করে, যাতে এজেন্ট দেখতে পারে প্রতিটি রিজনিং স্টেপ (reasoning step) কতক্ষণ সময় নিয়েছে এবং সেটি সফল হয়েছে কি না। এই span গুলোকে একত্রে জুড়ে দিয়ে এজেন্ট তার নিজস্ব চিন্তাপ্রক্রিয়ার একটি পূর্ণাঙ্গ চিত্র তৈরি করে, ঠিক যেভাবে একজন মানুষ ম্যানুয়ালি ডিবাগিং করার সময় করেন।

মূল পরিবর্তনটি হলো "রিপোর্টিং লেয়ার হিসেবে observability" থেকে "পারসেপশন (perception) বা উপলব্ধি হিসেবে observability"-তে রূপান্তর। AgentOps ট্রেস ডেটা এজেন্টদের কাছে ফেরত পাঠায়, যা তাদের রিয়েল-টাইমে নিজেদের কাজের বিষয়ে যুক্তি বা রিজনিং করতে সাহায্য করে। এর ফলে এমন একটি লুপ তৈরি হয় যেখানে AI কেবল একটি হাইপোথিসিস (hypothesis) তৈরিই করে না, বরং সমস্যা শনাক্ত করতে যে টেলিমেট্রি (telemetry) ব্যবহার করেছিল, তার মাধ্যমেই সেটি যাচাইও করে।

চার-ধাপের workflow

  1. Monitor – একটি লাইটওয়েট ওয়াচার (watcher) SigNoz-এ নতুন রিপোর্ট করা এররগুলো স্ক্যান করে।
  2. Diagnose – এজেন্ট সংশ্লিষ্ট লগ এবং ট্রেস সংগ্রহ করে, স্ট্যাক (stack) এক্সট্র্যাক্ট করে এবং ব্যর্থতার কারণ হিসেবে দায়ী সোর্স ফাইল ও লাইন নম্বরটি আলাদা করে।
  3. Fix – একটি স্যান্ডবক্সড ফাইল-সিস্টেম সার্ভার ব্যবহার করে, এজেন্ট চিহ্নিত লাইনে একটি প্যাচ (patch) লেখে। স্যান্ডবক্সটি কঠোর পারমিশন নিশ্চিত করে এবং এডিটটি যদি পলিসি লঙ্ঘন করে তবে স্বয়ংক্রিয়ভাবে রোলব্যাক (rollback) করে।
  4. Verify – এজেন্ট প্যাচ করা কোডের বিপরীতে মূল রিকোয়েস্টটি পুনরায় পাঠায়। যদি ট্রেসটি একটি সফল রান দেখায়, তবে ফিক্সটি কমিট করা হয়; অন্যথায় এজেন্ট পুনরায় চেষ্টা করে।

প্রতিটি ধাপ একই সেট এজেন্ট দ্বারা পরিচালিত হয়, যেখানে প্রতিটি এজেন্ট একটি স্বয়ংক্রিয় মাইক্রো-সার্ভিস হিসেবে কাজ করে। পুরো চেইনটি OpenTelemetry-compatible span-এর মাধ্যমে পর্যবেক্ষণ করা সম্ভব, যা SigNoz গ্রহণ করে এবং ভিজ্যুয়ালাইজ করে।

নির্ভরযোগ্যতা নিয়ে অর্জিত কিছু শিক্ষা

Error clarity

একটি সাধারণ “failed” স্ট্যাটাস কিছুই জানায় না। টিমটি এখানে বিস্তারিত ব্যর্থতার কারণ যোগ করেছে—যেমন, “wrong hypothesis” বা “patch broke process”—যাতে পরবর্তী এজেন্টরা সিদ্ধান্ত নিতে পারে যে তাদের পুনরায় চেষ্টা করা উচিত, পিছিয়ে আসা উচিত নাকি কাজ বন্ধ করে দেওয়া উচিত। এটি মানুষের করা পোস্ট-মর্টেম (post-mortem) পদ্ধতিতে রুট কজ (root cause) চিহ্নিত করার পদ্ধতির মতোই।

Data latency

টেলিমেট্রি তাৎক্ষণিকভাবে প্রদর্শিত হয় না। এজেন্টরা এখন একটি ছোট বিরতি এবং স্যানিটি চেক (sanity check) অন্তর্ভুক্ত করে, যাতে তারা কোনো ফিক্স নিশ্চিত করার আগে প্রয়োজনীয় লগগুলো এসে গেছে তা নিশ্চিত করতে পারে। এই সুরক্ষা ব্যবস্থা না থাকলে, একটি এজেন্ট অসম্পূর্ণ ডেটার ওপর ভিত্তি করে কাজ করতে পারে এবং ভুল ফলাফল (false positive) দিতে পারে।

Security boundaries

একটি AI-কে কোড লিখতে দেওয়া প্রিভিলেজ এসকেলেশন (privilege escalation) ঝুঁকির কারণ হতে পারে। স্যান্ডবক্সটি একটি ডেডিকেটেড ফাইলসিস্টেম সার্ভারের পেছনে চলে যা রাইট স্কোপকে (write scope) শুধুমাত্র টার্গেট রিপোজিটরিতে সীমাবদ্ধ রাখে এবং টেস্ট ব্যর্থ হলে স্বয়ংক্রিয়ভাবে পূর্বের অবস্থায় ফিরে যায়। এই কন্টেইনমেন্ট মডেলটি AI-এর ক্ষমতাকে নিয়ন্ত্রণে রাখে।

Token limits

লার্জ ল্যাঙ্গুয়েজ মডেলগুলো API টোকেন ব্যবহার করে এবং তদন্ত চলাকালীন দৈনিক কোটা শেষ হয়ে যেতে পারে। AgentOps প্রতিটি ইনসিডেন্টের জন্য টোকেন ব্যবহার ট্র্যাক করে এবং একটি নির্দিষ্ট সীমা অতিক্রম করলে পরবর্তী কলগুলো কমিয়ে দেয় (throttle), যাতে কোটা শেষ হয়ে যাওয়ার কারণে একের পর এক ফিক্স ব্যর্থ হওয়ার ঘটনা না ঘটে।

ডেমোটি যা প্রমাণ করেছে

টিমটি কোডবেসে আগে কখনো দেখা না দেওয়া একটি সম্পূর্ণ নতুন বাগ ইনজেক্ট করেছিল। AgentOps সেই অ্যানোমালি (anomaly) শনাক্ত করে, ঠিক সেই লাইনটি খুঁজে বের করে, একটি সংশোধনী এডিট তৈরি করে, স্যান্ডবক্সে প্যাচটি প্রয়োগ করে এবং রিকোয়েস্টটি সফল হয়েছে কি না তা যাচাই করে—সবই কোনো ম্যানুয়াল কোড পরিবর্তন বা নতুন প্রম্পট ছাড়াই। এন্ড-টু-এন্ড সময় এক মিনিটের নিচে ছিল, যা রিপোর্ট করা ৩০-৬০ সেকেন্ডের সময়ের সাথে মিলে যায়।

Counter-point: autonomy isn’t a silver bullet

What to watch next

  • মডেল-নিরপেক্ষ টেলিমেট্রি – যেহেতু আরও বেশি ভেন্ডর OpenTelemetry-সামঞ্জস্যপূর্ণ স্প্যান (spans) প্রকাশ করছে, এই পদ্ধতিটি ভেন্ডর-নিরপেক্ষ হয়ে উঠতে পারে, যা বিভিন্ন ধরণের (heterogeneous) স্ট্যাকের মধ্যে এর গ্রহণ সহজতর করবে।
  • পলিসি-চালিত গার্ডরেইলস – কনফিগারযোগ্য পলিসি অন্তর্ভুক্ত করা, যা নির্ধারণ করবে একটি এজেন্ট কোন ফাইলগুলো এডিট করতে পারবে অথবা একটি কমিট করার আগে কোন টেস্ট স্যুটগুলো পাস করতে হবে, তা গভর্নেন্স সংক্রান্ত উদ্বেগগুলো নিরসন করবে।
  • খরচ-সচেতন টোকেন বাজেটিং – ইনসিডেন্টের গুরুত্বের ওপর ভিত্তি করে ডায়নামিক টোকেন বরাদ্দ কোটা শেষ হওয়া রোধ করতে পারে এবং একই সাথে উচ্চ-প্রভাবশালী বাগগুলো সামলানোর সক্ষমতা বজায় রাখতে পারে।

AgentOps দেখায় যে বাগ-ফিক্স সাইকেলটি ৩০-৬০ সেকেন্ড সময় নিতে পারে। এই পরীক্ষাটি একটি প্রুফ-অফ-কনসেপ্ট প্রদর্শন করে যে, অবজারভেবিলিটি (observability) স্বায়ত্তশাসিত সফটওয়্যার অ্যাসিস্ট্যান্টদের দ্বারা ব্যবহার করা যেতে পারে।