Engenharia
एक कन्वर्सेशनल AI एजेंट अंदर से कैसे काम करता है
Engenharia
12 min পড়ার সময়
১ জুন, ২০২৬

एक कन्वर्सेशनल AI एजेंट अंदर से कैसे काम करता है

OpenClaw में एक कन्वर्सेशन टर्न के 6 चरण — वास्तविक लेटेंसी, प्रति कन्वर्सेशन लागत और हैलुसिनेशन के खिलाफ 4 रक्षा पंक्तियां।

Equipe OpenClaw

Equipe OpenClaw · Time de Engenharia & Produto

A Equipe OpenClaw é formada por engenheiros, designers e especialistas em IA dedicados a construir a melhor plataforma de agentes conversacionais para negócios brasileiros. Combinamos expertise…


একটি কথোপকথন AI এজেন্ট ভিতর থেকে কীভাবে কাজ করে (OpenClaw আর্কিটেকচার)

একটি কথোপকথন AI এজেন্ট কীভাবে কাজ করে বাস্তবে, পালা অনুযায়ী? এই পোস্টটি OpenClaw-এর ব্ল্যাক বক্স খুলে দেয়: যখন ক্লায়েন্টের বার্তা WhatsApp-এ আসে সেই মুহূর্ত থেকে এজেন্ট যে টেক্সট ফেরত লেখে তা পর্যন্ত। এটি প্রযুক্তিগত হবে। এটি মূল্যবান যদি আপনি পণ্য আর্কিটেকচার নির্ধারণ করেন, যদি আপনি একটি সমাধান কিনতে যাচ্ছেন এবং গভীরতা মূল্যায়ন করতে চান, অথবা যদি আপনি কথোপকথনের পিছনে কী ঘটছে তা জানতে পছন্দ করেন।

TL;DR: প্রতিটি পালা ৬টি পর্যায়ের মধ্য দিয়ে যায় — ইনজেস্ট, প্রসঙ্গ সমাধান, স্কিল নির্বাচন, পরবর্তী কর্ম সিদ্ধান্ত, গার্ড-রেল সহ সম্পাদন, মেমরি সংরক্ষণ। সম্পূর্ণ চক্র Cloudflare-এর এজে <২ সেকেন্ডে চলে, কোনো নির্দিষ্ট সার্ভার ছাড়াই।


কেন আর্কিটেকচার গুরুত্বপূর্ণ

কথোপকথন এজেন্ট যা একটি ডেমোতে কাজ করছে বলে মনে হয় কিন্তু প্রোডাকশনে ভেঙে যায় সাধারণত এই ৪টি সমস্যার একটি থাকে:

  1. উচ্চ লেটেন্সি — ক্লায়েন্ট উত্তরের জন্য ৮ সেকেন্ড অপেক্ষা করে, কথোপকথন মারা যায়।
  2. অনিয়ন্ত্রিত হ্যালুসিনেশন — এজেন্ট দাম, সময়, নীতি বানিয়ে ফেলে।
  3. হারানো প্রসঙ্গ — ক্লায়েন্ট ২ দিন পরে ফিরে আসে এবং এজেন্ট সবকিছু "ভুলে যায়"।
  4. অনিয়ন্ত্রিত খরচ — প্রতিটি দীর্ঘ কথোপকথন প্রম্পট পূর্ণ করে এবং আপনি টোকেনে প্রচুর অর্থ প্রদান করেন।

এই ৪টিই আর্কিটেকচার পছন্দ, মডেলের সীমাবদ্ধতা নয়। OpenClaw এই ৪টি এড়াতে তৈরি করা হয়েছিল — এবং বোঝার পথ হল একটি পালার চক্র দেখা।


একটি পালার চক্র (৬টি পর্যায়)

কল্পনা করুন যে ক্লায়েন্ট এইমাত্র বার্তা পাঠিয়েছে "শনিবার সকালে বুক করতে চাই"। "received" এবং এজেন্টের উত্তরের মধ্যে কী ঘটে?

পর্যায় ১ — ইনজেস্ট (এজ ওয়ার্কার, <৫০ms)

WhatsApp থেকে বার্তা Meta-র ওয়েবহুকের মাধ্যমে সরাসরি ভৌগোলিকভাবে নিকটতম পয়েন্ট অফ প্রেজেন্স (PoP)-এ একটি Cloudflare Worker-এ আসে। ব্রাজিলে, এর অর্থ সাও পাওলো বা রিও, নেটওয়ার্ক লেটেন্সি < ২০ms।

ওয়ার্কার তিনটি কাজ করে:

  1. ওয়েবহুকের স্বাক্ষর যাচাই করে (WABA-র গোপন বিষয়ের বিরুদ্ধে HMAC)।
  2. রিসিভারের ফোন নম্বর দ্বারা টেন্যান্ট সনাক্ত করে (to_number দ্বারা মাল্টি-টেন্যান্ট)।
  3. পেলোড নর্মালাইজ করে — অডিও ট্রান্সক্রিপশন হয়ে যায়, ছবি বর্ণনা হয়ে যায়, অবস্থান {lat,lng} হয়ে যায়, টেক্সট যেমন আছে তেমনই থাকে।

পর্যায় ১-এর শেষে আপনার কাছে পরবর্তী ধাপের জন্য প্রস্তুত একটি অবজেক্ট {tenant_id, conversation_id, user_message} আছে।

পর্যায় ২ — প্রসঙ্গ সমাধান (D1 + KV, ~৮০ms)

সিদ্ধান্ত নেওয়ার আগে এজেন্টের ৩টি প্রসঙ্গের অংশ প্রয়োজন:

  • কথোপকথনের সাম্প্রতিক ইতিহাস (শেষ N প্রাসঙ্গিক টার্ন)।
  • ক্লায়েন্টের দীর্ঘমেয়াদী মেমরি (পছন্দ, ক্রয় ইতিহাস, নোট)।
  • এজেন্ট স্টেট (পার্সোনা, সক্রিয় স্কিল, নিয়ম)।

সবকিছু D1 (Cloudflare-এর ডিস্ট্রিবিউটেড SQLite) থেকে আসে। D1 ঐতিহ্যবাহী Postgres/Mongo প্রতিস্থাপন করে — রক্ষণাবেক্ষণের জন্য কোনো ডাটাবেস সার্ভার নেই, ওয়ার্কার থেকে কয়েক ms-এ অ্যাক্সেস, tenant_id দ্বারা মাল্টি-টেন্যান্ট।

মূল বিষয়: আমরা প্রম্পটে সম্পূর্ণ কথোপকথন লোড করি না। OpenClaw-এর Memory Manager v2 (আমাদের অভ্যন্তরীণ ডকুমেন্টেশনে বর্ণিত) শুধুমাত্র বর্তমান টার্নের জন্য প্রাসঙ্গিক টার্নগুলি নির্বাচন করে (শেষ N + উচ্চ শব্দার্থিক প্রাসঙ্গিকতার N)। এটি 100+ টার্নের কথোপকথনেও টোকেন খরচ পূর্বাভাসযোগ্য রাখে।

পর্যায় 3 — স্কিল নির্বাচন (পলিসি ইঞ্জিন, ~20ms)

প্রতিটি এজেন্টের কাছে উপলব্ধ স্কিল-এর একটি সেট থাকে — ফাংশন যা সে আহ্বান করতে পারে। উদাহরণ: consultar_calendario, criar_evento, gerar_link_pagamento, consultar_pedido, chamar_humano

"quero marcar pra sábado de manhã" বার্তা দেওয়া হলে, পলিসি ইঞ্জিন ফিল্টার করে:

  • সনাক্তকৃত উদ্দেশ্যের সাথে সামঞ্জস্যপূর্ণ স্কিল (সময়সূচী)।
  • কথোপকথনের এই পর্যায়ের জন্য অনুমোদিত স্কিল (সব স্কিল সবসময় উপলব্ধ নয়)।
  • এই টেন্যান্ট সক্রিয় করেছে এমন স্কিল (ক্যালেন্ডার শুধুমাত্র তখনই দেখা যায় যদি টেন্যান্ট ইন্টিগ্রেট করে থাকে)।

শেষে আপনি মডেলে পাস করার জন্য একটি ছোট স্কিল সাবসেট পান — সম্ভাব্য 50টি নয়, শুধুমাত্র 4টি যা এখানে অর্থপূর্ণ। এটি মডেলের ভুল স্কিল আহ্বান করার সম্ভাবনা ব্যাপকভাবে হ্রাস করে।

পর্যায় 4 — সিদ্ধান্ত (LLM কল, 400-1200ms)

এখন মডেল প্রবেশ করে। OpenClaw একটি ফ্রন্টিয়ার LLM-এ (Anthropic Claude, OpenAI GPT, Google Gemini — টেন্যান্ট দ্বারা কনফিগারযোগ্য) একটি একক কল করে:

  • System prompt = এজেন্টের পার্সোনা + নিয়ম + উপলব্ধ স্কিল।
  • History = পর্যায় 2-এ নির্বাচিত টার্ন।
  • User message = বর্তমান টার্নের বার্তা।

মডেল দুটি জিনিসের একটি উত্তর দেয়:

  • চূড়ান্ত উত্তর (ক্লায়েন্টের জন্য সরাসরি টেক্সট)।
  • Tool call (প্যারামিটার সহ একটি নির্দিষ্ট স্কিল চালানোর অনুরোধ)।

"quero marcar pra sábado de manhã" উদাহরণে, মডেল সাধারণত রিটার্ন করে:

{
  "tool": "consultar_calendario",
  "args": { "date_range": "2026-04-19 06:00 to 12:00" }
}

পর্যায় 5 — গার্ড-রেল সহ এক্সিকিউশন (পরিবর্তনশীল, ~100-500ms)

স্কিল মডেলে চলে না। এটি আমাদের কোডে চলে, যা:

১. প্যারামিটার যাচাই করে (date_range সঠিক ফরম্যাটে আছে? টেন্যান্টের নিয়মের মধ্যে আছে?)। ২. অনুমতি পরীক্ষা করে (এই এজেন্টের এই ক্যালেন্ডার দেখার অধিকার আছে?)। ৩. কল সম্পাদন করে (এক্ষেত্রে Google Calendar API)। ৪. স্ট্রাকচার্ড ফলাফল রিটার্ন করে মডেলের কাছে।

এটা কেন গুরুত্বপূর্ণ? কারণ মডেল কখনো ফলাফল তৈরি করে না। যদি ক্যালেন্ডার [10h, 11h] রিটার্ন করে, ঠিক সেটাই পরবর্তী কলে যায়। যদি স্কিল ব্যর্থ হয়, মডেল জানে যে এটি ব্যর্থ হয়েছে। এজেন্ট "বানিয়ে বলবে" যে ৯টায় সময় আছে যখন নেই — এমন ঝুঁকি শূন্য।

যেসব ক্ষেত্রে সংবেদনশীল তথ্য জড়িত (মূল্য, সময়সীমা, ক্লায়েন্টের নাম), পাইপলাইন tool call বাধ্যতামূলক করে — মডেলকে নিজের "জ্ঞান" থেকে উত্তর দিতে দেয় না। এটি বাণিজ্যিক এজেন্টদের মধ্যে সবচেয়ে সাধারণ হ্যালুসিনেশনের শ্রেণী নির্মূল করে

পর্যায় ৬ — প্রতিক্রিয়া এবং পার্সিস্টেন্স (~৫০ms)

স্কিলের ফলাফল হাতে পেয়ে, মডেল দ্বিতীয় কল করে — এখন ক্লায়েন্টের জন্য চূড়ান্ত প্রতিক্রিয়া তৈরি করতে। উদাহরণ:

"শনিবার ১০টা এবং ১১টায় আমার সময় আছে। কোনটা পছন্দ করবেন?"

সমান্তরালভাবে, ওয়ার্কার:

১. WhatsApp API-এর মাধ্যমে বার্তা পাঠায়। ২. D1-এ সম্পূর্ণ টার্ন (user + assistant + tool calls + duration) পার্সিস্ট করে। ৩. যদি টার্ন নতুন তথ্য তৈরি করে (যেমন: "ক্লায়েন্ট শনিবার পছন্দ করে") তাহলে দীর্ঘমেয়াদী মেমরি আপডেট করে। ৪. অবজারভেবিলিটি ইভেন্ট নির্গত করে (লেটেন্সি মেট্রিক, টোকেন খরচ, এস্কেলেশন রেট)।

এসবকিছু সমান্তরালভাবে চলে। পার্সিস্টেন্স বার্তা পাঠানো ব্লক করে না — ক্লায়েন্ট D1-এর জন্য অপেক্ষা করে না।


হ্যালুসিনেশনের বিরুদ্ধে প্রতিরক্ষা কোথায়

যে এজেন্ট প্রোডাকশনে হ্যালুসিনেট করে সে দ্রুত বিশ্বাস হারায়। OpenClaw-এর ৪টি প্রতিরক্ষা লাইন আছে:

১. বাধ্যতামূলক Source-of-truth। তথ্যভিত্তিক ডেটা (মূল্য, সময়, নাম) সবসময় স্কিল থেকে আসে, কখনো একা মডেল থেকে নয়। ২. সংবেদনশীল ডেটায় দ্বিগুণ যাচাই। অ্যাপয়েন্টমেন্ট পার্সিস্ট করার আগে ক্লায়েন্টের সাথে নিশ্চিত করা হয়। অ্যাক্সেস দেওয়ার আগে পেমেন্ট নিশ্চিত করা হয়। ৩. স্পষ্ট নেগেটিভ নিয়ম। প্রতিটি এজেন্টের পার্সোনায় "কখনো X, Y, Z বানাবেন না" অন্তর্ভুক্ত থাকে — মডেল মেনে চলে। ৪. মানুষের কাছে ফলব্যাক। যখন কোনো স্কিল প্রশ্নটি কভার করে না, এজেন্ট বলে "আমাকে টিমের সাথে চেক করতে দিন" এবং একটি টিকিট খোলে — অনুমান করে না।

গত ৬ মাসে আমরা যে অডিট করেছি (ম্যানুয়ালি পর্যালোচনা করা প্রকৃত কথোপকথন), তথ্যভিত্তিক হ্যালুসিনেশনের হার ০.৩% টার্নের নিচে ছিল — এবং প্রায় সব ক্ষেত্রেই কনফিগের কারণে (টেন্যান্ট প্রাসঙ্গিক স্কিল সক্ষম করতে ভুলে গেছে), মডেলের ত্রুটি নয়।


প্রতি কথোপকথনে খরচ

ভালো আর্কিটেকচার অদৃশ্য থাকে যতক্ষণ না আপনি বিল দেখেন। যেহেতু প্রতিটি টার্ন 1-2টি LLM কল + D1-এ লুকআপ করে, তাই সম্পূর্ণ কথোপকথনের (10-15 টার্ন) সাধারণ খরচ হয়:


Equipe OpenClaw

প্রকাশিত ১ জুন, ২০২৬

আরও পড়ুন